/* Version 14
   Refactored from Version 12.
   Design is preserved; structure and assets were separated for maintainability.

   File layout:
   - assets/css/main.css
   - assets/js/main.js
   - assets/images/*
*/

:root {
      --green: #01875f;
      --accent: #01875f;
      --accent-strong: #0f9d58;
      --accent-soft: rgba(1, 135, 95, .08);
      --accent-soft-border: rgba(1, 135, 95, .24);
      --surface: #ffffff;
      --surface-elevated: #ffffff;
      --icon-color: var(--muted);
      --icon-active: #01875f;
      --button-text-on-accent: #ffffff;
      --track-soft: #e6f4ea;
      --bar-track: #e0e0e0;
      --green-dark: #0f9d58;
      --button-muted-text: #0b3d20;
      --text: #202124;
      --muted: #5f6368;
      --line: #e0e0e0;
      --bg: #f1f3f4;
      --page-x: clamp(14px, 4vw, 18px);
      --page-top: clamp(18px, 4.8vw, 24px);
      --frame-width: 430px;
      --card-radius: 20px;
    }

    * { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      min-height: 100%;
    }

    body {
      margin: 0;
      min-height: 100dvh;
      background: var(--bg);
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
    }

    img {
      max-width: 100%;
    }

    button,
    input,
    textarea,
    select {
      font: inherit;
    }

    .viewport {
      min-height: 100dvh;
      display: flex;
      justify-content: center;
      padding: 0;
    }

    .phone {
      width: min(100%, var(--frame-width));
      background: var(--surface);
      min-height: 100dvh;
      box-shadow: 0 0 0 1px rgba(0, 0, 0, .03);
    }

    .page {
      padding: var(--page-top) var(--page-x) calc(108px + env(safe-area-inset-bottom));
    }
    .top {
      display: grid;
      grid-template-columns: minmax(0, auto) minmax(0, 1fr);
      gap: clamp(12px, 4vw, 16px);
      align-items: start;
    }

    .app-icon {
      width: clamp(74px, 22vw, 84px);
      height: clamp(74px, 22vw, 84px);
      border-radius: 20px;
      overflow: hidden;
      background: var(--surface);
      box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06);
      flex-shrink: 0;
    }

    .app-icon img,
    .shot-card img,
    .avatar img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

    h1 {
      margin: 0;
      font-size: clamp(22px, 5.6vw, 23px);
      line-height: 1.15;
      font-weight: 600;
      letter-spacing: -.2px;
      word-break: break-word;
    }

    .publisher {
      margin-top: 8px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--accent);
      font-size: clamp(13px, 3.8vw, 14px);
      font-weight: 600;
      flex-wrap: wrap;
    }

    .verified-badge {
      width: 18px;
      height: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      color: var(--accent);
      transform: translateY(1px);
    }

    .verified-badge svg {
      width: 17px;
      height: 17px;
      display: block;
      shape-rendering: geometricPrecision;
      transform: translateZ(0);
    }

    .meta {
      margin-top: 14px;
      color: var(--muted);
      font-size: clamp(13px, 3.8vw, 14px);
    }

    .stats {
      margin-top: 22px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: start;
      gap: 0;
      text-align: center;
    }

    .stat {
      padding: 0 clamp(4px, 1.5vw, 8px);
      border-right: 1px solid var(--line);
      min-width: 0;
    }

    .stat:last-child {
      border-right: 0;
    }

    .stat .value {
      font-size: clamp(14px, 3.8vw, 15px);
      font-weight: 700;
      white-space: nowrap;
      line-height: 1.2;
      min-height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }

    .stat .label {
      margin-top: 8px;
      color: var(--muted);
      font-size: clamp(11px, 3vw, 12px);
      line-height: 1.25;
    }

    .tiny-info {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 13px;
      height: 13px;
      margin-left: 2px;
      vertical-align: middle;
      transform: translateY(-1px);
      color: #676d76;
      flex: 0 0 auto;
    }

    .tiny-info svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .metric-svg,
    .metric-age,
    .metric-star {
      width: 26px;
      height: 26px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
    }

    .metric-svg svg,
    .metric-star svg {
      width: 26px;
      height: 26px;
      display: block;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.88;
      stroke-linecap: round;
      stroke-linejoin: round;
      shape-rendering: geometricPrecision;
      vector-effect: non-scaling-stroke;
      transform: translateZ(0);
    }

        .metric-star {
      width: 14px;
      height: 14px;
      margin-left: 1px;
      transform: translateY(-1px);
      color: #202124;
    }

    .metric-star svg {
      width: 14px;
      height: 14px;
      fill: currentColor;
      stroke: none;
    }

    .metric-age {
      width: 31px;
      height: 31px;
      color: var(--icon-color);
      line-height: 1;
    }

    .metric-age svg {
      width: 31px;
      height: 31px;
      display: block;
      shape-rendering: geometricPrecision;
      transform: translateZ(0);
    }

    .install {
      margin-top: 20px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 52px;
      background: var(--green);
      color: #fff;
      border-radius: 6px;
      overflow: hidden;
      font-size: clamp(16px, 4.2vw, 17px);
      font-weight: 700;
      text-align: center;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
    }

    .install div {
      padding: 14px 12px;
    }

    .install .caret {
      border-left: 1px solid rgba(0, 0, 0, .25);
      font-size: 18px;
    }

    .install-note {
      text-align: center;
      color: #7a7a7a;
      font-size: clamp(13px, 3.8vw, 14px);
      margin-top: 12px;
      line-height: 1.45;
    }
    .gallery {
      margin-top: 18px;
      display: flex;
      gap: 8px;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x proximity;
      -webkit-overflow-scrolling: touch;
      padding: 2px 0 6px;
      scrollbar-width: none;
      overscroll-behavior-x: contain;
    }

    .gallery::-webkit-scrollbar {
      display: none;
    }

    .shot-card {
      flex: 0 0 calc((100% - 16px) / 3);
      width: calc((100% - 16px) / 3);
      aspect-ratio: 946 / 2048;
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 1px 2px rgba(60, 64, 67, .12), 0 1px 3px 1px rgba(60, 64, 67, .08);
      background: #f3f4f7;
      scroll-snap-align: start;
      border: 1px solid rgba(60,64,67,.08);
    }

    .section {
      padding-top: 18px;
    }

    .heading {
      font-size: clamp(17px, 4.5vw, 18px);
      font-weight: 500;
      margin: 0 0 18px;
    }

    .body-copy {
      font-size: clamp(14px, 3.9vw, 15px);
      line-height: 1.7;
      color: #35363a;
      overflow-wrap: anywhere;
    }

    .body-copy p {
      margin: 0 0 18px;
    }

    .body-copy p:last-child {
      margin-bottom: 0;
    }

    .divider {
      height: 1px;
      background: var(--line);
      margin: 22px calc(var(--page-x) * -1);
    }

    .subheading {
      font-size: clamp(16px, 4.2vw, 17px);
      font-weight: 500;
      margin: 26px 0 10px;
      color: #2f3133;
    }

    ul.copy-list {
      padding-left: 0;
      margin: 10px 0 0;
      list-style: none;
    }

    ul.copy-list li {
      margin: 6px 0;
      line-height: 1.7;
      overflow-wrap: anywhere;
    }

    .toggle-link,
    .green-link {
      border: 0;
      background: transparent;
      color: var(--accent);
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      padding: 0;
      cursor: pointer;
      min-height: 24px;
    }

    .center-link {
      width: 100%;
      text-align: center;
      margin: 24px 0 8px;
    }

    .center-link .toggle-link {
      margin: 0 auto;
    }

    .description-preview {
      position: relative;
      max-height: 7.25em;
      overflow: hidden;
    }

    .description-preview::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 3.25em;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .62) 42%, #fff 100%);
      pointer-events: none;
    }

    .description-block.is-expanded .description-preview {
      max-height: none;
      overflow: visible;
    }

    .description-block.is-expanded .description-preview::after {
      display: none;
    }

    .description-extra[hidden],
    .reviews-extra[hidden] {
      display: none !important;
    }

    .safety-grid {
      border: 1px solid var(--line);
      border-radius: 10px;
      padding: 12px 14px;
      margin-top: 14px;
    }

    .safety-item {
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
      padding: 8px 0;
      color: #3a3b3d;
      font-size: clamp(14px, 3.9vw, 15px);
      line-height: 1.45;
    }

    .safety-icon {
      width: 21px;
      height: 21px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--icon-color);
      transform: translateZ(0);
      flex: 0 0 auto;
    }

    .safety-icon svg {
      width: 21px;
      height: 21px;
      display: block;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
      shape-rendering: geometricPrecision;
      vector-effect: non-scaling-stroke;
      stroke-miterlimit: 10;
      transform: translateZ(0);
    }

        .ratings-note {
      color: #6f7277;
      font-size: 13px;
      line-height: 1.55;
      margin-bottom: 18px;
    }

    .ratings-grid {
      display: grid;
      grid-template-columns: 112px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
    }

    .rating-main {
      text-align: left;
    }

    .rating-main .num {
      font-size: clamp(56px, 15vw, 68px);
      line-height: .9;
      font-weight: 400;
      letter-spacing: -2px;
    }

    .rating-main .stars {
      color: var(--accent);
      letter-spacing: 1px;
      font-size: clamp(18px, 4.8vw, 19px);
      margin-top: 10px;
    }

    .rating-main .stars .dim {
      color: #9aa0a6;
    }

    .rating-main .count {
      color: #6f7277;
      font-size: 12px;
      margin-top: 6px;
    }

    .bar-row {
      display: grid;
      grid-template-columns: 12px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      margin: 7px 0;
      font-size: 12px;
      color: #6f7277;
    }

    .bar {
      height: 11px;
      background: var(--bar-track);
      border-radius: 999px;
      overflow: hidden;
    }

    .bar > span {
      display: block;
      height: 100%;
      background: var(--accent);
      border-radius: 999px;
    }

    .review {
      padding: 22px 0 4px;
    }

    .review-head {
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
    }

    .avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      overflow: hidden;
      background: #dfe3e8;
    }

    .reviewer {
      font-size: 14px;
      font-weight: 500;
      color: #313236;
      overflow-wrap: anywhere;
    }

    .review-meta {
      margin-top: 6px;
      display: flex;
      align-items: center;
      gap: 10px;
      color: #7a7d81;
      font-size: 13px;
      flex-wrap: wrap;
    }

    .review-stars {
      color: var(--accent);
      font-size: 13px;
      letter-spacing: 1px;
    }

    .review-text {
      margin: 16px 0 14px 0;
      font-size: clamp(14px, 3.9vw, 15px);
      line-height: 1.65;
      color: #2e2f32;
      overflow-wrap: anywhere;
    }

    .review-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      color: #7a7d81;
      font-size: 13px;
    }

    .helpful {
      line-height: 1.55;
      min-width: 0;
    }

    .btns {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      flex-shrink: 0;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .btn {
      border: 1px solid #dadce0;
      background: var(--surface);
      color: var(--muted);
      padding: 10px 16px;
      border-radius: 8px;
      font-weight: 600;
      font-size: 14px;
      min-height: 40px;
      cursor: pointer;
      transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
    }

    .btn:hover {
      border-color: #c4c7cc;
      background: #fafafb;
    }

    .btn:active {
      transform: translateY(1px);
    }

    .btn.is-active-yes {
      border-color: var(--accent-soft-border);
      background: var(--accent-soft);
      color: var(--accent);
      box-shadow: inset 0 0 0 1px var(--accent-soft-border);
    }

    .btn.is-active-no {
      border-color: rgba(95, 99, 104, .22);
      background: rgba(95, 99, 104, .08);
      color: #444b52;
    }

    .news-card,
    .info-list {
      border-top: 1px solid var(--line);
      padding-top: 18px;
    }

    .news-text {
      font-size: clamp(14px, 3.9vw, 15px);
      color: #3a3b3d;
      line-height: 1.6;
      margin-top: 14px;
    }

    .info-grid {
      margin-top: 16px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .info-row {
      display: grid;
      gap: 6px;
    }

    .info-row .k {
      font-size: clamp(15px, 4vw, 16px);
      font-weight: 600;
      color: #313236;
    }

    .info-row .v {
      font-size: clamp(14px, 3.9vw, 15px);
      color: #6f7277;
    }

    .bottom-fade {
      height: 22px;
      margin: 28px calc(var(--page-x) * -1) calc(-108px - env(safe-area-inset-bottom));
      background: #efefef;
    }

    .bottom-nav-wrap {
      position: fixed;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: min(100%, var(--frame-width));
      z-index: 50;
      pointer-events: none;
    }

    .bottom-nav {
      pointer-events: auto;
      background: color-mix(in srgb, var(--surface) 98%, transparent);
      border-top: 1px solid rgba(60, 64, 67, .1);
      padding: 9px clamp(12px, 4vw, 18px) calc(11px + env(safe-area-inset-bottom));
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(4px, 1vw, 8px);
      align-items: center;
      justify-items: center;
      color: var(--icon-color);
      box-shadow: 0 -10px 26px rgba(15, 23, 42, .08);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    .nav-item {
      width: 100%;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: inherit;
      border-radius: 16px;
      transition: color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
      position: relative;
    }

    .nav-item.active {
      color: inherit;
      background: transparent;
      box-shadow: none;
    }

    .icon-wrap {
      width: 28px;
      height: 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      transform: translateZ(0);
    }

    .bottom-nav svg {
      width: 24px;
      height: 24px;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.88;
      stroke-linecap: round;
      stroke-linejoin: round;
      shape-rendering: geometricPrecision;
      vector-effect: non-scaling-stroke;
      transform: translateZ(0);
    }

        @media (max-width: 359px) {
      .stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 0;
      }

      .stat {
        border-right: 1px solid var(--line);
      }

      .stat:nth-child(2),
      .stat:nth-child(4) {
        border-right: 0;
      }

      .stat:nth-child(-n + 2) {
        padding-bottom: 8px;
      }

      .review-foot {
        flex-direction: column;
        align-items: flex-start;
      }

      .btns {
        width: 100%;
        justify-content: flex-start;
      }

      .ratings-grid {
        grid-template-columns: 96px minmax(0, 1fr);
      }
    }

    @media (min-width: 480px) {
      .phone {
        min-height: 100dvh;
      }

      .page {
        padding-bottom: calc(112px + env(safe-area-inset-bottom));
      }

      .info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 24px;
      }
    }

    @media (min-width: 768px) {
      body {
        background: linear-gradient(90deg, #eceff1 0%, #f4f6f8 50%, #eceff1 100%);
      }

      .viewport {
        padding: 0 24px;
      }

      .phone {
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), 0 12px 32px rgba(15, 23, 42, .08);
      }

      .bottom-nav-wrap {
        width: min(calc(100vw - 48px), var(--frame-width));
      }
    }


/* Semantic helpers introduced in Version 14 */
.site-shell {}
.app-frame {}
.app-page {}
.app-hero {}
.app-section {}
.app-section--description {}
.app-section--safety {}
.app-section--reviews {}
.app-section--news {}
.app-section--details {}
.hero-card {}
.metrics-grid {}
.install-cta {}
.install-caption {}
.media-gallery {}
.review-card {}
.review-card__head {}
.review-card__footer {}
.review-card__actions {}
.details-grid {}
.section-divider {}
.page-fade {}
.site-footer {}

/* Accessibility and semantics */
.bottom-nav[aria-label],
nav[aria-label] {}

/* Version 17 install UI refresh */
.install-shell {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.install-button {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 48px;
  border: 0;
  border-radius: 16px;
  padding: 0 16px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: none;
  transition: background-color .18s ease, transform .12s ease, opacity .18s ease;
  appearance: none;
  -webkit-appearance: none;
}

.install-button:hover {
  background: #017452;
  box-shadow: none;
}

.install-button:active {
  transform: scale(.995);
  background: #016a4b;
}

.install-button:disabled {
  opacity: 1;
}

.install-button__text {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.1;
}

.install-progress-card {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 18px;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px rgba(60, 64, 67, .08), 0 6px 18px rgba(32, 33, 36, .06);
}

.install-progress-card[hidden] {
  display: none !important;
}

.install-progress-card__media {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.install-progress-card__icon-wrap {
  position: relative;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.install-progress-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: block;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}

.install-progress-card__ring {
  position: absolute;
  inset: 0;
  transform: rotate(-90deg);
}

.install-progress-card__ring-track,
.install-progress-card__ring-progress {
  fill: none;
  stroke-width: 3.5;
}

.install-progress-card__ring-track {
  stroke: color-mix(in srgb, var(--accent) 18%, transparent);
}

.install-progress-card__ring-progress {
  stroke: var(--accent);
  stroke-linecap: round;
  transition: stroke-dashoffset .18s linear;
}

.install-progress-card__body {
  min-width: 0;
}

.install-progress-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.install-progress-card__status {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  min-width: 0;
}

.install-progress-card__percent {
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
}

.install-progress-card__label {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted);
}

.install-progress-card__bar {
  margin-top: 10px;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: var(--track-soft);
  overflow: hidden;
}

.install-progress-card__bar-fill {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-strong) 100%);
  transition: width .18s linear;
}

