/* Landing Pages marketplace surface */
.is-landing-pages-page #conteudo { min-height: 100vh; }
html.landing-route-boot #conteudo { visibility: hidden; }
.landing-pages-page, .landing-detail-page { --lp-ink: #242a33; --lp-soft: #697384; --lp-line: #e4e8ef; --lp-pale: #f6f8fb; color: var(--lp-ink); background: #fff; }
.landing-pages-hero { position: relative; overflow: hidden; min-height: 30rem; display: grid; align-items: center; border-bottom: 1px solid var(--lp-line); background: radial-gradient(circle at 82% 32%, rgba(123, 167, 255, .18), transparent 33%), linear-gradient(135deg, #f7fbff 0%, #fff 56%, #f7f8ff 100%); }
.landing-pages-hero .container { position: relative; padding-block: 3rem 3.8rem; }
.landing-pages-hero .breadcrumbs, .landing-detail-page .breadcrumbs { position: relative; z-index: 2; }
.landing-pages-hero__copy { position: relative; z-index: 2; max-width: 43rem; padding-top: 3rem; }
.landing-pages-hero__copy h1 { max-width: 39rem; margin: .45rem 0 1rem; color: var(--lp-ink); font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.065em; line-height: .98; }
.landing-pages-hero__copy > p:not(.section-kicker) { max-width: 37rem; margin: 0; color: var(--lp-soft); font-size: clamp(1rem, 1.5vw, 1.22rem); line-height: 1.7; }
.landing-pages-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.landing-pages-hero__count { display: block; margin-top: 1rem; color: #8a94a3; font-size: .78rem; font-weight: 600; }
.landing-pages-hero__orbit { position: absolute; z-index: 1; top: 20%; right: -8%; width: min(45vw, 38rem); aspect-ratio: 1; border: 1px solid rgba(22, 119, 244, .14); border-radius: 50%; transform: rotate(-16deg); }
.landing-pages-hero__orbit::before, .landing-pages-hero__orbit::after { content: ""; position: absolute; border: 1px solid rgba(22, 119, 244, .15); border-radius: 50%; }
.landing-pages-hero__orbit::before { inset: 10%; transform: rotate(42deg); }
.landing-pages-hero__orbit::after { inset: 23%; transform: rotate(-28deg); }
.landing-pages-hero__orbit span { position: absolute; display: block; width: .65rem; height: .65rem; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 .45rem rgba(22,119,244,.08); }
.landing-pages-hero__orbit span:nth-child(1) { top: 14%; left: 23%; }
.landing-pages-hero__orbit span:nth-child(2) { top: 64%; right: 8%; background: #7c64ed; }
.landing-pages-hero__orbit span:nth-child(3) { bottom: 16%; left: 29%; background: #12a775; }
.landing-pages-content { padding-block: 4.8rem 6rem; }
.landing-pages-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.landing-pages-heading h2, .landing-section__heading h2, .landing-pages-final h2 { margin: .35rem 0 0; color: var(--lp-ink); font-size: clamp(1.6rem, 2.5vw, 2.45rem); letter-spacing: -.045em; line-height: 1.05; }
.landing-pages-heading > p { max-width: 29rem; margin: 0; color: var(--lp-soft); font-size: .92rem; line-height: 1.65; text-align: right; }
.landing-search-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.landing-search { width: min(28rem, 100%); display: flex; align-items: center; gap: .6rem; padding: .78rem .95rem; border: 1px solid var(--lp-line); border-radius: .8rem; background: #fff; color: #8791a0; box-shadow: 0 8px 25px rgba(26, 44, 75, .04); }
.landing-search:focus-within { border-color: rgba(22,119,244,.38); box-shadow: 0 0 0 4px rgba(22,119,244,.08); }
.landing-search > span { font-size: 1.2rem; line-height: 1; }
.landing-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--lp-ink); font-size: .85rem; }
.landing-results { color: #8a94a3; font-size: .76rem; font-weight: 600; }
.landing-filters { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0 1.45rem; border-bottom: 1px solid var(--lp-line); }
.landing-filter-group { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.landing-filter { padding: .48rem .72rem; border: 1px solid transparent; border-radius: 999px; background: transparent; color: #7b8594; font-size: .73rem; font-weight: 600; }
.landing-filter:hover { color: var(--brand); background: var(--brand-pale); }
.landing-filter.is-active { border-color: rgba(22,119,244,.19); background: #edf5ff; color: var(--brand); }
.landing-filter-group--controls { justify-content: flex-end; }
.landing-filter-group--controls label { display: inline-flex; align-items: center; gap: .4rem; color: #7b8594; font-size: .73rem; font-weight: 600; }
.landing-filter-group--controls select { padding: .45rem .55rem; border: 1px solid var(--lp-line); border-radius: .55rem; background: #fff; color: #536071; font-size: .72rem; outline: 0; }
.landing-check input { accent-color: var(--brand); }
.landing-section { padding-top: 3.8rem; }
.landing-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.landing-section__heading p { margin: 0; color: #8a94a3; font-size: .8rem; }
.landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.landing-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-card { min-width: 0; overflow: hidden; border: 1px solid var(--lp-line); border-radius: 1.05rem; background: #fff; box-shadow: 0 9px 27px rgba(26, 44, 75, .045); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.landing-card:hover, .landing-card:focus-within { border-color: rgba(22,119,244,.3); transform: translateY(-3px); box-shadow: 0 16px 35px rgba(26, 44, 75, .1); }
.landing-card__stage { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: #172033; }
.landing-card__stage::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 68%, rgba(19, 29, 47, .12)); }
.landing-card__poster, .landing-card__live-preview { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.landing-card__poster img, .landing-detail-hero__preview picture, .landing-detail-hero__preview picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.landing-card__poster { z-index: 1; opacity: 1; transition: transform .35s ease, opacity .14s ease; }
.landing-card:hover .landing-card__poster { transform: scale(1.035); }
.landing-card__live-preview { z-index: 2; display: block; opacity: 0; pointer-events: none; background: #172033; transition: opacity .14s ease; }
.landing-card.is-preview-visible .landing-card__live-preview { opacity: 1; }
.landing-card.is-preview-visible .landing-card__poster { opacity: 0; }
.landing-card__preview-button { position: absolute; z-index: 4; top: .75rem; right: .75rem; padding: .42rem .55rem; border: 1px solid rgba(255,255,255,.65); border-radius: .45rem; background: rgba(21, 31, 48, .68); color: #fff; font-size: .64rem; font-weight: 700; opacity: 0; transition: opacity .18s ease; }
.landing-card:hover .landing-card__preview-button, .landing-card:focus-within .landing-card__preview-button, .landing-card.is-preview-visible .landing-card__preview-button { opacity: 1; }
.landing-card__body { padding: 1rem 1.05rem 1.1rem; }
.landing-card__meta, .landing-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.landing-card__meta { color: #8a94a3; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.landing-card__meta strong { color: var(--brand); font-size: .78rem; }
.landing-card__badges { min-height: 1.55rem; display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .65rem; }
.landing-badge { display: inline-flex; align-items: center; min-height: 1.35rem; padding: .16rem .42rem; border: 1px solid rgba(22,119,244,.17); border-radius: .35rem; background: #f3f8ff; color: var(--brand); font-size: .58rem; font-weight: 800; letter-spacing: .05em; }
.landing-card h3 { margin: .35rem 0 .3rem; color: var(--lp-ink); font-size: 1.12rem; letter-spacing: -.035em; }
.landing-card p { min-height: 3.2rem; margin: 0; color: var(--lp-soft); font-size: .78rem; line-height: 1.55; }
.landing-card__footer { margin-top: .95rem; padding-top: .8rem; border-top: 1px solid var(--lp-line); color: #9099a6; font-size: .67rem; font-weight: 600; }
.landing-card__footer a { color: var(--brand); white-space: nowrap; }
.landing-card__footer a:hover { text-decoration: underline; }
.landing-empty { grid-column: 1 / -1; padding: 3.3rem 1.5rem; border: 1px dashed #ccd5e1; border-radius: 1rem; background: #fafbfd; text-align: center; }
.landing-empty strong { font-size: 1rem; }
.landing-empty p { margin: .45rem 0 1.25rem; color: var(--lp-soft); font-size: .85rem; }
.landing-pages-final { margin-top: 5rem; padding: 4rem 2rem; border: 1px solid #dfe7f1; border-radius: 1.4rem; background: radial-gradient(circle at 85% 25%, rgba(22,119,244,.15), transparent 38%), #f7faff; text-align: center; }
.landing-pages-final h2 { max-width: 32rem; margin: .45rem auto 1.45rem; }

/* Product detail */
.landing-detail-page { padding-block: 2rem 6rem; }
.landing-detail-page .breadcrumbs { margin-bottom: 2.25rem; }
.landing-detail-hero { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(20rem, .82fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-bottom: 3.5rem; border-bottom: 1px solid var(--lp-line); }
.landing-detail-hero__preview { position: relative; overflow: hidden; aspect-ratio: 16 / 10; border: 1px solid var(--lp-line); border-radius: 1.25rem; background: #f2f5f9; box-shadow: 0 20px 50px rgba(26, 44, 75, .1); }
.landing-detail-hero__preview img { width: 100%; height: 100%; object-fit: cover; }
.landing-detail-hero__preview span { position: absolute; left: .9rem; bottom: .85rem; padding: .3rem .48rem; border-radius: .35rem; background: rgba(255,255,255,.86); color: #667384; font-size: .62rem; font-weight: 700; }
.landing-detail-hero__summary { max-width: 33rem; }
.landing-detail-hero__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.landing-detail-hero__title h1 { margin: .35rem 0 .7rem; font-size: clamp(2.3rem, 4.5vw, 4.5rem); letter-spacing: -.07em; line-height: .97; }
.landing-detail-hero__description { margin: 0; color: var(--lp-soft); font-size: 1rem; line-height: 1.7; }
.landing-detail-hero__price { display: flex; align-items: baseline; gap: .75rem; margin-top: 1.8rem; }
.landing-detail-hero__price strong { color: var(--lp-ink); font-size: 1.8rem; letter-spacing: -.045em; }
.landing-detail-hero__price span { color: #8a94a3; font-size: .75rem; }
.landing-detail-hero__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.1rem; }
.landing-detail-hero__note { margin: .8rem 0 0; color: #98a1ae; font-size: .68rem; line-height: 1.5; }
.landing-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: clamp(2rem, 5vw, 5rem); padding-top: 4.1rem; }
.landing-detail-section { padding-bottom: 3.4rem; }
.detail-section__eyebrow { margin: 0 0 .4rem; color: var(--brand); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.landing-detail-section h2 { margin: 0 0 1.25rem; font-size: clamp(1.5rem, 2.5vw, 2.35rem); letter-spacing: -.05em; line-height: 1.08; }
.landing-demo { overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--lp-line); border-radius: 1.15rem; background: #eef2f7; box-shadow: 0 14px 34px rgba(26, 44, 75, .08); }
.landing-demo iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.landing-includes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.landing-includes > div { display: flex; align-items: flex-start; gap: .55rem; padding: .8rem .85rem; border: 1px solid var(--lp-line); border-radius: .7rem; background: #fff; }
.landing-includes span { color: var(--green); font-weight: 800; }
.landing-includes p { margin: 0; color: #657080; font-size: .78rem; }
.landing-spec-table { margin: 0; border-top: 1px solid var(--lp-line); }
.landing-spec-table > div { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--lp-line); }
.landing-spec-table dt { color: #7d8897; font-size: .72rem; font-weight: 700; }
.landing-spec-table dd { margin: 0; color: #495567; font-size: .8rem; }
.landing-detail-aside { display: grid; align-content: start; gap: .75rem; }
.landing-detail-aside .trust-card { margin: 0; }
.landing-detail-aside .trust-card p { font-size: .76rem; }
.landing-detail-aside .trust-card a { display: inline-block; margin-top: .15rem; color: var(--brand); font-size: .72rem; font-weight: 700; }
.landing-related { grid-column: 1 / -1; padding-top: 1.2rem; border-top: 1px solid var(--lp-line); }
.landing-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 980px) {
  .landing-pages-hero { min-height: 27rem; }
  .landing-pages-hero__orbit { right: -20%; opacity: .7; }
  .landing-grid, .landing-grid--featured, .landing-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-filters { align-items: flex-start; flex-direction: column; }
  .landing-filter-group--controls { justify-content: flex-start; }
  .landing-detail-hero { grid-template-columns: 1fr; }
  .landing-detail-hero__summary { max-width: 42rem; }
  .landing-detail-layout { grid-template-columns: 1fr; }
  .landing-detail-aside { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .landing-pages-hero .container { padding-block: 1.8rem 2.7rem; }
  .landing-pages-hero__copy { padding-top: 2.2rem; }
  .landing-pages-hero__copy h1 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
  .landing-pages-hero__orbit { top: 37%; right: -50%; width: 28rem; opacity: .45; }
  .landing-pages-content { padding-block: 3.2rem 4rem; }
  .landing-pages-heading, .landing-section__heading, .landing-search-row { align-items: flex-start; flex-direction: column; }
  .landing-pages-heading > p { text-align: left; }
  .landing-search { width: 100%; }
  .landing-grid, .landing-grid--featured, .landing-grid--related { grid-template-columns: 1fr; }
  .landing-card__preview-button { opacity: 1; }
  .landing-section { padding-top: 3rem; }
  .landing-pages-final { margin-top: 3.5rem; padding: 3rem 1.3rem; }
  .landing-detail-page { padding-top: 1rem; }
  .landing-detail-hero__title { display: block; }
  .landing-detail-hero__title > div { margin-bottom: .85rem; }
  .landing-detail-hero__actions .button { width: 100%; }
  .landing-detail-layout { padding-top: 3rem; }
  .landing-includes { grid-template-columns: 1fr; }
  .landing-spec-table > div { grid-template-columns: 1fr; gap: .3rem; }
  .landing-detail-aside { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-card, .landing-card__poster, .landing-card__live-preview, .landing-card__preview-button { transition: none; }
  .landing-card__live-preview { display: none; }
}

/* ThreeUI Community catalog: the implementation itself is the product cover. */
.landing-grid,
.landing-grid--featured { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.landing-card__stage { display: block; color: inherit; text-decoration: none; }
.landing-card__poster { display: block; }
.landing-card h3 a { color: inherit; text-decoration: none; }
.landing-card h3 a:hover { color: var(--brand); }
.landing-card__footer button { margin: 0; padding: 0; border: 0; background: transparent; color: var(--brand); font: inherit; font-weight: 700; white-space: nowrap; cursor: pointer; }
.landing-card__footer button:hover { text-decoration: underline; }
.landing-filter small { margin-left: .15rem; opacity: .68; font-size: .62rem; }
.landing-audit-note { margin: -.75rem 0 1.2rem; color: #758093; font-size: .75rem; line-height: 1.55; }
.landing-load-more { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: 2rem 0 .2rem; }
.landing-load-more span { color: #8791a0; font-size: .72rem; font-weight: 600; }
.landing-variation-list { display: grid; gap: .5rem; }
.landing-variation-list a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .9rem; border: 1px solid var(--lp-line); border-radius: .7rem; color: var(--lp-ink); font-size: .8rem; font-weight: 600; text-decoration: none; }
.landing-variation-list a:hover { border-color: rgba(22,119,244,.35); color: var(--brand); }
.landing-variation-list small { color: #8490a1; font-size: .66rem; font-weight: 700; text-transform: uppercase; }
.landing-loading { margin: .45rem 0 0; color: #778292; }
.internal-preview-page { width: 100vw; height: 100vh; overflow: hidden; background: #050507; }
.internal-preview-page iframe { display: block; width: 100%; height: 100%; border: 0; background: #050507; }
body.is-internal-preview-page .site-header,
body.is-internal-preview-page .site-footer,
body.is-internal-preview-page .toast { display: none; }
body.is-internal-preview-page #conteudo { min-height: 100vh; }

@media (max-width: 1180px) {
  .landing-grid,
  .landing-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .landing-grid,
  .landing-grid--featured,
  .landing-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .landing-grid,
  .landing-grid--featured,
  .landing-grid--related { grid-template-columns: 1fr; }
  .landing-load-more { align-items: stretch; flex-direction: column; }
  .landing-load-more .button { width: 100%; }
}
