.app-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.app-product-page { width: min(calc(100% - 32px), 1340px); margin: 0 auto; padding: 16px 0 54px; color: #111735; }
.app-product-page svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.app-breadcrumb { display: flex; min-height: 28px; align-items: center; gap: 9px; margin: 0 66px 14px; color: #536080; font-size: 12px; }
.app-breadcrumb a:hover { color: #5f26df; }
.app-breadcrumb__category { color: #6524e5; }

.app-product-header { display: grid; min-height: 126px; grid-template-columns: 108px minmax(300px, 1fr) 190px 196px; align-items: center; gap: 20px; margin: 0 0 16px; }
.app-product-logo { display: grid; width: 108px; height: 108px; overflow: hidden; place-items: center; border: 1px solid #e1e3ef; border-radius: 17px; background: #fff; color: #5721d4; font-size: 42px; font-weight: 850; box-shadow: 0 4px 13px rgb(27 30 75 / 6%); }
.app-product-logo img { width: 100%; height: 100%; padding: 9px; object-fit: contain; }
.app-product-identity { min-width: 0; align-self: center; }
.app-product-identity h1 { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.app-verified { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #6228df; color: #fff; }
.app-verified svg { width: 14px; height: 14px; stroke-width: 2.5; }
.app-product-identity > p { max-width: 660px; margin: 0 0 13px; color: #566180; font-size: 13px; line-height: 1.45; }
.app-product-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.app-product-tags a, .app-product-tags span { border: 1px solid transparent; border-radius: 999px; padding: 4px 12px; background: #f0eaff; color: #6425df; font-size: 11px; font-weight: 650; line-height: 1.2; }
.app-product-tags .app-product-tag--pricing { background: #e8f8ef; color: #12834b; }
.app-product-tags span:last-child:not(.app-product-tag--pricing) { border-color: #dedfeb; background: #fff; color: #5b6380; }
.app-product-rating { align-self: center; color: #35405f; font-size: 12px; }
.app-product-rating > p { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
.app-product-rating > p > svg { width: 18px; height: 18px; fill: #ff9827; stroke: #ff9827; }
.app-product-rating > p strong { color: #182141; font-size: 14px; }
.app-product-rating > div { display: flex; align-items: center; gap: 10px; }
.app-rating-empty { margin-bottom: 5px !important; color: #311176; font-weight: 800; }
.app-stars { display: inline-flex; gap: 2px; color: #d9d3eb; }
.app-stars svg { width: 14px; height: 14px; fill: currentColor; stroke: currentColor; }
.app-stars svg.is-filled { color: #6424df; }
.app-stars--orange svg.is-filled { color: #ff962b; }
.app-product-actions { display: grid; gap: 10px; }
.app-product-actions form { margin: 0; }
.app-visit-button, .app-favorite-button { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: center; gap: 10px; border-radius: 7px; font-size: 11px; font-weight: 760; }
.app-visit-button { border: 1px solid #6126dc; background: linear-gradient(115deg, #5520d1, #7026e6); color: #fff; box-shadow: 0 6px 14px rgb(91 34 211 / 18%); }
.app-favorite-button { border: 1px solid #d8d2ed; background: #fff; color: #5920d3; }
.app-favorite-button.is-favorite { background: #f2edff; }
.app-visit-button svg, .app-favorite-button svg { width: 16px; height: 16px; }
.app-favorite-button svg { fill: transparent; }
.app-favorite-button.is-favorite svg { fill: currentColor; }

.app-product-tabs { display: flex; min-height: 53px; align-items: stretch; gap: 35px; overflow-x: auto; border-bottom: 1px solid #e4e5ed; }
.app-product-tabs a { display: flex; min-width: max-content; align-items: center; border-bottom: 2px solid transparent; padding: 0 16px; color: #35405f; font-size: 11px; font-weight: 720; }
.app-product-tabs a:first-child { padding-left: 17px; }
.app-product-tabs a[aria-current="page"] { border-color: #6727df; color: #5920d5; }

.app-overview-layout { display: grid; grid-template-columns: minmax(0, 1fr) 286px; gap: 28px; padding-top: 22px; }
.app-overview-main { min-width: 0; }
.app-overview-top { display: grid; grid-template-columns: minmax(0, 2.08fr) minmax(274px, .96fr); gap: 28px; }
.app-gallery { min-width: 0; }
.app-gallery-stage { height: 333px; overflow: hidden; border: 1px solid #dfe1eb; border-radius: 12px; background: #f8f9fc; box-shadow: 0 2px 7px rgb(19 23 59 / 3%); }
.app-gallery-stage > img { width: 100%; height: 100%; object-fit: cover; }
.app-gallery-placeholder { display: grid; width: 100%; height: 100%; place-content: center; justify-items: center; gap: 10px; background: radial-gradient(circle at 24% 22%, #f0e7ff, transparent 32%), linear-gradient(135deg, #faf8ff, #f0f6ff); color: #68718d; font-size: 12px; }
.app-gallery-placeholder img { width: 76px; height: 76px; border: 1px solid #e4e4ef; border-radius: 16px; padding: 7px; background: #fff; object-fit: contain; box-shadow: 0 8px 25px rgb(46 34 98 / 11%); }
.app-gallery-placeholder strong { color: #171d3e; font-size: 22px; }
.app-gallery-thumbnails { display: grid; height: 70px; grid-template-columns: repeat(5, minmax(0, 1fr)) 82px; gap: 10px; margin-top: 10px; }
.app-gallery-thumb, .app-gallery-more { display: grid; min-width: 0; overflow: hidden; place-items: center; border: 1px solid #dfe1eb; border-radius: 8px; background: #f8f9fc; }
.app-gallery-thumb.is-active { border: 2px solid #6727e2; }
.app-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.app-gallery-thumb--empty { color: #bbc0d1; }
.app-gallery-thumb--empty svg { width: 17px; height: 17px; }
.app-gallery-more { gap: 2px; padding: 7px; color: #596483; text-align: center; }
.app-gallery-more svg { width: 19px; height: 19px; }
.app-gallery-more small { font-size: 9px; line-height: 1.15; }

.app-information-stack { display: grid; align-content: start; gap: 12px; }
.app-info-card, .app-share-card, .app-review-card, .app-help-card, .app-features-strip, .app-tab-content { border: 1px solid #e0e2ec; border-radius: 12px; background: #fff; box-shadow: 0 2px 7px rgb(26 30 75 / 3%); }
.app-info-card { min-height: 333px; padding: 20px 22px 16px; }
.app-info-card h2, .app-share-card h2, .app-review-card h2, .app-help-card h2 { margin: 0 0 14px; font-size: 14px; letter-spacing: -.025em; }
.app-info-card > p { margin: 0 0 13px; color: #566180; font-size: 11px; line-height: 1.55; }
.app-info-card dl { display: grid; gap: 3px; margin: 18px 0 0; }
.app-info-card dl > div { display: grid; min-height: 28px; grid-template-columns: 105px minmax(0, 1fr); align-items: start; gap: 8px; }
.app-info-card dt { display: flex; align-items: center; gap: 9px; color: #536080; font-size: 10px; }
.app-info-card dt svg { width: 14px; height: 14px; color: #445175; }
.app-info-card dd { min-width: 0; margin: 0; color: #465274; font-size: 10px; font-weight: 650; line-height: 1.4; }
.app-info-card dd a { color: #6423dc; }
.app-share-card { min-height: 94px; padding: 14px 22px; }
.app-share-card h2 { margin-bottom: 10px; }
.app-share-card > div { display: flex; gap: 18px; }
.app-share-card a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #e1e4ed; border-radius: 50%; color: #43618b; font-size: 14px; font-weight: 800; }
.app-share-card a:nth-child(1) { color: #111; }.app-share-card a:nth-child(2) { color: #0a72b8; }.app-share-card a:nth-child(3) { color: #354f9d; }

.app-features-strip { min-height: 115px; margin-top: 24px; padding: 14px 16px 15px; }
.app-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.app-section-heading h2 { margin: 0; font-size: 13px; }
.app-section-heading a { color: #5e22d7; font-size: 9px; font-weight: 750; }
.app-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.app-feature-grid article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; }
.app-feature-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 9px; font-weight: 900; }
.app-feature-icon--1 { background: #f0eaff; color: #6928e6; }.app-feature-icon--2 { background: #e7f8ef; color: #0da760; }.app-feature-icon--3 { background: #fff1e5; color: #f77920; }.app-feature-icon--4 { background: #e8f3ff; color: #2682eb; }
.app-feature-grid h3 { margin: 1px 0 4px; font-size: 10px; letter-spacing: 0; }
.app-feature-grid p { margin: 0; color: #626d8a; font-size: 9px; line-height: 1.45; }
.app-data-empty { margin: 6px 0 0; color: #65708c; font-size: 11px; }

.app-review-column { display: grid; align-content: start; gap: 14px; }
.app-review-card { overflow: hidden; padding: 21px 20px 0; }
.app-review-score { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
.app-review-score > strong { color: #111735; font-size: 39px; line-height: 1; letter-spacing: -.04em; }
.app-review-score > div { display: grid; gap: 4px; }
.app-review-score small { color: #596582; font-size: 9px; }
.app-rating-bars { display: grid; gap: 8px; padding-bottom: 17px; }
.app-rating-bars > div { display: grid; grid-template-columns: 24px 1fr 32px; align-items: center; gap: 8px; color: #5c6783; font-size: 9px; }
.app-rating-bars span { display: flex; align-items: center; gap: 3px; }
.app-rating-bars svg { width: 9px; height: 9px; fill: #ff9d2b; stroke: #ff9d2b; }
.app-rating-bars i { height: 5px; overflow: hidden; border-radius: 999px; background: #eeeef5; }
.app-rating-bars b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5420d1, #7528e9); }
.app-rating-bars em { font-style: normal; text-align: right; }
.app-no-reviews { display: grid; min-height: 158px; place-content: center; justify-items: center; color: #69738d; text-align: center; }
.app-no-reviews strong { color: #bcc1d0; font-size: 38px; }.app-no-reviews p { margin: 6px 0; font-size: 11px; }
.app-featured-review { margin: 0 -20px; border-top: 1px solid #e5e6ee; padding: 17px 20px 18px; }
.app-featured-review h3 { margin: 0 0 13px; font-size: 12px; }
.app-featured-review header { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 9px; }
.app-review-avatar { display: grid; width: 30px; height: 30px; overflow: hidden; place-items: center; border-radius: 50%; background: #efe8ff; color: #6324dc; font-size: 11px; font-weight: 800; }
.app-review-avatar img { width: 100%; height: 100%; object-fit: cover; }
.app-featured-review header > div { display: grid; }
.app-featured-review header strong { font-size: 9px; }.app-featured-review header small { color: #65708c; font-size: 8px; }
.app-featured-review .app-stars svg { width: 10px; height: 10px; }
.app-featured-review > p { margin: 14px 0; color: #374361; font-size: 10px; line-height: 1.55; }
.app-featured-review > a { display: block; color: #5f20d8; font-size: 9px; font-weight: 750; text-align: center; }
.app-help-card { padding: 17px 18px; background: linear-gradient(140deg, #faf7ff, #f5f0ff); }
.app-help-card h2 { margin-bottom: 8px; }
.app-help-card p { margin: 0 0 12px; color: #596481; font-size: 10px; }
.app-help-card a { display: flex; min-height: 35px; align-items: center; justify-content: center; border: 1px solid #8d61e8; border-radius: 6px; background: #fff; color: #5d20d7; font-size: 9px; font-weight: 760; }

.app-tab-content { min-height: 330px; margin-top: 22px; padding: 28px; }
.app-tab-heading { margin-bottom: 24px; }.app-tab-heading h2 { margin: 0 0 7px; font-size: 24px; }.app-tab-heading p { margin: 0; color: #5b6682; font-size: 13px; }
.app-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.app-detail-grid article, .app-tab-review { border: 1px solid #e3e4ed; border-radius: 10px; padding: 18px; }
.app-detail-grid h3 { margin: 12px 0 6px; font-size: 14px; }.app-detail-grid p, .app-detail-grid a, .app-tab-review p { margin: 0; color: #606b87; font-size: 11px; }
.app-primary-link { display: inline-flex; min-height: 40px; align-items: center; border-radius: 7px; padding: 0 16px; background: #6224dc; color: #fff; font-size: 11px; font-weight: 750; }
.app-tab-review { max-width: 720px; }.app-tab-review h3 { margin: 8px 0; }

.app-reviews-layout { display: grid; grid-template-columns: minmax(0, 1fr) 286px; align-items: start; gap: 28px; padding-top: 14px; }
.app-reviews-panel, .app-review-summary, .app-review-write { border: 1px solid #e0e2ec; border-radius: 12px; background: #fff; box-shadow: 0 2px 7px rgb(26 30 75 / 3%); }
.app-reviews-panel { overflow: hidden; }
.app-reviews-toolbar { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e5e6ee; padding: 12px 18px; }
.app-reviews-toolbar h2 { margin: 0; font-size: 14px; letter-spacing: -.02em; white-space: nowrap; }
.app-reviews-toolbar h2 span { font-weight: 650; }
.app-reviews-toolbar form { display: flex; align-items: center; gap: 10px; }
.app-reviews-toolbar select { min-width: 124px; height: 34px; border: 1px solid #dde0eb; border-radius: 7px; padding: 0 25px 0 10px; background: #fff; color: #273251; font-size: 9px; }
.app-reviews-toolbar label:last-of-type select { min-width: 140px; }
.app-reviews-toolbar button { height: 34px; border: 1px solid #7140e5; border-radius: 7px; padding: 0 12px; background: #6b2dde; color: #fff; font-size: 9px; font-weight: 750; }
.app-reviews-list { display: grid; }
.app-review-row { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 18px; min-height: 148px; border-bottom: 1px solid #e7e8ef; padding: 18px 20px; }
.app-review-row:last-child { border-bottom: 0; }
.app-review-author { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-content: start; gap: 8px 10px; }
.app-review-author > img, .app-review-author > span { display: grid; width: 42px; height: 42px; grid-row: span 2; place-items: center; border: 2px solid #fff; border-radius: 50%; background: linear-gradient(145deg, #26345f, #d27a74); color: #fff; font-size: 11px; font-weight: 850; object-fit: cover; box-shadow: 0 3px 10px rgb(31 34 76 / 16%); }
.app-review-author > div:nth-child(2) { min-width: 0; padding-top: 2px; }
.app-review-author strong { display: flex; align-items: center; gap: 5px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.app-review-author strong b { display: grid; width: 13px; height: 13px; place-items: center; border-radius: 50%; background: #6929df; color: #fff; font-size: 8px; }
.app-review-author time { display: block; margin-top: 3px; color: #66718e; font-size: 8px; }
.app-review-row-rating { display: flex; grid-column: 2; align-items: center; gap: 10px; }
.app-review-row-rating .app-stars svg { width: 16px; height: 16px; }
.app-review-row-rating em { color: #18203f; font-size: 9px; font-style: normal; font-weight: 750; }
.app-review-badges { display: flex; grid-column: 2; flex-wrap: wrap; gap: 7px; }
.app-review-badges span, .app-review-badges small { border-radius: 999px; padding: 4px 9px; font-size: 8px; line-height: 1; }
.app-review-badges span { background: #dcf8e9; color: #07814a; }
.app-review-badges small { background: #f5f6fa; color: #5b6683; }
.app-review-message { position: relative; min-width: 0; padding-top: 2px; }
.app-review-message h3 { margin: 0 25px 8px 0; color: #111735; font-size: 12px; letter-spacing: -.01em; }
.app-review-message > p { max-width: 650px; margin: 0; color: #35415f; font-size: 10px; line-height: 1.6; }
.app-review-menu { position: absolute; top: -2px; right: 1px; color: #4c5778; font-size: 18px; line-height: 1; }
.app-review-helpful { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 15px; color: #5c6784; font-size: 8px; }
.app-review-helpful span:not(:first-child) { border: 1px solid #dfe2ed; border-radius: 7px; padding: 5px 9px; background: #fff; color: #33405f; }
.app-reviews-empty { display: grid; min-height: 320px; place-content: center; justify-items: center; padding: 28px; color: #616c87; text-align: center; }
.app-reviews-empty strong { color: #202846; font-size: 15px; }.app-reviews-empty p { margin: 7px 0 15px; font-size: 11px; }.app-reviews-empty a { color: #6426dc; font-size: 10px; font-weight: 800; }
.app-reviews-rail { display: grid; gap: 12px; }
.app-review-summary, .app-review-write { padding: 17px 18px; }
.app-review-summary h2, .app-review-write h2 { margin: 0 0 12px; font-size: 12px; }
.app-review-summary-score { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.app-review-summary-score > strong { color: #111735; font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.app-review-summary-score > div { display: grid; gap: 4px; }
.app-review-summary-score .app-stars svg { width: 14px; height: 14px; }
.app-review-summary-score span { color: #596582; font-size: 8px; }
.app-rating-bars--reviews { padding-bottom: 0; }
.app-review-write > div { color: #6730de; font-size: 27px; letter-spacing: 2px; line-height: 1; }
.app-review-write p { margin: 13px 0 10px; color: #5b6683; font-size: 9px; }
.app-review-write a { display: flex; min-height: 34px; align-items: center; justify-content: center; border: 1px solid #8a5aeb; border-radius: 6px; color: #5d22d7; font-size: 9px; font-weight: 800; }
.app-help-card--reviews { padding: 17px 18px; }
.app-reviews-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 12px 314px 0 0; }
.app-reviews-pagination a, .app-reviews-pagination span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #e0e2eb; border-radius: 7px; color: #263252; font-size: 10px; }
.app-reviews-pagination a[aria-current="page"] { border-color: #6727df; background: #6727df; color: #fff; font-weight: 800; }
.app-reviews-pagination span { border-color: transparent; color: #858da3; }

@media (max-width: 1120px) {
  .app-product-header { grid-template-columns: 92px minmax(260px, 1fr) 170px; }.app-product-logo { width: 92px; height: 92px; }.app-product-actions { grid-column: 2 / -1; grid-template-columns: 1fr 1fr; }.app-overview-layout { grid-template-columns: 1fr; }.app-review-column { grid-template-columns: 1fr 1fr; }.app-help-card { align-self: start; }.app-reviews-layout { grid-template-columns: 1fr; }.app-reviews-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }.app-reviews-pagination { margin-right: 0; }
}
@media (max-width: 860px) {
  .app-breadcrumb { margin-inline: 0; }.app-product-header { grid-template-columns: 82px 1fr; }.app-product-logo { width: 82px; height: 82px; border-radius: 14px; }.app-product-rating { grid-column: 1 / -1; }.app-product-actions { grid-column: 1 / -1; }.app-overview-top { grid-template-columns: 1fr; }.app-information-stack { grid-template-columns: 1fr 1fr; }.app-info-card { min-height: 0; }.app-feature-grid { grid-template-columns: 1fr 1fr; }.app-detail-grid { grid-template-columns: 1fr 1fr; }.app-reviews-toolbar { align-items: flex-start; flex-direction: column; }.app-reviews-toolbar form { width: 100%; flex-wrap: wrap; }.app-review-row { grid-template-columns: 200px minmax(0, 1fr); }.app-reviews-rail { grid-template-columns: 1fr 1fr; }.app-help-card--reviews { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .app-product-page { width: min(calc(100% - 24px), 1340px); padding-top: 10px; }.app-product-header { gap: 14px; }.app-product-identity h1 { font-size: 27px; }.app-product-actions { grid-template-columns: 1fr; }.app-product-tabs { gap: 8px; }.app-product-tabs a { padding-inline: 11px; }.app-gallery-stage { height: 240px; }.app-gallery-thumbnails { height: 58px; grid-template-columns: repeat(3, 1fr) 72px; }.app-gallery-thumb:nth-child(n+4) { display: none; }.app-information-stack, .app-review-column { grid-template-columns: 1fr; }.app-feature-grid, .app-detail-grid { grid-template-columns: 1fr; }.app-section-heading { align-items: flex-start; flex-direction: column; gap: 7px; }.app-info-card dl > div { grid-template-columns: 96px minmax(0, 1fr); }.app-reviews-toolbar form { display: grid; grid-template-columns: 1fr 1fr; }.app-reviews-toolbar label:last-of-type { grid-column: 1 / -1; }.app-reviews-toolbar select { width: 100%; min-width: 0; }.app-reviews-toolbar button { grid-column: 1 / -1; }.app-review-row { grid-template-columns: 1fr; padding-inline: 15px; }.app-review-author { grid-template-columns: 42px minmax(0, 1fr); }.app-review-message { padding-left: 52px; }.app-reviews-rail { grid-template-columns: 1fr; }.app-help-card--reviews { grid-column: auto; }
}