.install-caption {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  padding-left: 0;
}

.install-button.is-open-state {
  background: var(--accent);
  color: #fff;
  box-shadow: none;
}

.install-button.is-installing-state {
  background: #0b7d55;
  cursor: progress;
}

.install-button.is-waiting-state {
  background: var(--accent);
}

.install-button.is-ready-state {
  background: var(--accent);
}

.install-button[hidden] {
  display: none !important;
}

.nav-button {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  color: inherit;
}

.nav-button:focus-visible,
.install-button:focus-visible,
.toggle-link:focus-visible,
.vote-button:focus-visible {
  outline: 2px solid rgba(11, 125, 85, .45);
  outline-offset: 3px;
}

.app-launch-page {
  background: #f1f3f4;
}

.launch-shell {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
  padding: 18px 14px calc(24px + env(safe-area-inset-bottom));
}

.launch-card {
  background: #ffffff;
  border-radius: 28px;
  padding: 20px 18px;
  box-shadow: 0 10px 30px rgba(32, 33, 36, 0.08);
  text-align: center;
}

.launch-card__mark {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  background: #0b7d55;
  color: #fff;
  font-size: 34px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.launch-card__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.15;
}

.launch-card__text {
  margin: 10px auto 0;
  max-width: 280px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.4;
}

.launch-card__loader {
  width: 42px;
  height: 42px;
  margin: 16px auto 0;
  border-radius: 50%;
  border: 3px solid rgba(11, 125, 85, 0.18);
  border-top-color: #0b7d55;
  animation: paisa247-spin .9s linear infinite;
}

.launch-card__link {
  display: inline-flex;
  margin-top: 14px;
  color: #0b7d55;
  font-weight: 600;
  text-decoration: none;
}

.launch-frame {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 24px;
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(32, 33, 36, .08);
}

@keyframes paisa247-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 380px) {
  .install-button {
    min-height: 46px;
    padding-inline: 14px;
    border-radius: 16px;
  }

  .install-button__text {
    font-size: 15px;
  }

  .shot-card {
    border-radius: 12px;
  }

  .install-progress-card {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }

  .install-progress-card__icon-wrap {
    width: 50px;
    height: 50px;
  }

  .install-progress-card__icon {
    width: 38px;
    height: 38px;
  }
}


/* Version 22 install architecture refresh */
.hero-card {
  align-items: start;
}
.hero-card__icon-stack {
  --hero-stack-size: clamp(82px, 24vw, 92px);
  position: relative;
  width: var(--hero-stack-size);
  height: var(--hero-stack-size);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.hero-card__icon-stack .app-icon {
  width: calc(var(--hero-stack-size) - 12px);
  height: calc(var(--hero-stack-size) - 12px);
  border-radius: 22px;
  transition: width .22s ease, height .22s ease, border-radius .22s ease, transform .22s ease;
}
.hero-card__body {
  min-width: 0;
}
.hero-card__ring {
  position: absolute;
  inset: 0;
  transform: rotate(-90deg);
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
}
.hero-card__ring-track,
.hero-card__ring-progress {
  fill: none;
  stroke-width: 4;
}
.hero-card__ring-track {
  stroke: var(--track-soft);
}
.hero-card__ring-progress {
  stroke: var(--accent);
  stroke-linecap: round;
}
.app-hero.is-installing .hero-card__ring {
  opacity: 1;
}
.app-hero.is-installing .hero-card__icon-stack .app-icon {
  width: calc(var(--hero-stack-size) - 34px);
  height: calc(var(--hero-stack-size) - 34px);
  border-radius: 16px;
}
.hero-install {
  margin-top: 10px;
}
.hero-install[hidden] {
  display: none !important;
}
.hero-install__topline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.hero-install__status {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--text);
}
.hero-install__percent {
  flex: 0 0 auto;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  color: var(--accent);
}
.hero-install__label {
  margin-top: 4px;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--muted);
}
.hero-install__bar {
  margin-top: 10px;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: var(--track-soft);
  overflow: hidden;
}
.hero-install__bar-fill {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
  transition: width .18s linear;
}
.install-shell {
  margin-top: 16px;
  align-items: stretch;
}
.install-button {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 22px;
  background: var(--accent);
  color: #fff;
}
.install-button__text {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
}
.install-button.is-open-state {
  background: var(--accent);
}
.install-button.is-installing-state {
  background: var(--accent-strong);
}
.install-button.is-ready-state {
  background: var(--accent);
}
.install-button.is-waiting-state {
  background: color-mix(in srgb, var(--accent) 24%, white);
  color: var(--button-muted-text);
}
.install-button:hover {
  background: var(--accent-strong);
}
.install-button:active {
  background: var(--accent-strong);
}
.install-caption {
  margin-top: 10px;
  max-width: 280px;
  font-size: 12px;
  line-height: 1.45;
}
.install-progress-card {
  display: none !important;
}
.launch-card__hint {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
@media (max-width: 480px) {
  .install-button {
    min-height: 42px;
    padding: 0 18px;
  }
}


/* Version 22 install flow refinement */
.hero-card__summary {
  display: block;
}
.app-hero.is-installing .hero-card__summary {
  display: none;
}
.hero-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero-install {
  margin-top: 0;
  min-height: 72px;
}
.hero-install__status {
  font-size: 15px;
}
.hero-install__label {
  margin-top: 6px;
  font-size: 13px;
}
.hero-install__bar {
  margin-top: 12px;
  height: 5px;
}
.install-shell {
  margin-top: 16px;
  align-items: flex-start;
}
@media (max-width: 420px) {
  .hero-install {
    min-height: 68px;
  }
}


/* Version 24 restore layout, keep full-width install button */
.install-shell {
  align-items: stretch;
}
.install-button {
  width: 100%;
  min-width: 0;
  max-width: none;
}


html[data-theme='light-green'] {
  --accent: #01875f;
  --accent-strong: #0f9d58;
  --accent-soft: rgba(1, 135, 95, .08);
  --accent-soft-border: rgba(1, 135, 95, .24);
  --surface: #ffffff;
  --surface-elevated: #ffffff;
  --text: #202124;
  --muted: #5f6368;
  --bg: #f1f3f4;
  --line: #e0e0e0;
  --icon-color: #5f6368;
  --icon-active: #01875f;
  --button-text-on-accent: #ffffff;
  --track-soft: #e6f4ea;
  --bar-track: #e0e0e0;
  --button-muted-text: #0b3d20;
}

html[data-theme='light-blue'] {
  --accent: #1a73e8;
  --accent-strong: #1558b0;
  --accent-soft: rgba(26, 115, 232, .08);
  --accent-soft-border: rgba(26, 115, 232, .24);
  --surface: #ffffff;
  --surface-elevated: #ffffff;
  --text: #202124;
  --muted: #5f6368;
  --bg: #f1f3f4;
  --line: #e0e0e0;
  --icon-color: #5f6368;
  --icon-active: #1a73e8;
  --button-text-on-accent: #ffffff;
  --track-soft: rgba(26, 115, 232, .14);
  --bar-track: #e0e0e0;
  --button-muted-text: #123c73;
}

html[data-theme='dark'] {
  --accent: #8ab4f8;
  --accent-strong: #8ab4f8;
  --accent-soft: rgba(138, 180, 248, .16);
  --accent-soft-border: rgba(138, 180, 248, .30);
  --surface: #000000;
  --surface-elevated: #111111;
  --text: #ffffff;
  --muted: #cecfd2;
  --bg: #000000;
  --line: rgba(247, 247, 247, .14);
  --icon-color: #f7f7f7;
  --icon-active: #8ab4f8;
  --button-text-on-accent: #0b1f33;
  --track-soft: rgba(138, 180, 248, .18);
  --bar-track: rgba(247, 247, 247, .16);
  --button-muted-text: #0b1f33;
}

body,
.phone,
.bottom-nav,
.safety-grid,
.bar,
.btn,
.news-card,
.info-list,
.install-button,
.hero-install__bar,
.description-preview::after {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body { background: var(--bg); color: var(--text); }
.phone { background: var(--surface); }
.meta,
.stat .label,
.bar-row,
.review-meta,
.helpful,
.info-row .v,
.news-text,
.install-caption,
.hero-install__label { color: var(--muted); }

.publisher,
.green-link,
.toggle-link,
.install-link,
.review-stars,
.metric-star-symbol,
.verified-badge,
.hero-install__percent { color: var(--accent); }

.metric-star-symbol {
  display: inline-block;
  width: auto;
  height: auto;
  font-size: 14px;
  line-height: 1;
  transform: translateY(-1px);
}

.metric-svg,
.metric-age,
.tiny-info,
.safety-icon,
.bottom-nav,
.bottom-nav .nav-item,
.bottom-nav svg,
.metric-svg svg,
.safety-icon svg {
  color: var(--icon-color);
}

.bottom-nav .nav-item.active,
.bottom-nav .nav-item.active svg,
.bottom-nav .nav-item.active .icon-wrap,
.bottom-nav .nav-item.active .metric-svg,
.bottom-nav .nav-item.active .safety-icon,
.bottom-nav .nav-item.active .tiny-info {
  color: var(--icon-active) !important;
}

.bottom-nav svg,
.metric-svg svg,
.safety-icon svg,
.tiny-info svg {
  stroke: currentColor !important;
}

.tiny-info svg *,
.metric-svg svg *,
.safety-icon svg *,
.bottom-nav svg * {
  stroke: currentColor !important;
  fill: none;
}

.bar > span,
.hero-install__bar-fill {
  background: var(--accent);
}

.install-button,
.install-button.is-open-state,
.install-button.is-installing-state,
.install-button.is-ready-state,
.install-button.is-waiting-state {
  background: var(--accent);
  color: var(--button-text-on-accent);
}

.hero-card__ring-progress { stroke: var(--accent); }
.hero-card__ring-track { stroke: color-mix(in srgb, var(--accent) 18%, transparent); }
.hero-install__bar { background: var(--track-soft); }
.bar { background: var(--bar-track); }

.btn.is-active-yes {
  color: var(--accent);
}

.description-preview::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, color-mix(in srgb, var(--surface) 62%, transparent) 42%, var(--surface) 100%);
}

html[data-theme='dark'] .description-preview::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 42%, #000000 100%);
}

html[data-theme='dark'] .heading,
html[data-theme='dark'] h1,
html[data-theme='dark'] .section-title,
html[data-theme='dark'] .publisher,
html[data-theme='dark'] .reviewer,
html[data-theme='dark'] .stat .value,
html[data-theme='dark'] .rating-main .num,
html[data-theme='dark'] .details-row__value,
html[data-theme='dark'] .info-row .v,
html[data-theme='dark'] .subheading,
html[data-theme='dark'] .content-subtitle {
  color: #ffffff;
}

html[data-theme='dark'] .meta,
html[data-theme='dark'] .stat .label,
html[data-theme='dark'] .install-caption,
html[data-theme='dark'] .hero-install__label,
html[data-theme='dark'] .review-text,
html[data-theme='dark'] .review-meta,
html[data-theme='dark'] .helpful,
html[data-theme='dark'] .news-text,
html[data-theme='dark'] .ratings-note,
html[data-theme='dark'] .rating-main .count,
html[data-theme='dark'] .bar-row,
html[data-theme='dark'] .body-copy,
html[data-theme='dark'] .body-copy p,
html[data-theme='dark'] .body-copy li,
html[data-theme='dark'] .body-copy div,
html[data-theme='dark'] .safety-item,
html[data-theme='dark'] .info-row .k,
html[data-theme='dark'] .details-row__label {
  color: #cecfd2;
}

html[data-theme='dark'] .metric-svg,
html[data-theme='dark'] .metric-age,
html[data-theme='dark'] .tiny-info,
html[data-theme='dark'] .safety-icon,
html[data-theme='dark'] .bottom-nav,
html[data-theme='dark'] .bottom-nav .nav-item,
html[data-theme='dark'] .bottom-nav svg,
html[data-theme='dark'] .icon-wrap {
  color: #f7f7f7 !important;
}

html[data-theme='dark'] .bottom-nav .nav-item.active,
html[data-theme='dark'] .bottom-nav .nav-item.active svg,
html[data-theme='dark'] .bottom-nav .nav-item.active .icon-wrap,
html[data-theme='dark'] .bottom-nav .nav-item.active .metric-svg,
html[data-theme='dark'] .bottom-nav .nav-item.active .safety-icon,
html[data-theme='dark'] .bottom-nav .nav-item.active .tiny-info {
  color: #8ab4f8 !important;
}

html[data-theme='dark'] .metric-svg svg *,
html[data-theme='dark'] .metric-age svg *,
html[data-theme='dark'] .tiny-info svg *,
html[data-theme='dark'] .safety-icon svg *,
html[data-theme='dark'] .bottom-nav svg * {
  stroke: currentColor !important;
}

html[data-theme='dark'] .app-icon,
html[data-theme='dark'] .hero-card__icon,
html[data-theme='dark'] .install-progress-card,
html[data-theme='dark'] .shot-card {
  background: #111111;
  box-shadow: inset 0 0 0 1px rgba(247, 247, 247, .08);
}

html[data-theme='dark'] .bottom-nav {
  background: rgba(0, 0, 0, .98);
  border-top-color: rgba(247, 247, 247, .10);
  box-shadow: 0 -10px 26px rgba(0, 0, 0, .35);
}

html[data-theme='dark'] .btn {
  background: #111111;
  border-color: rgba(247, 247, 247, .16);
  color: #f7f7f7;
}

html[data-theme='dark'] .btn:hover {
  background: #171717;
}

html[data-theme='dark'] .safety-card__icon,
html[data-theme='dark'] .safety-card__icon svg,
html[data-theme='dark'] .bottom-nav__icon,
html[data-theme='dark'] .bottom-nav__icon svg {
  color: #f7f7f7 !important;
}

html[data-theme='dark'] .bottom-nav .nav-item.active .bottom-nav__icon,
html[data-theme='dark'] .bottom-nav .nav-item.active .bottom-nav__icon svg {
  color: #8ab4f8 !important;
}

html[data-theme='dark'] .safety-card__icon svg *,
html[data-theme='dark'] .bottom-nav__icon svg * {
  stroke: currentColor !important;
  fill: currentColor;
}

html[data-theme='dark'] .safety-card__icon svg [fill='none'],
html[data-theme='dark'] .bottom-nav__icon svg [fill='none'] {
  fill: none !important;
}


/* Dineroapp Store homepage */
.store-home-page .page {
  padding-top: clamp(16px, 4.6vw, 22px);
}
.store-header {
  display: grid;
  gap: 16px;
}
.store-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.store-brand__mark {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: linear-gradient(145deg, var(--accent), var(--accent-strong));
  display: grid;
  grid-template-columns: repeat(2, 8px);
  grid-template-rows: repeat(2, 8px);
  gap: 5px;
  place-content: center;
  box-shadow: 0 10px 24px rgba(26, 115, 232, .22);
  flex: 0 0 auto;
}
.store-brand__mark span {
  display: block;
  border-radius: 3px;
  background: #fff;
  opacity: .96;
}
.store-brand__body {
  min-width: 0;
  margin-right: auto;
}
.store-brand__name {
  font-size: clamp(22px, 6.1vw, 26px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -.7px;
  color: var(--text);
  text-transform: lowercase;
}
.store-brand__sub {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.3;
}
.store-search {
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--accent) 14%, var(--line));
  background: color-mix(in srgb, var(--surface) 92%, var(--accent-soft));
  border-radius: 999px;
  min-height: 46px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  text-align: left;
  box-shadow: 0 4px 18px rgba(60, 64, 67, .05);
}
.store-search__icon {
  color: var(--accent);
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
}
.store-hero {
  margin-top: 18px;
  padding: 20px 18px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--accent) 18%, transparent) 0 74px, transparent 75px),
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 8%, var(--surface)) 0%, var(--surface) 72%);
  border: 1px solid color-mix(in srgb, var(--accent) 10%, var(--line));
  box-shadow: 0 8px 26px rgba(60, 64, 67, .07);
}
.store-hero__eyebrow {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.store-hero__title {
  margin: 0;
  font-size: clamp(25px, 7.4vw, 32px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.9px;
  color: var(--text);
}
.store-hero__text {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: clamp(14px, 3.9vw, 15px);
  line-height: 1.55;
}
.store-counts {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.store-count-card {
  padding: 14px 8px 12px;
  border-radius: 18px;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 11%, var(--line));
  text-align: center;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 92px;
}
.store-count-card strong {
  display: block;
  font-size: clamp(21px, 5.8vw, 24px);
  line-height: 1.05;
  color: var(--text);
  font-weight: 800;
}
.store-count-card span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: clamp(12px, 3vw, 13px);
  line-height: 1.2;
}
.store-section {
  margin-top: 24px;
}
.store-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.store-section-head h2 {
  margin: 0;
  font-size: clamp(18px, 4.8vw, 20px);
  line-height: 1.15;
  font-weight: 700;
  color: var(--text);
}
.store-section-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.store-section-badge {
  flex: 0 0 auto;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-border);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
}
.store-link {
  color: inherit;
  text-decoration: none;
}
.featured-app-card {
  display: block;
  border-radius: 24px;
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 9%, var(--line));
  padding: 16px;
  box-shadow: 0 8px 26px rgba(60, 64, 67, .08);
}
.featured-app-card__top,
.store-app-row {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.store-app-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  font-weight: 800;
  letter-spacing: -.4px;
  font-size: 17px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 4px 12px rgba(15, 23, 42, .10);
  flex: 0 0 auto;
}
.store-app-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store-app-icon--credy { background: #eaf3ff; color: var(--accent); }
.store-app-icon--blue { background: linear-gradient(145deg, #1a73e8, #62a4ff); }
.store-app-icon--green { background: linear-gradient(145deg, #14a46c, #60d493); }
.store-app-icon--violet { background: linear-gradient(145deg, #6d5dfc, #a38bff); }
.store-app-icon--orange { background: linear-gradient(145deg, #f2994a, #f6c453); }
.store-app-icon--teal { background: linear-gradient(145deg, #00a6a6, #65d8cf); }
.store-app-icon--pink { background: linear-gradient(145deg, #e84d89, #ff93bd); }
.featured-app-card__info,
.store-app-row__body {
  min-width: 0;
}
.featured-app-card__info h3,
.store-app-row__body h3,
.store-small-card h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.featured-app-card__info p,
.store-app-row__body p,
.store-small-card p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.store-mini-meta {
  margin-top: 7px;
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
}
.store-open-pill,
.store-row-action {
  color: var(--button-text-on-accent);
  background: var(--accent);
  border-radius: 999px;
  padding: 8px 13px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}
.store-row-action--ghost {
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-border);
}
.featured-app-card__offer {
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--accent-soft), color-mix(in srgb, var(--surface) 88%, var(--accent-soft)));
  border: 1px solid var(--accent-soft-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.featured-app-card__offer strong {
  color: var(--accent);
  white-space: nowrap;
  font-size: 14px;
}
.store-tabs {
  margin-top: 22px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.store-tabs::-webkit-scrollbar { display: none; }
.store-tab {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
}
.store-tab.is-active {
  color: var(--accent);
  border-color: var(--accent-soft-border);
  background: var(--accent-soft);
}
.store-app-list {
  display: grid;
  gap: 10px;
}
.store-app-row {
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
}
.store-app-row:last-child {
  border-bottom: 0;
}
.store-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.store-small-card {
  padding: 14px;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  box-shadow: 0 5px 16px rgba(60, 64, 67, .05);
  min-width: 0;
}
.store-small-card .store-app-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  font-size: 15px;
  margin-bottom: 12px;
}
.store-rank-list {
  display: grid;
  gap: 8px;
}
.store-rank-row {
  min-height: 54px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
}
.store-rank-row span {
  grid-row: 1 / span 2;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent);
  display: grid;
  place-items: center;
  font-weight: 800;
}
.store-rank-row strong {
  color: var(--text);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.store-rank-row em {
  margin-top: 2px;
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bottom-nav {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 360px) {
  .store-counts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .store-count-card {
    min-height: 84px;
    padding: 12px 6px 10px;
    border-radius: 16px;
  }
  .store-count-card strong {
    font-size: 20px;
  }
  .store-count-card span {
    font-size: 11px;
  }
  .featured-app-card__offer { align-items: flex-start; flex-direction: column; }
  .store-card-grid { grid-template-columns: 1fr; }
  .featured-app-card__top,
  .store-app-row { grid-template-columns: 50px minmax(0, 1fr) auto; }
  .store-app-icon { width: 50px; height: 50px; }
}
html[data-theme='dark'] .store-hero,
html[data-theme='dark'] .featured-app-card,
html[data-theme='dark'] .store-count-card,
html[data-theme='dark'] .store-small-card,
html[data-theme='dark'] .store-rank-row,
html[data-theme='dark'] .store-search {
  background-color: #111111;
  border-color: rgba(247,247,247,.14);
  box-shadow: none;
}
html[data-theme='dark'] .store-brand__name,
html[data-theme='dark'] .store-hero__title,
html[data-theme='dark'] .store-section-head h2,
html[data-theme='dark'] .store-count-card strong,
html[data-theme='dark'] .featured-app-card__info h3,
html[data-theme='dark'] .store-app-row__body h3,
html[data-theme='dark'] .store-small-card h3,
html[data-theme='dark'] .store-rank-row strong {
  color: #ffffff;
}
html[data-theme='dark'] .store-brand__sub,
html[data-theme='dark'] .store-hero__text,
html[data-theme='dark'] .store-section-head p,
html[data-theme='dark'] .store-count-card span,
html[data-theme='dark'] .featured-app-card__info p,
html[data-theme='dark'] .store-app-row__body p,
html[data-theme='dark'] .store-small-card p,
html[data-theme='dark'] .store-mini-meta,
html[data-theme='dark'] .store-rank-row em,
html[data-theme='dark'] .store-search {
  color: #cecfd2;
}

/* Installed apps section for dineroapp store */
.store-installed-list {
  display: grid;
  gap: 10px;
}
.installed-app-row[hidden],
.store-installed-empty[hidden] {
  display: none !important;
}
.store-installed-empty {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  box-shadow: 0 5px 16px rgba(60, 64, 67, .05);
}
.store-installed-empty__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: var(--accent-soft);
  color: var(--accent);
  display: grid;
  place-items: center;
}
.store-installed-empty__icon svg {
  width: 25px;
  height: 25px;
  display: block;
}
.store-installed-empty h3 {
  margin: 0;
  color: var(--text);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 750;
}
.store-installed-empty p {
  margin: 5px 0 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.store-inline-action {
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
html[data-theme='dark'] .store-installed-empty {
  background-color: #111111;
  border-color: rgba(247,247,247,.14);
  box-shadow: none;
}
html[data-theme='dark'] .store-installed-empty h3 {
  color: #ffffff;
}
html[data-theme='dark'] .store-installed-empty p {
  color: #cecfd2;
}



/* Version 10 store page refinements */
.store-home-page .page,
.store-installed-page .page {
  padding-bottom: calc(160px + env(safe-area-inset-bottom));
}
.store-home-page .bottom-fade,
.store-installed-page .bottom-fade {
  height: 96px;
  margin-top: 32px;
  margin-bottom: calc(-160px - env(safe-area-inset-bottom));
}
.store-recommendations .store-section-head {
  margin-bottom: 14px;
}
.store-reco-list {
  display: grid;
  gap: 10px;
}
.store-reco-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  box-shadow: 0 5px 16px rgba(60, 64, 67, .05);
  min-width: 0;
}
.store-reco-card__body {
  min-width: 0;
}
.store-reco-card h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.store-reco-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.store-reco-tags {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.store-reco-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-border);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 700;
}
.store-installed-title {
  margin: 0;
  font-size: clamp(24px, 6.8vw, 30px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.8px;
  color: var(--text);
}
.store-installed-hero {
  margin-top: 22px;
  padding: 18px 16px;
  border-radius: 26px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 7%, var(--surface)) 0%, var(--surface) 76%);
  border: 1px solid color-mix(in srgb, var(--accent) 10%, var(--line));
  box-shadow: 0 8px 26px rgba(60, 64, 67, .07);
}
.store-installed-recommended .store-app-list {
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  border-radius: 22px;
  padding: 2px 12px;
  box-shadow: 0 5px 16px rgba(60, 64, 67, .05);
}
.store-installed-recommended .store-app-row {
  padding: 13px 0;
}
@media (max-width: 380px) {
  .store-reco-card {
    grid-template-columns: 50px minmax(0, 1fr);
  }
  .store-reco-card .store-row-action {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
  }
  .store-reco-tags span:nth-child(n+3) {
    display: none;
  }
}
html[data-theme='dark'] .store-reco-card,
html[data-theme='dark'] .store-installed-hero,
html[data-theme='dark'] .store-installed-recommended .store-app-list {
  background-color: #111111;
  border-color: rgba(247,247,247,.14);
  box-shadow: none;
}
html[data-theme='dark'] .store-reco-card h3,
html[data-theme='dark'] .store-installed-title {
  color: #ffffff;
}
html[data-theme='dark'] .store-reco-card p {
  color: #cecfd2;
}


/* Version 11 menu/pages/spacing fix */
.store-home-page .page,
.store-installed-page .page,
.store-top-page .page,
.store-offers-page .page {
  padding-bottom: calc(136px + env(safe-area-inset-bottom));
}
.bottom-fade,
.store-home-page .bottom-fade,
.store-installed-page .bottom-fade,
.store-top-page .bottom-fade,
.store-offers-page .bottom-fade {
  height: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.store-list-card {
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  border-radius: 22px;
  padding: 2px 12px;
  box-shadow: 0 5px 16px rgba(60, 64, 67, .05);
}
.store-list-card .store-app-row {
  padding: 13px 0;
}
.store-rank-list--large {
  gap: 10px;
}
.store-rank-row--app {
  min-height: 66px;
  grid-template-columns: 38px minmax(0, 1fr);
}
.store-rank-row--app span {
  width: 36px;
  height: 36px;
}
.store-page-hero,
.store-offers-hero {
  margin-top: 18px;
}
.store-offers-hero {
  background:
    radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--accent) 20%, transparent) 0 76px, transparent 77px),
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 10%, var(--surface)) 0%, var(--surface) 74%);
}
.store-fineprint {
  margin: 10px 2px 0;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}
.bottom-nav .nav-item[title] {
  -webkit-tap-highlight-color: transparent;
}
html[data-theme='dark'] .store-list-card {
  background-color: #111111;
  border-color: rgba(247,247,247,.14);
  box-shadow: none;
}
html[data-theme='dark'] .store-fineprint {
  color: #cecfd2;
}


/* v11.2 banner shelves */
.store-recommendations--banners .store-section-head,
.store-embed-section .store-section-head {
  margin-bottom: 14px;
}
.store-banner-slider {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(248px, 86%);
  gap: 12px;
  overflow-x: auto;
  padding: 2px 2px 6px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.store-banner-slider::-webkit-scrollbar {
  display: none;
}
.store-banner {
  position: relative;
  min-height: 150px;
  border-radius: 24px;
  padding: 18px 18px 16px;
  color: #fff;
  background: linear-gradient(135deg, #1a73e8 0%, #5aa3ff 100%);
  box-shadow: 0 12px 28px rgba(26, 115, 232, 0.18);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
}
.store-banner::after {
  content: '';
  position: absolute;
  right: -12px;
  top: -12px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
}
.store-banner > * {
  position: relative;
  z-index: 1;
}
.store-banner--green {
  background: linear-gradient(135deg, #27b36a 0%, #77d8aa 100%);
  box-shadow: 0 12px 28px rgba(39, 179, 106, 0.18);
}
.store-banner--violet {
  background: linear-gradient(135deg, #5f6af2 0%, #8ea2ff 100%);
  box-shadow: 0 12px 28px rgba(95, 106, 242, 0.18);
}
.store-banner__eyebrow {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  opacity: .92;
}
.store-banner__title {
  margin: 8px 0 0;
  font-size: 23px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.6px;
}
.store-banner__text {
  margin: 10px 0 0;
  max-width: 92%;
  font-size: 13.5px;
  line-height: 1.45;
  opacity: .96;
}
.store-banner__meta {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.store-banner__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  font-size: 11.5px;
  font-weight: 700;
}
.store-shelf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.store-mini-card {
  border-radius: 18px;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 10%, var(--line));
  padding: 14px 12px;
  min-width: 0;
}
.store-mini-card--featured {
  background: color-mix(in srgb, var(--surface) 88%, var(--accent-soft));
}
.store-mini-card .store-app-icon {
  margin-bottom: 12px;
}
.store-mini-card__body h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  color: var(--text);
}
.store-mini-card__body p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.35;
}
.store-mini-meta {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.store-mini-card .store-mini-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-soft) 52%, var(--surface));
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
}
.store-embed-section .store-section-head h2,
.store-embed-section .store-section-head p {
  margin-left: 0;
}
@media (max-width: 560px) {
  .store-shelf-grid {
    grid-template-columns: 1fr;
  }
  .store-mini-card {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 12px;
    align-items: start;
  }
  .store-mini-card .store-app-icon {
    margin-bottom: 0;
  }
}
html[data-theme='dark'] .store-mini-card,
html[data-theme='dark'] .store-mini-card--featured {
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}


/* v11.3 Solcredito app */
.store-app-icon--solcredito {
  background: linear-gradient(135deg, #f8b400 0%, #ffd966 100%);
  color: #11325a;
  font-weight: 800;
}
.store-app-icon--solcredito img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* v11.4 Zaimoo app */
.store-app-icon--zaimoo {
  background: linear-gradient(135deg, #39A9FF 0%, #7AD0FF 100%);
  color: #ffffff;
  font-weight: 800;
}
.store-app-icon--zaimoo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.store-banner--teal {
  background: linear-gradient(135deg, #39A9FF 0%, #7AD0FF 100%);
  box-shadow: 0 12px 28px rgba(57, 169, 255, 0.20);
}


.store-app-icon--moneya {
  background: linear-gradient(135deg, #3B155A 0%, #5b2a78 66%, #F0D634 66%, #F0D634 100%);
  color: #fff;
}
.store-app-icon--moneya img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }


.store-app-icon--finpug {
  background: linear-gradient(135deg, #2B77D9 0%, #2B77D9 68%, #FFC928 68%, #FFC928 100%);
  color: #fff;
}
.store-app-icon--finpug img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }


.store-app-icon--binixo {
  background: linear-gradient(135deg, #24A9E6 0%, #24A9E6 70%, #21C37B 70%, #21C37B 100%);
  color: #fff;
}
.store-app-icon--binixo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }


/* v11.13 offers and catalog refinements */
.store-shelf-grid--playlike {
  gap: 12px;
}
.store-mini-card--play {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 22px;
  box-shadow: 0 6px 18px rgba(60, 64, 67, .05);
}
.store-mini-card--play .store-app-icon {
  margin-bottom: 0;
  width: 56px;
  height: 56px;
  border-radius: 18px;
}
.store-mini-card--play .store-mini-card__body p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 34px;
}
.store-mini-card__footer {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.store-mini-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--button-text-on-accent);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}
.store-mini-card__footer .store-mini-meta {
  margin-top: 0;
}
.store-zero-list {
  display: grid;
  gap: 12px;
}
.store-zero-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  box-shadow: 0 5px 16px rgba(60, 64, 67, .05);
  min-width: 0;
}
.store-zero-card__body {
  min-width: 0;
}
.store-zero-card__topline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.store-zero-card__topline h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 750;
  color: var(--text);
}
.store-zero-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--green) 14%, var(--surface));
  color: var(--green-dark);
  border: 1px solid color-mix(in srgb, var(--green) 28%, var(--line));
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .01em;
}
.store-zero-card__text {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.38;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.store-zero-card__footer {
  margin-top: 10px;
}
.store-zero-card__tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.store-zero-card__tags span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-soft) 52%, var(--surface));
  color: var(--text);
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
}
.store-offers-hero .store-count-card:first-child strong {
  color: var(--green-dark);
}
@media (max-width: 560px) {
  .store-shelf-grid--playlike {
    grid-template-columns: 1fr;
  }
  .store-shelf-grid--playlike .store-mini-card__footer {
    grid-column: 2;
  }
}
@media (max-width: 380px) {
  .store-zero-card {
    grid-template-columns: 50px minmax(0, 1fr);
  }
  .store-zero-card .store-row-action {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
  }
  .store-zero-card__tags span:nth-child(3) {
    display: none;
  }
  .store-mini-card--play {
    grid-template-columns: 50px minmax(0, 1fr);
    padding: 13px;
  }
  .store-mini-card--play .store-app-icon {
    width: 50px;
    height: 50px;
  }
  .store-mini-card--play .store-mini-card__body p {
    min-height: 0;
  }
}
html[data-theme='dark'] .store-zero-card,
html[data-theme='dark'] .store-mini-card--play {
  background-color: #111111;
  border-color: rgba(247,247,247,.14);
  box-shadow: none;
}
html[data-theme='dark'] .store-zero-card__topline h3 {
  color: #ffffff;
}
html[data-theme='dark'] .store-zero-card__text {
  color: #cecfd2;
}
html[data-theme='dark'] .store-zero-card__tags span {
  color: #ffffff;
}


/* v11.14 catalog order + homepage-like rows */
.store-app-list--compact {
  gap: 12px;
}
.store-app-row--promo {
  align-items: flex-start;
}
.store-app-row__topline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.store-app-row--promo .store-app-row__body p {
  margin-top: 6px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.store-app-row--promo .store-mini-meta {
  margin-top: 8px;
}
@media (max-width: 380px) {
  .store-app-row--promo .store-row-action {
    min-width: 48px;
    padding-inline: 10px;
  }
}


/* v11.16 offers conversion content + Credy card cleanup */
.store-offers-page .featured-app-card--zero {
  padding: 16px;
}
.store-offers-page .featured-app-card--zero .featured-app-card__top {
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
}
.store-offers-page .featured-app-card--zero .featured-app-card__info h3 {
  font-size: 17px;
}
.store-offers-page .featured-app-card--zero .featured-app-card__info p {
  white-space: normal;
  line-height: 1.3;
}
.store-offers-page .featured-app-card__offer--zero {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.store-offers-page .featured-app-card__offer--zero strong {
  white-space: normal;
}
.store-row-action--wide {
  padding: 9px 14px;
  min-width: max-content;
}
.store-app-list--compact {
  display: grid;
  gap: 10px;
}
.store-app-row--promo {
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  padding: 14px 0;
}
.store-app-row__topline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.store-app-row__topline h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 750;
}
.store-app-row--promo .store-app-row__body p {
  margin-top: 6px;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.store-zero-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--green) 14%, var(--surface));
  color: var(--green-dark);
  border: 1px solid color-mix(in srgb, var(--green) 28%, var(--line));
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.store-offers-fineprint {
  margin-top: 14px;
}
@media (max-width: 380px) {
  .store-offers-page .featured-app-card--zero .featured-app-card__top,
  .store-app-row--promo {
    grid-template-columns: 50px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .store-offers-page .featured-app-card--zero .store-app-icon,
  .store-app-row--promo .store-app-icon {
    width: 50px;
    height: 50px;
  }
  .store-row-action--wide {
    padding: 8px 10px;
    font-size: 11.5px;
  }
  .store-offers-page .featured-app-card__offer--zero {
    flex-direction: row;
    align-items: center;
    padding: 12px;
  }
  .store-offers-page .featured-app-card__offer--zero span {
    white-space: nowrap;
  }
  .store-app-row--promo .store-mini-meta span:nth-child(n+3) {
    display: none;
  }
}
@media (max-width: 340px) {
  .store-offers-page .featured-app-card--zero .featured-app-card__top,
  .store-app-row--promo {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .store-offers-page .featured-app-card--zero .store-row-action--wide,
  .store-app-row--promo .store-row-action--wide {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
}
html[data-theme='dark'] .store-app-row__topline h3 {
  color: #ffffff;
}


/* v11.18 home featured Credy card aligned with offers card */
.store-home-page .featured-app-card--zero {
  padding: 16px;
}
.store-home-page .featured-app-card--zero .featured-app-card__top {
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
}
.store-home-page .featured-app-card--zero .featured-app-card__info h3 {
  font-size: 17px;
}
.store-home-page .featured-app-card--zero .featured-app-card__info p {
  white-space: normal;
  line-height: 1.3;
}
.store-home-page .featured-app-card__offer--zero {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.store-home-page .featured-app-card__offer--zero strong {
  white-space: normal;
}
@media (max-width: 380px) {
  .store-home-page .featured-app-card--zero .featured-app-card__top {
    grid-template-columns: 50px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .store-home-page .featured-app-card--zero .store-app-icon {
    width: 50px;
    height: 50px;
  }
  .store-home-page .featured-app-card__offer--zero {
    flex-direction: row;
    align-items: center;
    padding: 12px;
  }
  .store-home-page .featured-app-card__offer--zero span {
    white-space: nowrap;
  }
}
@media (max-width: 340px) {
  .store-home-page .featured-app-card--zero .featured-app-card__top {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .store-home-page .featured-app-card--zero .store-row-action--wide {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
}


/* Version 17 clean adaptive layer
   Mobile layout (0-767px) intentionally stays identical to Version 5.
   Only tablet/desktop layouts are expanded here. No new UI elements. */
@media (min-width: 768px) {
  :root {
    --v17-page-max: 980px;
    --v17-page-x: 28px;
  }

  body.app-store-page {
    background: linear-gradient(90deg, #eceff1 0%, #f7f9fb 50%, #eceff1 100%);
  }

  .viewport.site-shell,
  .viewport {
    width: 100%;
    padding: 0 24px;
    align-items: flex-start;
  }

  .phone.app-frame,
  .phone.store-frame,
  .phone {
    width: 100%;
    max-width: var(--v17-page-max);
    min-height: auto;
    margin: 24px auto 0;
    border-radius: 28px;
    overflow: hidden;
    background: var(--surface);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .04), 0 18px 44px rgba(15, 23, 42, .10);
  }

  .page.app-page,
  .page {
    padding: 30px var(--v17-page-x) 34px;
  }

  .bottom-fade,
  .page-fade {
    display: none;
  }

  .bottom-nav-wrap.site-footer,
  .bottom-nav-wrap {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    max-width: var(--v17-page-max);
    margin: 0 auto 24px;
    padding: 0 24px;
    background: transparent;
    pointer-events: auto;
  }

  .bottom-nav,
  .bottom-nav__list {
    width: 100%;
    max-width: none;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
    box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
  }

  .store-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 18px;
    align-items: center;
  }

  .store-hero,
  .store-page-hero,
  .store-offers-hero,
  .store-installed-hero {
    margin-top: 24px;
    padding: 24px;
    border-radius: 30px;
  }

  .store-hero__title,
  .store-installed-title {
    max-width: 760px;
  }

  .store-section {
    margin-top: 28px;
  }

  .store-section-head {
    margin-bottom: 16px;
  }

  .featured-app-card {
    padding: 18px;
  }

  .featured-app-card__top,
  .store-app-row {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
  }

  .store-app-icon {
    width: 60px;
    height: 60px;
    border-radius: 18px;
  }

  .store-app-list,
  .store-app-list--compact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .store-app-row,
  .store-list-card .store-app-row,
  .store-installed-recommended .store-app-row,
  .store-app-row--promo {
    min-width: 0;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
    border-radius: 24px;
    background: var(--surface);
    box-shadow: 0 7px 20px rgba(60, 64, 67, .06);
  }

  .store-app-row:last-child {
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  }

  .store-row-action,
  .store-row-action--wide {
    justify-self: end;
    min-width: max-content;
  }

  .store-banner-slider {
    display: grid;
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    overflow: visible;
    padding: 0;
  }

  .store-banner {
    min-height: 172px;
  }

  .store-rank-list,
  .store-rank-list--large,
  .store-reco-list,
  .store-shelf-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .store-rank-row,
  .store-reco-card,
  .store-mini-card {
    min-width: 0;
  }

  .app-detail-page .page {
    padding-bottom: 34px;
  }

  .app-detail-page .app-hero,
  .app-detail-page .hero-card {
    max-width: 100%;
  }

  .app-detail-page .section,
  .app-detail-page .app-section,
  .app-detail-page .store-embed-section {
    max-width: 100%;
  }

  .review-foot,
  .review-card__footer {
    gap: 14px;
  }

  .btns,
  .review-card__actions {
    flex: 0 0 auto;
  }
}

@media (min-width: 1024px) {
  :root {
    --v17-page-max: 1180px;
    --v17-page-x: 34px;
  }

  .phone.app-frame,
  .phone.store-frame,
  .phone {
    margin-top: 28px;
    border-radius: 32px;
  }

  .page.app-page,
  .page {
    padding-top: 34px;
  }

  .store-home-page .store-hero {
    padding: 30px;
  }

  .store-app-list,
  .store-app-list--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .store-banner-slider {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .store-rank-list,
  .store-rank-list--large,
  .store-reco-list,
  .store-shelf-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .app-detail-page .app-hero {
    display: grid;
    grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
    gap: 28px 34px;
    align-items: start;
  }

  .app-detail-page .top,
  .app-detail-page .hero-card,
  .app-detail-page .stats,
  .app-detail-page .metrics-grid,
  .app-detail-page .install-shell {
    grid-column: 1;
  }

  .app-detail-page .gallery,
  .app-detail-page .media-gallery {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    overflow: visible;
    padding: 0;
    margin-top: 0;
  }

  .app-detail-page .shot-card,
  .app-detail-page .media-gallery__item {
    width: 100%;
    min-width: 0;
    flex: none;
  }

  .app-detail-page .ratings-grid {
    max-width: 760px;
  }
}

@media (min-width: 1280px) {
  :root {
    --v17-page-max: 1240px;
  }
}

/* Version 18 fluid mobile width
   Remove the 430px mobile shell limit without changing the Version 5 mobile layout.
   0-430px keeps the same visual rhythm. 431-767px grows spacing and component sizes
   while preserving list rows, right-aligned CTA buttons, compact screenshots, and bottom nav. */
@media (max-width: 767px) {
  .viewport.site-shell,
  .viewport {
    width: 100%;
    max-width: none;
    display: block;
    padding: 0;
  }

  .phone,
  .phone.app-frame,
  .phone.store-frame {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
  }

  .bottom-nav-wrap,
  .bottom-nav-wrap.site-footer {
    width: 100%;
    max-width: none;
  }

  .bottom-nav,
  .bottom-nav__list {
    width: 100%;
    max-width: none;
  }

  .page,
  .page.app-page {
    max-width: none;
  }
}

@media (min-width: 431px) and (max-width: 767px) {
  :root {
    --page-x: clamp(18px, 5vw, 36px);
    --page-top: clamp(22px, 5vw, 36px);
    --card-radius: clamp(20px, 4vw, 28px);
  }

  .store-header,
  .store-section,
  .store-hero,
  .store-page-hero,
  .store-offers-hero,
  .store-installed-hero,
  .featured-app-card,
  .section,
  .app-section,
  .store-embed-section {
    max-width: none;
  }

  .featured-app-card__top,
  .store-app-row {
    grid-template-columns: clamp(56px, 11vw, 72px) minmax(0, 1fr) auto;
    gap: clamp(12px, 3vw, 20px);
    align-items: center;
  }

  .store-app-icon {
    width: clamp(56px, 11vw, 72px);
    height: clamp(56px, 11vw, 72px);
    border-radius: clamp(16px, 3vw, 22px);
  }

  .store-row-action,
  .store-row-action--wide,
  .store-open-pill {
    grid-column: auto;
    justify-self: end;
    white-space: nowrap;
    min-width: max-content;
    padding-inline: clamp(13px, 3vw, 20px);
  }

  .store-reco-card,
  .store-rank-row,
  .store-mini-card,
  .store-list-card .store-app-row,
  .store-installed-recommended .store-app-row {
    min-width: 0;
  }

  .store-banner-slider {
    grid-auto-columns: minmax(280px, min(72vw, 420px));
    gap: clamp(12px, 2.5vw, 18px);
  }

  .store-banner {
    min-height: clamp(150px, 28vw, 188px);
    padding: clamp(18px, 3.5vw, 24px);
  }

  .gallery,
  .media-gallery {
    gap: clamp(8px, 2vw, 12px);
  }

  .bottom-nav {
    padding-left: clamp(18px, 5vw, 36px);
    padding-right: clamp(18px, 5vw, 36px);
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .shot-card,
  .media-gallery__item {
    flex: 0 0 calc((100% - 36px) / 4);
    width: calc((100% - 36px) / 4);
  }
}


/* Version 8: working category filters, search and catalog-only cards */
.store-search--field {
  cursor: text;
  gap: 8px;
}
.store-search__input {
  width: min(220px, 42vw);
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  min-width: 0;
}
.store-search__input::placeholder {
  color: currentColor;
  opacity: .68;
}
.store-category-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.store-category-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(26, 115, 232, .09);
  color: #1967d2;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}
.store-app-icon--generated {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #e8f0fe, #f1f8ff);
  color: #1967d2;
  font-weight: 900;
  letter-spacing: -.03em;
}
.store-app-icon--generated span {
  display: inline-block;
  font-size: 15px;
  line-height: 1;
}
.store-app-row--catalog,
.store-rank-row--catalog,
.store-banner--catalog {
  cursor: default;
}
.store-app-row--catalog {
  opacity: .97;
}
.store-row-action--muted {
  background: rgba(95, 99, 104, .10);
  color: #5f6368;
}
.store-zero-pill--neutral {
  background: rgba(95, 99, 104, .10);
  color: #3c4043;
}
.store-empty-state--compact {
  margin: 12px 0;
  padding: 18px;
  border-radius: 22px;
  background: rgba(241, 243, 244, .9);
  text-align: center;
}
.store-empty-state--compact h2 {
  margin: 0 0 6px;
  font-size: 17px;
}
.store-empty-state--compact p {
  margin: 0;
  color: #5f6368;
  font-size: 13px;
}
html[data-theme='dark'] .store-category-chip {
  background: rgba(138, 180, 248, .14);
  color: #a8c7fa;
}
html[data-theme='dark'] .store-app-icon--generated {
  background: linear-gradient(135deg, rgba(138, 180, 248, .20), rgba(94, 234, 212, .14));
  color: #d2e3fc;
}
html[data-theme='dark'] .store-row-action--muted,
html[data-theme='dark'] .store-zero-pill--neutral {
  background: rgba(232, 234, 237, .10);
  color: #cbd5e1;
}
html[data-theme='dark'] .store-empty-state--compact {
  background: rgba(30, 41, 59, .82);
}
html[data-theme='dark'] .store-empty-state--compact p {
  color: #cbd5e1;
}
@media (max-width: 420px) {
  .store-search__input { width: 126px; }
  .store-category-chip { font-size: 10px; padding-inline: 7px; }
}

/* Product-led catalog filters (v11) */
.store-filter-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 20px 14px;
  margin-top: -6px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.store-filter-chips::-webkit-scrollbar { display: none; }
.store-filter-chip {
  border: 1px solid rgba(26, 115, 232, .18);
  background: rgba(255, 255, 255, .82);
  color: var(--store-text, #1f2937);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}
.store-filter-chip.is-active {
  background: #1a73e8;
  color: #fff;
  border-color: #1a73e8;
}
html[data-theme='dark'] .store-filter-chip {
  background: rgba(15, 23, 42, .86);
  border-color: rgba(148, 163, 184, .24);
  color: #e5e7eb;
}
html[data-theme='dark'] .store-filter-chip.is-active {
  background: #60a5fa;
  border-color: #60a5fa;
  color: #08111f;
}


/* Version 12 bottom navigation labels */
.bottom-nav .nav-item {
  flex-direction: column;
  gap: 3px;
  min-height: 54px;
}
.bottom-nav__label {
  display: block;
  font-size: 10px;
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -.01em;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bottom-nav .nav-item.active .bottom-nav__label {
  color: var(--icon-active);
}
.store-filter-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 0 4px;
  margin: -2px 0 12px;
  scrollbar-width: none;
}
.store-filter-chips::-webkit-scrollbar { display: none; }
.store-filter-chip {
  appearance: none;
  border: 1px solid rgba(26, 115, 232, .24);
  background: rgba(26, 115, 232, .06);
  color: #174ea6;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.store-filter-chip.is-active {
  background: #1a73e8;
  color: #fff;
  border-color: #1a73e8;
}
html[data-theme='dark'] .store-filter-chip {
  background: rgba(96, 165, 250, .12);
  border-color: rgba(96, 165, 250, .3);
  color: #bfdbfe;
}
html[data-theme='dark'] .store-filter-chip.is-active {
  background: #60a5fa;
  color: #0f172a;
}


/* Version 13: compact categories + 3 filters for 360px mobile */
.store-home-page:not(.store-top-page) .store-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  overflow: visible;
  width: 100%;
}
.store-home-page:not(.store-top-page) .store-tab {
  min-width: 0;
  width: 100%;
  padding: 8px 6px;
  text-align: center;
  font-size: 12px;
  line-height: 1.05;
  white-space: nowrap;
}
.store-home-page:not(.store-top-page) .store-filter-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  overflow: visible;
  width: 100%;
  padding: 6px 0 4px;
  margin: 0 0 12px;
}
.store-home-page:not(.store-top-page) .store-filter-chip {
  min-width: 0;
  width: 100%;
  padding: 8px 5px;
  text-align: center;
  font-size: 11.5px;
  line-height: 1.05;
  white-space: nowrap;
}
@media (max-width: 360px) {
  .store-home-page:not(.store-top-page) .store-tab {
    padding-inline: 4px;
    font-size: 11px;
    letter-spacing: -.02em;
  }
  .store-home-page:not(.store-top-page) .store-filter-chip {
    padding-inline: 4px;
    font-size: 11px;
    letter-spacing: -.025em;
  }
}


/* Version 14: compact category tabs, offer blocks and special card */
.store-home-page:not(.store-top-page) .store-tabs,
.store-search-page .store-tabs,
.store-offers-page .store-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  overflow: visible;
  width: 100%;
}
.store-home-page:not(.store-top-page) .store-tab,
.store-search-page .store-tab,
.store-offers-page .store-tab {
  min-width: 0;
  width: 100%;
  padding: 8px 4px;
  text-align: center;
  font-size: 11.5px;
  line-height: 1.05;
  white-space: nowrap;
  letter-spacing: -.02em;
}
.store-section-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(26, 115, 232, .10);
  color: #174ea6;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
html[data-theme='dark'] .store-section-link {
  background: rgba(96, 165, 250, .14);
  color: #bfdbfe;
}
.store-special-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 24px;
  text-decoration: none;
  color: inherit;
  background: linear-gradient(135deg, rgba(26, 115, 232, .12), rgba(52, 168, 83, .10)), var(--surface);
  border: 1px solid rgba(26, 115, 232, .18);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}
.store-special-card__hero {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.store-special-card__eyebrow {
  display: inline-flex;
  margin-bottom: 4px;
  color: #174ea6;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.store-special-card h3 {
  margin: 0 0 4px;
  font-size: 19px;
  line-height: 1.12;
  color: var(--text);
}
.store-special-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.store-special-card__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.store-special-card__meta span {
  min-width: 0;
  padding: 7px 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 800;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-theme='dark'] .store-special-card {
  background: linear-gradient(135deg, rgba(96, 165, 250, .18), rgba(45, 212, 191, .12)), rgba(15, 23, 42, .92);
  border-color: rgba(96, 165, 250, .24);
}
html[data-theme='dark'] .store-special-card__eyebrow { color: #93c5fd; }
html[data-theme='dark'] .store-special-card__meta span { background: rgba(15, 23, 42, .62); color: #cbd5e1; }
@media (max-width: 360px) {
  .store-home-page:not(.store-top-page) .store-tab,
  .store-search-page .store-tab,
  .store-offers-page .store-tab {
    font-size: 10.8px;
    padding-inline: 3px;
  }
  .store-section-head {
    gap: 8px;
  }
  .store-section-link {
    min-height: 30px;
    padding: 6px 9px;
    font-size: 11.5px;
  }
  .store-special-card__meta span {
    font-size: 10.8px;
    padding-inline: 5px;
  }
}


/* Version 15: focused category mode, unified pills and 360px one-row chips */
.store-section[hidden],
.store-home-block[hidden],
.store-category-results[hidden],
.store-related-top[hidden] {
  display: none !important;
}

.store-section-link,
.store-filter-chip {
  border: 1px solid var(--accent-soft-border) !important;
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}
.store-section-link:active,
.store-section-link:hover,
.store-filter-chip.is-active {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--button-text-on-accent) !important;
}

.store-home-page:not(.store-top-page) .store-tabs,
.store-search-page .store-tabs,
.store-offers-page .store-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.store-home-page:not(.store-top-page) .store-tabs::-webkit-scrollbar,
.store-search-page .store-tabs::-webkit-scrollbar,
.store-offers-page .store-tabs::-webkit-scrollbar {
  display: none;
}
.store-home-page:not(.store-top-page) .store-tab,
.store-search-page .store-tab,
.store-offers-page .store-tab {
  flex: 1 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  padding: 8px 10px !important;
  font-size: 11.5px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

.store-home-page:not(.store-top-page) .store-filter-chips,
.store-search-page .store-filter-chips,
.store-offers-page .store-filter-chips {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  padding: 6px 0 6px !important;
  margin: 0 0 12px !important;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.store-home-page:not(.store-top-page) .store-filter-chips::-webkit-scrollbar,
.store-search-page .store-filter-chips::-webkit-scrollbar,
.store-offers-page .store-filter-chips::-webkit-scrollbar {
  display: none;
}
.store-home-page:not(.store-top-page) .store-filter-chip,
.store-search-page .store-filter-chip,
.store-offers-page .store-filter-chip {
  flex: 1 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  padding: 8px 10px !important;
  font-size: 11.5px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

.store-category-chips {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 100%;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.store-category-chips::-webkit-scrollbar { display: none; }
.store-category-chip {
  flex: 0 0 auto;
  white-space: nowrap;
}

.store-home-block--cards .store-app-list {
  display: block;
}
.store-home-block--cards .featured-app-card {
  margin: 0;
}

@media (max-width: 360px) {
  .store-home-page:not(.store-top-page) .store-tab,
  .store-search-page .store-tab,
  .store-offers-page .store-tab,
  .store-home-page:not(.store-top-page) .store-filter-chip,
  .store-search-page .store-filter-chip,
  .store-offers-page .store-filter-chip {
    font-size: 11px !important;
    padding-inline: 8px !important;
    letter-spacing: -.02em;
  }
  .store-section-head {
    align-items: flex-start;
  }
}


/* Version 15.7: UX-safe responsive pills without changing card structure */
.store-app-row--promo {
  grid-template-columns: 52px minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
  border: 1px solid color-mix(in srgb, var(--accent) 10%, var(--line));
  box-shadow: 0 8px 22px rgba(15, 23, 42, .055);
}
.store-app-row--promo .store-app-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
}
.store-app-row__body,
.featured-app-card__info {
  min-width: 0;
}
.store-app-row__topline {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: nowrap;
  min-width: 0;
}
.store-app-row__topline h3 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
}
.store-app-row--promo .store-app-row__body p {
  margin-top: 5px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
  font-size: 12.5px;
}
.store-zero-pill,
.store-zero-pill--neutral {
  flex: 0 0 auto;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.store-mini-meta {
  margin-top: 7px;
  display: grid;
  grid-template-columns: max-content max-content minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  max-width: 100%;
  overflow: hidden;
}
.store-mini-meta span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: rgba(241, 245, 249, .94);
  color: #5f6b7a;
  font-size: 10.8px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.store-mini-meta span:nth-child(3) {
  justify-content: flex-start;
  max-width: 100%;
}
.store-category-chips {
  margin-top: 7px;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  overflow: hidden !important;
  max-width: 100%;
  max-height: 22px;
}
.store-category-chip {
  flex: 0 0 auto;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--green) 11%, #f0fbf5);
  color: var(--green-dark);
  border: 1px solid color-mix(in srgb, var(--green) 22%, rgba(0,0,0,.04));
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.store-row-action {
  flex: 0 0 auto;
  min-height: 32px;
  max-width: 86px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: 11.2px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: none;
}
.store-row-action--muted {
  max-width: 78px;
}
.featured-app-card--zero {
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.featured-app-card__top {
  grid-template-columns: 52px minmax(0, 1fr) max-content;
  gap: 12px;
}
.featured-app-card__info p {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.featured-app-card .store-mini-meta {
  grid-template-columns: max-content max-content minmax(0, 1fr);
}
html[data-theme='dark'] .store-app-row--promo {
  background: linear-gradient(180deg, rgba(17,24,39,.98), rgba(15,23,42,.98));
  border-color: rgba(148, 163, 184, .18);
  box-shadow: 0 10px 24px rgba(2, 6, 23, .32);
}
html[data-theme='dark'] .store-mini-meta span {
  background: rgba(30, 41, 59, .86);
  color: #cbd5e1;
}
html[data-theme='dark'] .store-category-chip {
  background: rgba(34, 197, 94, .14);
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, .18);
}
@media (max-width: 430px) {
  .store-app-row--promo {
    grid-template-columns: 46px minmax(0, 1fr) max-content;
    gap: 10px;
    padding: 12px 13px;
    border-radius: 20px;
  }
  .store-app-row--promo .store-app-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }
  .store-app-row__topline h3 {
    font-size: 15px;
  }
  .store-app-row--promo .store-app-row__body p {
    font-size: 11.8px;
  }
  .store-zero-pill,
  .store-zero-pill--neutral,
  .store-mini-meta span,
  .store-category-chip {
    font-size: 10px;
  }
  .store-row-action {
    min-height: 30px;
    max-width: 74px;
    padding: 0 9px;
    font-size: 10.4px;
  }
  .store-row-action--muted {
    max-width: 68px;
  }
  .featured-app-card__top {
    grid-template-columns: 46px minmax(0, 1fr) max-content;
    gap: 10px;
  }
}
@media (max-width: 360px) {
  .store-app-row--promo {
    grid-template-columns: 42px minmax(0, 1fr) max-content;
    gap: 9px;
    padding: 11px 12px;
  }
  .store-app-row--promo .store-app-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }
  .store-app-row__topline {
    gap: 5px;
  }
  .store-app-row__topline h3 {
    font-size: 14px;
  }
  .store-app-row--promo .store-app-row__body p {
    margin-top: 4px;
    font-size: 11.2px;
  }
  .store-zero-pill,
  .store-zero-pill--neutral {
    min-height: 20px;
    padding: 0 7px;
    font-size: 9.6px;
  }
  .store-mini-meta {
    margin-top: 6px;
    gap: 4px;
  }
  .store-mini-meta span {
    min-height: 20px;
    padding: 0 6px;
    font-size: 9.5px;
  }
  .store-category-chips {
    margin-top: 6px;
    gap: 4px !important;
    max-height: 20px;
  }
  .store-category-chip {
    min-height: 20px;
    padding: 0 6px;
    font-size: 9.4px;
  }
  .store-row-action {
    min-height: 28px;
    max-width: 62px;
    padding: 0 8px;
    font-size: 9.8px;
  }
  .store-row-action--muted {
    max-width: 58px;
  }
  .featured-app-card__top {
    grid-template-columns: 42px minmax(0, 1fr) max-content;
    gap: 9px;
  }
}
@media (min-width: 700px) {
  .store-app-row--promo {
    padding: 16px 18px;
  }
  .store-mini-meta span,
  .store-category-chip {
    font-size: 11.3px;
  }
}

/* Version 15.7 safeguards against older mobile overrides */
@media (max-width: 380px) {
  .store-app-row--promo .store-mini-meta span:nth-child(n+3) {
    display: inline-flex !important;
  }
}
@media (max-width: 340px) {
  .store-app-row--promo,
  .store-offers-page .featured-app-card--zero .featured-app-card__top,
  .featured-app-card__top {
    grid-template-columns: 40px minmax(0, 1fr) max-content !important;
  }
  .store-app-row--promo .store-row-action--wide,
  .store-offers-page .featured-app-card--zero .store-row-action--wide {
    grid-column: auto !important;
    justify-self: auto !important;
    margin-top: 0 !important;
  }
}


/* Version 15.8: restore row-style cards, fixed meta pills, clean mobile overflow */
.store-featured {
  display: none !important;
}

.store-app-row--promo {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 14px 0 !important;
  grid-template-columns: 52px minmax(0, 1fr) max-content !important;
  gap: 12px !important;
}
.store-app-row--promo:last-child {
  border-bottom: 0 !important;
}
.store-app-row--promo .store-app-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 16px !important;
}

.store-mini-meta {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 5px !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.store-mini-meta span {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.store-mini-meta span:nth-child(3) {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 92px !important;
  justify-content: center !important;
}

.store-category-chips {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  max-width: 100% !important;
}
.store-category-chip {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.store-row-action,
.store-row-action--wide {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  min-height: 32px !important;
  width: 84px !important;
  min-width: 84px !important;
  max-width: 84px !important;
  padding: 0 8px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.store-row-action--muted {
  width: 84px !important;
  min-width: 84px !important;
  max-width: 84px !important;
}

@media (max-width: 430px) {
  .store-app-row--promo {
    grid-template-columns: 46px minmax(0, 1fr) 78px !important;
    gap: 10px !important;
    padding: 13px 0 !important;
  }
  .store-app-row--promo .store-app-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 14px !important;
  }
  .store-mini-meta span:nth-child(3) {
    max-width: 88px !important;
  }
  .store-category-chip:nth-child(n+4) {
    display: none !important;
  }
  .store-row-action,
  .store-row-action--wide,
  .store-row-action--muted {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    min-height: 30px !important;
    padding: 0 7px !important;
    font-size: 10.4px !important;
  }
}

@media (max-width: 360px) {
  .store-app-row--promo {
    grid-template-columns: 42px minmax(0, 1fr) 72px !important;
    gap: 9px !important;
    padding: 12px 0 !important;
  }
  .store-app-row--promo .store-app-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
  }
  .store-mini-meta {
    gap: 4px !important;
  }
  .store-mini-meta span {
    padding: 0 5px !important;
    font-size: 9.4px !important;
  }
  .store-mini-meta span:nth-child(3) {
    max-width: 78px !important;
  }
  .store-category-chip:nth-child(n+3) {
    display: none !important;
  }
  .store-row-action,
  .store-row-action--wide,
  .store-row-action--muted {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    min-height: 28px !important;
    padding: 0 6px !important;
    font-size: 9.5px !important;
    letter-spacing: -.02em !important;
  }
}

@media (max-width: 330px) {
  .store-app-row--promo {
    grid-template-columns: 40px minmax(0, 1fr) 66px !important;
    gap: 8px !important;
  }
  .store-mini-meta span:nth-child(3) {
    max-width: 70px !important;
  }
  .store-row-action,
  .store-row-action--wide,
  .store-row-action--muted {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    font-size: 8.9px !important;
  }
}


/* Version 15.9: precise meta pills, arrow links, manual badges */
.store-section-link--arrow {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--accent) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.store-section-link--arrow svg {
  width: 32px;
  height: 32px;
  display: block;
}
.store-section-link--arrow:hover,
.store-section-link--arrow:active {
  background: transparent !important;
  color: var(--accent-strong, var(--accent)) !important;
  transform: translateX(1px);
}

.store-mini-meta {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 5px !important;
  overflow: hidden !important;
  max-width: 100% !important;
}
.store-mini-meta span,
.store-mini-meta .store-meta-amount {
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-inline: 7px !important;
  box-sizing: border-box !important;
  justify-content: center !important;
  text-align: center !important;
}
.store-mini-meta .store-meta-amount,
.store-mini-meta span:nth-child(3) {
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: none !important;
}

.store-category-chip--category {
  background: rgba(95, 99, 104, .10) !important;
  color: #5f6368 !important;
  border-color: rgba(95, 99, 104, .14) !important;
}
.store-category-chip--badge {
  background: color-mix(in srgb, var(--green) 11%, #f0fbf5) !important;
  color: var(--green-dark) !important;
  border-color: color-mix(in srgb, var(--green) 22%, rgba(0,0,0,.04)) !important;
}
.store-category-chip.is-chip-hidden {
  display: none !important;
}

html[data-theme='dark'] .store-section-link--arrow {
  color: #bfdbfe !important;
}
html[data-theme='dark'] .store-category-chip--category {
  background: rgba(148, 163, 184, .16) !important;
  color: #cbd5e1 !important;
  border-color: rgba(148, 163, 184, .20) !important;
}
html[data-theme='dark'] .store-category-chip--badge {
  background: rgba(34, 197, 94, .14) !important;
  color: #bbf7d0 !important;
  border-color: rgba(34, 197, 94, .18) !important;
}

@media (max-width: 430px) {
  .store-section-link--arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
  .store-section-link--arrow svg {
    width: 31px;
    height: 31px;
  }
  .store-mini-meta span,
  .store-mini-meta .store-meta-amount {
    padding-inline: 6px !important;
    max-width: none !important;
  }
  .store-category-chip:nth-child(n+5) {
    display: none !important;
  }
}

@media (max-width: 360px) {
  .store-mini-meta {
    gap: 4px !important;
  }
  .store-mini-meta span,
  .store-mini-meta .store-meta-amount {
    padding-inline: 5px !important;
    width: max-content !important;
    max-width: none !important;
  }
  .store-category-chip:nth-child(n+4) {
    display: none !important;
  }
}

@media (max-width: 330px) {
  .store-mini-meta span,
  .store-mini-meta .store-meta-amount {
    padding-inline: 4px !important;
  }
  .store-category-chip:nth-child(n+3) {
    display: none !important;
  }
}


/* v15.12: 3-item bottom navigation and in-home see-all behavior */
.bottom-nav,
.bottom-nav__list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.bottom-nav__icon svg,
.bottom-nav svg {
  width: 24px;
  height: 24px;
}
.store-home-page .store-section-link--arrow {
  cursor: pointer;
}
.store-category-results {
  scroll-margin-top: 14px;
}


/* Version 15.13: 5-item category bottom navigation */
.bottom-nav,
.bottom-nav__list {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 2px !important;
  padding-left: max(6px, env(safe-area-inset-left)) !important;
  padding-right: max(6px, env(safe-area-inset-right)) !important;
}
.bottom-nav .nav-item {
  min-height: 52px;
  border-radius: 14px;
  padding: 4px 2px;
}
.bottom-nav__label {
  font-size: 9.5px;
  letter-spacing: -0.03em;
}
.bottom-nav__icon,
.icon-wrap {
  width: 25px;
  height: 25px;
}
.bottom-nav__icon svg,
.bottom-nav svg {
  width: 23px;
  height: 23px;
}
@media (max-width: 360px) {
  .bottom-nav .nav-item { min-height: 50px; padding-inline: 1px; }
  .bottom-nav__label { font-size: 8.8px; }
  .bottom-nav__icon,
  .icon-wrap { width: 23px; height: 23px; }
  .bottom-nav__icon svg,
  .bottom-nav svg { width: 21px; height: 21px; }
}


/* v15.14: unified recommendation cards */
#installed-recommended-section .store-app-list,
#section-popular-catalog .store-app-list {
  display: grid;
  gap: 10px;
}
#section-popular-catalog .store-app-row--promo,
#installed-recommended-section .store-app-row--promo {
  align-items: center;
}
#section-popular-catalog .store-app-row__body p,
#installed-recommended-section .store-app-row__body p {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#section-popular-catalog .store-app-row__topline h3,
#installed-recommended-section .store-app-row__topline h3 {
  min-width: 0;
}
#section-recommended-banners {
  display: none !important;
}
