/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
@media only all and (max-width: 47.99rem) {
  body [class*="size-"] {
    width: 100%;
  }
}
.h2anonsdetail {
  font-size: 1.1rem !important;
  margin-left: 12px !important;
  padding: 0 !important;
}
/* BOF JLex Reviews  */
.starContainer {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
/* Let's line up the stars */
.starContainer .reviewStars {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
}
.mod_flexicontent .starContainer a.jreview-begin {
  display: none !important;
}
/* Link style: “100 ratings” */
.starContainer a.jreview-begin {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #888 !important;
  letter-spacing: 0.3px !important;
  background: #f4f4f4 !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 20px !important;
  padding: 2px 10px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
.starContainer a.jreview-begin:hover {
  background: #e8e8e8 !important;
  color: #66abff !important;
}
/* Toast-уведомление вместо inline-текста */
/* Убираем position:relative у starContainer — чтобы span.qs не привязывался к нему */
.starContainer {
  position: static !important;
}
/* Делаем apptop_pad точкой привязки — он виден и на десктопе, и на мобильном */
.apptop_pad {
  position: relative !important;
}
/* Попап */
span.qs {
  position: absolute !important;
  bottom: 105% !important;
  /* строго над блоком */
  left: 160px !important;
  /* выравнивание по левому краю звёзд (иконка ~160px) */
  top: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  min-width: 140px;
  background: #4a90d9;
  color: #fff;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 13px;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  pointer-events: none;
}
/* Стрелка вниз — к звёздам */
span.qs::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 12px;
  border: 6px solid transparent;
  border-top-color: #4a90d9;
}
/* Мобильный: звёзды уходят за экран из-за layout,
   поэтому попап растягиваем на всю ширину блока — над иконкой/названием */
@media (max-width: 768px) {
  span.qs {
    left: 0 !important;
    right: 0 !important;
    white-space: normal !important;
    text-align: center;
  }
  span.qs::after {
    left: 50%;
    transform: translateX(-50%);
  }
}
/* EOF JLex Reviews  */
.blognews .flexicontent, .syspage #g-mainbar .g-content {
  background: #fff;
  padding: 0 2em 2em 2em;
}
.blognews h2 {
  line-height: 1.4;
}
/*BOF Verdict*/
.app-verdict {
  border-left: 5px solid #4e9deb;
  background: #eff7ff;
  padding: 16px 20px;
  margin: 24px 0;
}
.verdict-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.verdict-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #4e9deb;
  color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
}
.verdict-title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #2b61c0;
  margin: 0;
}
.verdict-body {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333;
}
.verdict-body p {
  margin: 0;
}
/*EOF Verdict*/
:is(.ifaq-tpl-apps_ifaq, .strongblock) :is(b, strong) {
  background: color-mix(in srgb, var(--m-accent) 10%, transparent);
  color: var(--m-text);
  padding: 2px 10px;
  border-radius: 8px;
  font-weight: 600;
}
.ifaq-tpl-apps_ifaq :is(b, strong) {
  background: color-mix(in srgb, var(--m-accent) 10%, transparent);
  color: var(--m-text);
  padding: 2px 10px;
  border-radius: 8px;
  font-weight: 600;
}
.fa-solid.fa-ban {
  font-size: 180px;
  color: red;
}
.prohibited-content {
  padding: 2rem;
}
.prohibited-content p {
  font-size: 2rem;
  line-height: 1.2;
}
/* BOF What's New & FAQ */
#app-whats-new h2, #faq h2 {
  margin: 0 !important;
}
.whats-new-updated, .faq {
  font-size: 13px;
}
/* EOF What's New & FAQ */
.jr-voted {
  display: none;
}
.directory-audio {
  background: #15a483;
  border-radius: 7px;
  margin: 0 7px;
  padding: 20px 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.directory-audio p {
  color: white;
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
.directory-audio p a {
  color: white;
  text-decoration: underline;
}
.alignselfcenter {
  align-self: center;
}
.displayflex {
  display: flex;
}
/* BOF Font Awesome Icons As SVG  */
/* > Top Menu*/
/* > Mobile Menu*/
#g-mobilemenu-container .g-toplevel > li > .g-menu-item-container {
  display: flex;
  align-items: center;
}
#g-mobilemenu-container .g-toplevel > li > .g-menu-item-container::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  background-size: contain;
  background-repeat: no-repeat;
}
#g-mobilemenu-container .g-toplevel > li > .g-menu-item-container {
  width: 100%;
}
.g-menu-item-4170 > a::before, .g-menu-item-4502 > a::before, .android-icon::before {
  background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20576%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22green%22%20d%3D%22m420.6%20301.9a24%2024%200%201%201%2024-24%2024%2024%200%200%201%20-24%2024m-265.1%200a24%2024%200%201%201%2024-24%2024%2024%200%200%201%20-24%2024m273.7-144.5%2047.9-83a10%2010%200%201%200%20-17.3-10l-48.5%2084.1a301.3%20301.3%200%200%200%20-246.6%200l-48.5-84a10%2010%200%201%200%20-17.3%2010l47.9%2083c-82.3%2044.7-138.6%20128.1-146.8%20226.5h576c-8.2-98.5-64.5-181.8-146.9-226.6%22%2F%3E%3C%2Fsvg%3E');
}
.g-menu-item-4169 > a::before, .g-menu-item-4492 > a::before, .windows-icon::before {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23319cc7%22%20d%3D%22M0%2093.7l183.6-25.3v177.4H0V93.7zm0%20324.6l183.6%2025.3V268.4H0v149.9zm203.8%2028L448%20480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8%2065.7z%22%2F%3E%3C%2Fsvg%3E');
}
.g-menu-item-4171 > a::before, .g-menu-item-4511 > a::before, .macos-icon::before {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20fill%3D%22%23808080%22%20d%3D%22M318.7%20268.7c-.2-36.7%2016.4-64.4%2050-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3%2020.7-88.5%2020.7-15%200-49.4-19.7-76.4-19.7C63.3%20141.2%204%20184.8%204%20273.5q0%2039.3%2014.4%2081.2c12.8%2036.7%2059%20126.7%20107.2%20125.2%2025.2-.6%2043-17.9%2075.8-17.9%2031.8%200%2048.3%2017.9%2076.4%2017.9%2048.6-.7%2090.4-82.5%20102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4%2024.8-61.9%2024-72.5-24.1%201.4-52%2016.4-67.9%2034.9-17.5%2019.8-27.8%2044.3-25.6%2071.9%2026.1%202%2049.9-11.4%2069.5-34.3z%22/%3E%3C/svg%3E');
}
.g-menu-item-3144 > a::before, .g-menu-item-4489 > a::before {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%3E%3Cpath%20fill%3D%22%238b6cf6%22%20d%3D%22M64%2096c0-35.3%2028.7-64%2064-64l384%200c35.3%200%2064%2028.7%2064%2064l0%20256-64%200%200-256L128%2096l0%20256-64%200L64%2096zM0%20403.2C0%20392.6%208.6%20384%2019.2%20384l601.6%200c10.6%200%2019.2%208.6%2019.2%2019.2c0%2042.4-34.4%2076.8-76.8%2076.8L76.8%20480C34.4%20480%200%20445.6%200%20403.2zM281%20209l-31%2031%2031%2031c9.4%209.4%209.4%2024.6%200%2033.9s-24.6%209.4-33.9%200l-48-48c-9.4-9.4-9.4-24.6%200-33.9l48-48c9.4-9.4%2024.6-9.4%2033.9%200s9.4%2024.6%200%2033.9zM393%20175l48%2048c9.4%209.4%209.4%2024.6%200%2033.9l-48%2048c-9.4%209.4-24.6%209.4-33.9%200s-9.4-24.6%200-33.9l31-31-31-31c-9.4-9.4-9.4-24.6%200-33.9s24.6-9.4%2033.9%200z%22%2F%3E%3C%2Fsvg%3E');
}
.g-menu-item-4014 > a::before, .g-menu-item-4490 > a::before {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23f59a2b%22%20d%3D%22M349.4%2044.6c5.9-13.7%201.5-29.7-10.6-38.5s-28.6-8-39.9%201.8l-256%20224c-10%208.8-13.6%2022.9-8.9%2035.3S50.7%20288%2064%20288l111.5%200L98.6%20467.4c-5.9%2013.7-1.5%2029.7%2010.6%2038.5s28.6%208%2039.9-1.8l256-224c10-8.8%2013.6-22.9%208.9-35.3s-16.6-20.7-30-20.7l-111.5%200L349.4%2044.6z%22%2F%3E%3C%2Fsvg%3E');
}
.android-icon::before, .windows-icon::before, .macos-icon::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}
.android-icon::before {
  top: 3px;
}
.osinfo, .version-info {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.version-info svg {
  width: 21px;
  height: 21px;
  fill: #309cc7;
  margin-right: 10px;
}
.g-go-back a:before, #g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator:after, .g-main-nav .g-sublevel > li.g-parent.g-selected > .g-menu-item-container > .g-menu-parent-indicator:after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}
.g-go-back a:before {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M9.4%20233.4c-12.5%2012.5-12.5%2032.8%200%2045.3l192%20192c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L77.3%20256%20246.6%2086.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200l-192%20192z%22/%3E%3C/svg%3E');
}
#g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator:after {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M310.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-192%20192c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L242.7%20256%2073.4%2086.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l192%20192z%22/%3E%3C/svg%3E');
  left: 2px;
}
.g-main-nav .g-sublevel > li.g-parent.g-selected > .g-menu-item-container > .g-menu-parent-indicator:after {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M342.6%20150.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L192%20210.7%2086.6%20105.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L146.7%20256%2041.4%20361.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L192%20301.3%20297.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L237.3%20256%20342.6%20150.6z%22/%3E%3C/svg%3E');
  right: 2px;
}
/* EOF Font Awesome Icons As SVG  */
.adsbygoogle {
  position: relative;
  z-index: 2;
}
.moduletitle {
  position: relative;
  color: white;
  font-size: 26px;
  margin: 0;
  padding: 0 10px;
}
.mainpagewindows .moduletitle a, .mainpageandroid .moduletitle a {
  color: white;
  display: flex;
  align-items: center;
}
.mainpagewindows .moduletitle, .mainpageandroid .moduletitle {
  color: white;
  text-underline-offset: 7px;
  display: flex;
  align-items: center;
}
.moduletitle svg {
  margin-right: 12px;
  width: 40px;
  height: 40px;
  fill: white;
}
.appinfo-title {
  display: flex;
  align-items: center;
  font-size: 2rem;
}
.appinfromation svg {
  margin-right: 12px;
  width: 40px;
  height: 40px;
  fill: #309cc7;
}
@media (max-width: 625px) {
  .moduletitle svg {
    display: none;
  }
}
#g-header .g-content, #g-header .platform-content {
  margin: 0;
  padding: 0;
}
#g-header a {
  color: #121212;
}
/* BOF Custom CSS Breadcrumbs */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
  margin: 5px 0 5px 25px;
  background: none !important;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: var(--bs-breadcrumb-divider, "/");
}
.breadcrumb-item.active {
  color: #6c757d;
}
.bread-home {
  width: 20px;
  height: 20px;
}
.bread-home svg {
  width: 17px;
  height: 17px;
  position: relative;
  top: 2px;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: unset;
}
.moduletable .breadcrumb span {
  display: inline-block;
}
.breadcrumb-item.active {
  overflow: hidden;
  text-overflow: ellipsis;
}
ul.breadcrumb li {
  margin-right: 5px;
}
/* EOF Custom CSS Breadcrumbs */
.file_download_button, .fcfile_actions > form {
  width: 100%;
}
.blognews .g-content h1, .syspage .g-content h1 {
  padding: 2rem 0 0 0 !important;
}
/* BOF Custom Item Top Pad */
#g-mainbar .g-content h1 {
  margin-top: 0;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 2rem;
  padding-left: 10px;
}
#g-mainbar .g-content h1 span {
  font-size: 15px;
  color: #777777;
}
.apptop_pad {
  margin-top: 20px;
  display: flex;
}
.apptop_pad figure {
  margin: 0;
}
.apptop_pad .itemicon {
  flex: 0 0 auto;
}
.apptop_pad .itemicon img {
  width: 150px;
  height: 150px;
  border-radius: 7px;
}
.itemtopinfo {
  padding-left: 10px;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.anonsdetail {
  background-color: #fff;
  font-size: 17px;
  line-height: 1.3;
}
.ratingtop {
  line-height: 1;
  min-height: 50px;
}
.app_short_data {
  font-size: 0.94rem;
  font-weight: 700;
  color: #5b5b5b;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  height: 40px;
}
.app_short_data div:nth-child(1) {
  flex: 0 0 auto;
  white-space: nowrap;
}
.app_short_data div:nth-child(2) {
  flex: 1 1 auto;
  white-space: nowrap;
  overflow: hidden;
  /* Обрезает слишком длинный текст */
  text-overflow: ellipsis;
  /* Добавляет троеточие для длинного текста */
}
.dl_button_top {
  color: #fff;
  padding: 10px 20px;
  margin-top: auto;
  max-width: 240px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dl_button_top svg, .oval-button-text svg {
  width: 20px;
  height: 20px;
  min-height: 20px;
  min-width: 20px;
  fill: white;
  margin-right: 10px;
}
.app_download .dl_button_top {
  display: none;
}
@media (max-width: 504px) {
  .app_short_data {
    margin-top: auto;
  }
  .apptop_pad .dl_button_top {
    display: none;
  }
  .app_download {
    display: flex;
    justify-content: center;
    margin-top: 10px;
  }
  .app_download .dl_button_top {
    display: flex;
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .apptop_pad {
    padding: 0;
  }
  .app_short_info {
    order: 2;
  }
}
/* EOF Custom Item Top Pad */
.mp-it-art {
  position: relative;
  background: #fff !important;
  margin: 10px;
  overflow: hidden;
}
.mp-it-art-title {
  padding: 10px;
}
.mp-it-art-title a {
  color: #151617;
  font-weight: bold;
  line-height: 1.2;
}
.mp-it-art-title a:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 2;
}
.it-image {
  width: 100%;
  max-height: 200px;
  overflow: hidden;
  z-index: -99999;
  border: 2px solid #fff;
  border-bottom: none;
}
.mod_flexicontent_standard_article {
  font-size: 13px;
  margin-bottom: 1px;
}
.mod_flexicontent_standard_article a {
  line-height: 1.5;
}
/*! BOF CSS Used from: https://winsoft.com.ua/components/com_flexicontent/assets/css/flexicontent.css */
:root {
  --form-inp-height:36px;
  --ctrls-inp-height:36px;
  --fcman-inp-height:36px;
  --filts-inp-height:36px;
}
body .fc-mssg {
  border: 1px solid;
  display: block;
  margin: 1px 0 5px 0;
  padding: 8px 10px 12px 36px;
  border-radius: 6px;
  font-size: 12px;
  white-space: normal;
  line-height: 140%;
  box-sizing: border-box;
  color: #292B2C;
}
body .fc-mssg.fc-info {
  background: #F0F9FC url('https://winsoft.com.ua/components/com_flexicontent/assets/images/information.png') no-repeat;
  background-position: 10px 50%;
  border-color: #5BC0DE;
  border-left: 10px solid #5BC0DE;
}
body .fc-mssg.fc-nobgimage {
  background-image: none;
  padding: 4px 8px;
}
.flexicontent .fc-iblock {
  display: inline-block;
}
#flexicontent .nowrap_box, .flexicontent .nowrap_box {
  white-space: nowrap !important;
  vertical-align: top;
  display: inline-block;
  float: none;
}
#flexicontent {
  margin: 0px;
}
.fcclear {
  border: 0 !important;
  clear: both !important;
  float: none !important;
  font-size: 1px !important;
  height: 0 !important;
  line-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  display: block !important;
}
#fc_filter_form_blocker {
  display: none;
  z-index: 2000;
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#fc_filter_form_blocker .fc_blocker_overlay {
  display: block;
  z-index: 2000;
  position: absolute !important;
  top: 0;
  left: 0;
  background-color: rgba(51, 51, 51, 0.521);
  width: 100%;
  height: 100%;
}
#fc_filter_form_blocker .fc_blocker_content {
  display: block;
  z-index: 2001;
  box-sizing: content-box !important;
  position: relative !important;
  top: 35%;
  left: 50%;
  font-size: 18px;
  font-weight: bold;
  color: #555;
  background: white 30px 40px no-repeat;
  width: auto;
  padding: 2em 2em 3em 2em;
  margin: 0px;
  border-radius: 0.5em;
  text-align: center;
  width: 280px;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
#fc_filter_form_blocker .fc_blocker_bar {
  display: block;
  box-sizing: content-box !important;
  position: relative !important;
  left: 0;
  top: 1.5em;
  width: 100%;
  height: 22px;
  border-radius: 4px;
  background-color: #f5f5f5;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
#fc_filter_form_blocker .fc_blocker_mssg {
  font-size: 1.2rem;
  height: 1.6rem;
  line-height: 1.6rem;
}
#fc_filter_form_blocker .fc_blocker_bar div {
  border-radius: 4px;
  display: block;
  height: 100%;
  color: #fff;
  text-align: right;
  line-height: 22px;
  width: 0;
  background-color: #0099ff;
}
.fcclear, #flexicontent .fcclear {
  border: 0;
  clear: both;
  float: none;
  font-size: 1px;
  height: 0;
  line-height: 1px;
  margin: 0;
  padding: 0;
  visibility: hidden;
}
.parent-container .g-content {
  margin-top: 0;
  padding-top: 0;
}
img.fc_field_image {
  display: inline-block;
  margin: 0px 4px 6px 0px;
}
div .fc_image_thumb {
  display: inline-block;
  text-decoration: none;
  float: left;
}
/*! CSS Used from: https://winsoft.com.ua/media/gantry5/engines/nucleus/css-compiled/nucleus.css */
*, *::before, *::after {
  box-sizing: inherit;
}
a {
  background: transparent;
  text-decoration: none;
}
a:active, a:hover {
  outline: 0;
}
img {
  height: auto;
  max-width: 100%;
  display: inline-block;
  vertical-align: middle;
  border: 0;
  -ms-interpolation-mode: bicubic;
}
ul {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
ul {
  margin-left: 1.5rem;
  padding: 0;
}
/*! CSS Used from: https://winsoft.com.ua/templates/g5_helium/custom/css-compiled/helium_38.css?67757aa3 */
a {
  color: #0d6efd;
  transition: all 0.2s;
}
a:hover {
  color: #424753;
}
/*! CSS Used from: https://winsoft.com.ua/templates/g5_helium/custom/css-compiled/custom_38.css?67757b18 */
img.fc_field_image {
  border: none !important;
  width: 100%;
}
.screenshots {
  margin-top: 2px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  text-align: left;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  padding: 0 25px 15px 0;
  text-align: center;
}
div .fc_image_thumb {
  margin-right: 10px;
  float: none !important;
}
::-webkit-scrollbar {
  width: 12px;
  height: 10px;
}
::-webkit-scrollbar-thumb:hover {
  border-width: 1px 1px 1px 2px;
  border-color: #555;
  background-color: #777;
}
::-webkit-scrollbar-thumb {
  border-width: 1px 1px 1px 2px;
  border-color: #777;
  background-color: #b9b9b9;
  margin-top: 20px;
}
::-webkit-scrollbar-track {
  border-width: 0;
}
@media screen and (max-width: 1199px) {
  .screenshots {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 979px) {
  .screenshots {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .screenshots {
    width: 100%;
  }
}
@media screen and (max-width: 720px) {
  .screenshots {
    width: 100%;
  }
}
@media screen and (max-width: 670px) {
  .screenshots {
    width: 100%;
  }
}
@media screen and (max-width: 590px) {
  .screenshots {
    width: 100%;
  }
}
@media screen and (max-width: 575px) {
  .screenshots {
    width: auto;
  }
}
.group:before, .group:after {
  content: " ";
  display: table;
}
.group:after {
  clear: both;
}
div.voting-group {
  height: 25px;
}
#flexicontent div.fcvote-count, .fcvote-label.xid-main {
  display: none;
}
#flexicontent .clear {
  border: 0;
  clear: both;
  float: none;
  font-size: 1px;
  height: 0;
  line-height: 1px;
  margin: 0;
  padding: 0;
  visibility: hidden;
}
.group:before, .group:after {
  content: " ";
  display: table;
}
.group:after {
  clear: both;
}
.catrating {
  width: 100%;
  text-align: center;
  margin-bottom: 5px;
}
/* OF FC Category CSS */
/* BOR Collapse Accordion from Bootstrap */
/* Основные стили для ссылки-кнопки */
.collapsebutton {
  display: inline-block;
  padding: 10px 15px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.collapse {
  display: none;
  /* Скрывает блок по умолчанию */
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background-color: #f8f9fa;
  margin-top: 10px;
  transition: max-height 0.3s ease, opacity 0.3s ease;
  overflow: hidden;
}
.collapse.show {
  display: block;
}
.card-body {
  font-size: 14px;
  line-height: 1.5;
  color: #333;
}
.collapse {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
.collapse.show {
  max-height: 500px;
  opacity: 1;
}
/* BOF Custom CSS Pagination */
.pagination {
  display: flex;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  font-weight: 600;
}
.page-link {
  position: relative;
  display: block;
  color: #ababab;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #dee2e6;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.page-link:focus {
  z-index: 3;
  color: #a1a1a1;
  background-color: #e9ecef;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.page-item:not(:first-child) .page-link {
  margin-left: -1px;
}
.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
  border-color: #dee2e6;
}
.page-link {
  padding: 0.375rem 0.75rem;
}
.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}
.icon-angle-double-left, .icon-angle-left, .icon-angle-double-right, .icon-angle-right {
  width: 15px;
  height: 15px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  position: relative;
  top: 1px;
}
.icon-angle-double-left {
  background-image: url('../images/svg/angles-left-solid.svg');
}
.icon-angle-left {
  background-image: url('../images/svg/angle-left-solid.svg');
}
.icon-angle-double-right {
  background-image: url('../images/svg/angles-right-solid.svg');
}
.icon-angle-right {
  background-image: url('../images/svg/angle-right-solid.svg');
}
/* EOF Custom CSS Pagination */
.winlogo {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .winlogo {
    justify-content: center;
  }
  #g-navigation {
    padding: 30px !important;
  }
  .g-main-nav {
    display: none;
  }
}
#g-navigation .g-logo {
  padding: 0 !important;
}
.search-container {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.search-container svg:hover {
  cursor: pointer;
}
.eb-inst {
  position: absolute;
  z-index: 100002;
}
.article-image img {
  width: 100% !important;
}
.more-articles {
  font-size: 2rem;
}
.appsreadmore a {
  display: block;
  clear: both;
  text-align: center;
  font-size: 1rem !important;
}
.files-outter {
  max-width: 50rem;
}
#flexicontent .btn {
  width: 100%;
  text-align: left;
}
.file_download_button, .fcfile_actions > form {
  width: 100%;
}
.collapsebutton {
  text-transform: unset !important;
  padding: 10px 20px;
  border-radius: 5px;
  background: #f6f6f6;
  color: #292929;
  font-weight: 400;
  font-size: 15px;
  width: 100%;
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.collapsebutton:hover, .collapsebutton:focus {
  background: #878787 !important;
}
.convertforms.cf.cf-img-above {
  max-width: 100%;
  margin: 0 auto;
}
.fc_sharedmedia_player_outer iframe {
  width: 100%;
}
.topsearch {
  background: #537aa3;
  border-radius: 15px 15px 0 0;
}
.apps-search .searchinput {
  height: 48px;
  border-radius: 15px 0 0 15px;
  padding: 0 25px !important;
}
.apps-search .searchbut {
  background: #319cc5;
  width: 65px !important;
  height: 48px;
  padding: 10px !important;
  border-radius: 0 15px 15px 0 !important;
  position: relative;
  border: none !important;
}
.fcfilter_form_outer.fcfilter_form_component {
  z-index: 10;
  position: relative;
}
.zindex {
  position: relative;
  z-index: 9;
}
.hello-mp {
  background: #319cc5;
  color: white;
  font-size: 20px;
  padding: 25px;
}
.adguard {
  margin: 10px;
  background: #1592ff;
}
.adguard-image img {
  width: 100%;
}
.a-text {
  display: flex;
  align-items: center;
  font-size: 30px;
  padding-left: 10px;
  color: white;
  width: 100%;
  height: auto;
}
.valign {
  display: flex;
  align-items: center;
}
.a-buttons {
  height: auto;
  width: 100%;
  text-align: center;
  padding: 20px 0;
}
.a-buttons .button {
  width: 90%;
  padding: 18px;
  text-align: center;
}
.ads-bottom {
  background: rgba(239, 239, 239, 0.78);
  width: 100%;
  max-width: 1170px;
  height: 120px !important;
  text-align: center;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
  margin: 0 auto;
}
#closeButton {
  position: absolute;
  right: 0;
  color: #7f7f7f;
  background: white;
  font-weight: 700;
  font-size: 35px;
  top: -10px;
  right: -3px;
  margin: 0;
  padding: 0;
  line-height: 1;
  border-radius: 100%;
}
.fc_sharedmedia_player_outer iframe {
  width: 100%;
}
.loader-nx {
  width: 100px;
  height: 100px;
  border: 20px solid #000;
  border-radius: 50%;
  border-top-color: #098bbf;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: 1s spin infinite linear;
}
.copyright {
  text-align: center;
  line-height: 1;
  font-size: 13px;
}
.copyright a {
  color: white;
}
#g-navigation .g-block.size-75.align-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  #g-navigation .g-block.size-75.align-right {
    display: none !important;
  }
}
.allitems {
  display: flex;
  justify-content: flex-end;
  margin: 10px 10px 0 0;
}
.margin-topbot-20 {
  margin: 20px 0 !important;
}
.footermenu .footer-menu ul {
  display: flex;
  justify-content: center;
}
.footermenu .footer-menu ul li {
  padding: 0 10px;
  font-weight: 700;
}
.footermenu .footer-menu ul li a {
  color: white;
}
.g-offcanvas-toggle i {
  padding: 5px;
}
ul.jcomment-latest li {
  margin: 0 0 10px 0;
  border: none;
}
ul.jcomment-latest li:last-child {
  margin: 0 !important;
}
ul.jcomment-latest li h4 {
  margin: 0 0 0 5px;
  text-rendering: optimizeLegibility;
  font-weight: 900 !important;
  line-height: 1;
}
.g-menu-item-link-parent {
  padding: 0 5px;
}
.g-totop {
  line-height: 1;
  width: 40px;
  height: 40px;
}
.gototop > div {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#g-footer .g-content {
  margin: 0;
  padding: 10px;
}
.g-logo.g-logo-helium img, .g-logo.g-logo-helium svg {
  max-height: unset;
  max-width: 200px;
}
@media screen and (min-width: 960px) and (max-width: 1200px) {
  .apps24-logo img {
    width: 190px;
    height: 60px;
  }
  #g-mainbar .g-content h1 {
    font-size: 1.8rem;
  }
  .moduletitle {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 960px) {
  .apps24-logo img {
    width: 190px;
    height: 60px;
  }
  #g-mainbar .g-content h1 {
    font-size: 1.7rem;
  }
  .moduletitle {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  #g-mainbar .g-content h1 {
    font-size: 1.4rem;
  }
  .moduletitle {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 450px) {
  .apps24-logo img {
    width: 167px;
    height: 40px;
  }
  #g-mainbar .g-content h1 {
    font-size: 1.4rem;
  }
  .moduletitle {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 270px) {
  .apps24-logo img {
    width: 125px;
    height: 30px !important;
  }
}
.topsearch {
  background: #537aa3;
  border-radius: 15px 15px 0 0;
}
.subcategorieslist {
  text-align: center;
}
.subcatitem .catlink {
  display: block;
  background: var(--m-surface, white);
  color: var(--m-text, #151617);
  border-radius: 7px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 2px 5px;
  width: 100%;
  text-align: center;
}
/* BOF Custom Gantry5 Grid for SubCategories Menu;*/
@media (min-width: 75rem) {
  .subcatitem.size-33 {
    flex: 0 0 20%;
    width: 25%;
  }
}
@media (max-width: 75rem) and (min-width: 60rem) {
  .subcatitem.size-33 {
    flex: 0 0 25%;
    width: 25%;
  }
}
@media (max-width: 60rem) and (min-width: 48rem) {
  .subcatitem.size-33 {
    flex: 0 0 25%;
    width: 25%;
  }
}
@media (max-width: 48rem) and (min-width: 42rem) {
  .subcatitem.size-33 {
    flex: 0 0 33.3333%;
    width: 33.3333%;
  }
}
@media (max-width: 42rem) {
  .subcatitem.size-33 {
    flex: 0 0 50%;
    width: 50%;
  }
}
/* EOF Custom Gantry5 Grid for SubCategories Menu */
div.fc_filter_line.fc_filter_buttons_box > .fc_buttons.btn-group {
  width: auto;
}
#g-offcanvas i {
  position: relative;
  top: 5px;
}
.paddingtop7 {
  padding-top: 7px;
}
.margintop20 {
  margin-top: 20px !important;
}
.search-wrapper {
  display: flex;
  justify-content: center;
  max-width: 400px;
  margin: 0 auto;
  flex-wrap: nowrap;
}
.apps-search .searchinput {
  height: 48px;
  border-radius: 7px 0 0 7px;
  padding: 0 25px !important;
}
.apps-search .searchbut {
  background: #319cc5;
  width: 65px !important;
  height: 48px;
  padding: 10px !important;
  border-radius: 0 7px 7px 0 !important;
  position: relative;
  border: none !important;
}
.ui-menu .ui-menu-item {
  border-bottom: 1px solid #f3f3f3;
}
.searchblocks {
  margin-top: 35px;
}
#flexicontent div.fcvote-count, div.fcvote-count {
  border-radius: 0;
}
.g-title:after {
  content: none;
}
#g-copyright .g-menu-item-title {
  font-size: 18px;
}
#g-aside .g-content > div, #g-sidebar .g-content > div {
  margin-bottom: 10px;
}
#g-aside, #g-mainbody, #g-maintop {
  padding: 0.5rem 0;
}
p.g-title span {
  font-size: 23px;
}
#g-top .g-content {
  margin: 0;
}
#g-footer {
  padding: 0;
}
#g-above, .platform-content {
  padding: 0;
}
#g-aside {
  height: 100%;
}
#g-mainbar, #g-sidebar {
  padding: 0 0 3rem 0;
}
#g-above .platform-content {
  margin: 20px 0;
  padding: 0;
}
.mobilecards {
  min-width: 240px;
  margin-right: 15px;
}
.category-card {
  border: 2px solid #dddddd;
  border-radius: 15px;
  margin: 4px 0px 4px 4px;
}
#g-above .g-container {
  background: white;
}
.fc_index_complete_simple::placeholder {
  color: #979797;
  font-size: 16px;
  font-weight: 700;
}
.alignright {
  text-align: right;
}
.alignleft {
  text-align: left;
}
.reportblock {
  text-align: center;
  margin: 20px 0;
}
.ampz_inline_disable_expand {
  display: inline-block !important;
}
#g-header {
  border-bottom: 1px solid #e1e1e1;
  padding: 0;
  margin: 0;
}
#closeads {
  cursor: pointer;
  color: #dbdcdb;
}
.justify-content {
  display: flex;
  justify-content: space-between;
}
#g-header .g-content .topads {
  margin: 2px 0;
}
#g-header .g-content .topads a {
  color: white;
  text-decoration: underline;
  text-decoration-color: #cfcfcf;
  margin-left: 10px;
}
.hrdownbut {
  margin: 5px 0 3px;
  background: white;
}
.moduletable {
  padding: 0;
}
.datablock img {
  max-width: none;
}
.nav-link {
  padding: 0;
}
.copyright-footer {
  line-height: 3;
  font-size: 20px;
}
.pt-md-5, .py-md-5 {
  padding-top: 8px !important;
}
#sp-left .sp-module, #sp-right .sp-module {
  padding: 0;
}
#sp-top2 {
  padding: 0;
}
#sp-main-body {
  padding: 20px 0;
}
#sp-right .sp-module .sp-module-title {
  margin: 0 0 5px;
}
#sp-footer .container-inner {
  padding-bottom: 15px;
}
.center {
  margin: auto;
  text-align: center;
}
@media (min-width: 60rem) {
  .mp-articles .size-33 {
    flex: 0 0 33.3333%;
    width: 33.3333%;
  }
}
@media (min-width: 60rem) {
  .appcard.size-33 {
    flex: 0 0 33.3333%;
    width: 33.3333%;
  }
}
@media (max-width: 60rem) and (min-width: 48rem) {
  .appcard.size-33 {
    flex: 0 0 50%;
    width: 50%;
  }
}
@media (max-width: 48rem) and (min-width: 42rem) {
  .appcard.size-33 {
    flex: 0 0 50%;
    width: 50%;
  }
}
@media (max-width: 42rem) {
  .appcard.size-33 {
    flex: 0 0 100%;
    width: 100%;
  }
}
.categorycardcontent {
  max-height: 170px;
}
.appcard-left {
  flex: 0 0 auto;
}
.appcard-left img {
  max-height: unset;
  max-width: unset;
  width: 128px;
  height: 128px;
}
.appcard-right {
  line-height: 1;
  display: flex !important;
  flex-direction: column;
  flex: 1;
  margin-left: 10px;
  min-width: 0;
}
.appname {
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 5px;
  line-height: 1.2;
  height: auto;
  max-height: 40px;
}
.appname a:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 2;
}
.clamp-text2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  margin: unset;
}
.catrating {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: left;
}
.catrating .jreview-begin {
  display: none;
}
.anons {
  font-size: 14px;
  line-height: 1.1;
  overflow: hidden;
  flex-grow: 1;
  /* Заполняет всё свободное пространство */
  display: flex;
  align-items: center;
  /* Центрирует текст по вертикали */
  justify-content: flex-start;
}
.anons::first-letter {
  text-transform: uppercase;
}
.clamp-text3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  margin: unset;
}
.appversion {
  position: relative;
  display: flex;
}
.categorycardcontent {
  padding: 1rem;
  display: flex;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.fcvote-count {
  display: none !important;
}
.sidebarmodcontent .field_anons {
  font-size: 14px;
  line-height: 1.7;
  position: relative;
  bottom: 10px;
}
.infoblock ul.flexi {
  margin: 0 !important;
  padding: 0 !important;
}
.infoblock ul li.flexi {
  padding: 0;
  background: none;
  min-height: 10px;
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: top;
  margin: 0;
  zoom: 1;
  width: auto;
  max-width: 400px;
}
.fcfile_actions {
  margin: 0 0 12px 0;
}
.fcfile_total_count, .fcfile_total_hits {
  display: inline-block;
}
.fcfile_total_hits {
  margin-left: 10px;
}
.filedownload {
  width: 100%;
  border: 1px solid #f3f3f3;
  min-height: 125px;
  padding-bottom: 7px;
  text-align: center;
  vertical-align: top;
}
.downloads-block-title {
  font-weight: 400;
  font-size: 25px;
  color: #525252;
}
.filedescbox {
  width: 69px;
  height: 70px;
  display: block !important;
  float: left !important;
  vertical-align: top;
  border-right: 1px solid rgba(255, 255, 255, 0.75);
}
.filedescbox1 {
  display: inline-block;
  text-align: left;
  padding: 3px 7px 0 5px;
  color: white;
  font-weight: 900;
}
.filedescbox1t {
  font-size: 20px;
  line-height: 22px;
  white-space: normal;
}
.helpfuldiv {
  border: 1px solid #5eb75d;
  display: inline-block;
  width: 100%;
  max-width: 400px;
  padding: 5px;
  margin: 10px 0 0 10px;
}
.reviewsinfo a {
  color: #757575;
}
#post-review .ct {
  display: none;
}
#jreview-form ._starRating > label:before {
  content: "★";
}
.addfileinfo {
  font-size: 12px;
}
.filedescbox2 {
  display: inline-block;
  vertical-align: top;
  width: 70px;
  height: 70px;
  background: #4c944c;
  font-size: 15px;
  font-weight: 600;
}
.filedescbox2-child {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.2;
}
#flexicontent .btn {
  width: 100%;
  text-align: left;
}
.mainpagemod {
  margin-top: 7px;
}
.sp-module #flexicontent div.fcvote-label-outer, div.fcvote-label-outer {
  display: none;
}
#flexicloud {
  text-align: left !important;
  line-height: 1.3 !important;
  padding: 10px !important;
  margin-bottom: 25px;
}
.mod_flexitagcloud {
  text-overflow: ellipsis !important;
  overflow: hidden !important;
}
#flexicloud a.tag4 {
  font-size: 17px !important;
}
#sp-left .sp-module ul > li, #sp-right .sp-module ul > li {
  border-bottom: none;
}
#sp-left .sp-module ul > li > a, #sp-right .sp-module ul > li > a {
  display: block;
  line-height: 25px;
  padding: 0;
}
#sp-left .sp-module, #sp-right .sp-module {
  margin-top: 15px;
}
#flexicloud li:before {
  content: ">";
  color: #3486d4;
  font-weight: 900;
  font-size: 15px;
}
#flexicloud li {
  white-space: nowrap;
  list-style-type: none;
  display: inline-block;
}
#flexicloud li a {
  display: inline-block !important;
}
#flexicloud li a:first-letter {
  text-transform: capitalize;
  font-size: 110%;
}
div.voting-row.voting-row_main {
  width: 100%;
  padding: 0 !important;
}
.mainpageandroid i, .mainpagewindows i {
  position: relative;
  right: 8px;
}
.news.mod_flexicontent_wrapper .fcitem_title a {
  font-weight: 800;
  font-size: 20px;
  margin: 2px 0px 2px 10px;
}
.blog-a .news.mod_flexicontent_wrapper .fcitem_title a {
  font-size: 18px;
  margin: 0;
}
.mod_flexicontent_standard_article {
  margin: 0;
}
.moredata {
  padding: 6px 15px;
  float: right;
  color: white;
  margin-top: -25px;
  position: relative;
  border-radius: 10px;
}
.moredata:hover {
  color: #eeffd3;
}
.maintop {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.rowmain {
  margin-bottom: 30px;
  overflow-x: auto;
  display: flex;
}
span.voting_label {
  display: none;
}
img.fc_field_image {
  border: none !important;
  width: 100%;
}
.fcvote-label {
  display: none;
}
.com_flexicontent .ui-autocomplete, .com_flexicontent .ui-autocomplete-list {
  z-index: 1000000 !important;
  border: 1px solid #f3f3f3;
  border-radius: none;
}
.nomargin {
  margin: 0 !important;
}
.nopadding {
  padding: 0 !important;
}
.nopaddingleft {
  padding-left: 0 !important;
}
.anonsmp {
  font-size: 12px;
  margin: 0;
  text-align: center;
  overflow: hidden;
  line-height: 1.2;
  height: 75px;
  display: table;
  margin: 0 auto;
  border-bottom: 1px solid #ebeff2;
}
.moduletable.windwmod, .moduletable.androidmod {
  background: #ffffff;
}
.windwmod.mod_flexicontent_wrapper, .androidmod.mod_flexicontent_wrap, .mod_flexitagcloud, .jcomment-latest.windwmod {
  border: 2px solid #dddddd;
  border-radius: 0 0 10px 10px;
  overflow: auto;
  border-top: none;
}
.datastyle {
  color: #757575;
  font-size: 17px;
  padding-top: 7px;
}
.datastyle a {
  color: #757575;
}
.datavalue {
  font-size: 19px;
  vertical-align: bottom;
}
.pointer {
  cursor: pointer;
  display: inline-block;
}
.videoline {
  vertical-align: text-bottom;
}
.marginright5 {
  margin-right: 5px;
}
.marginright15 {
  margin-right: 15px;
}
.marginleft5 {
  margin-left: 5px;
}
.marginleft15 {
  margin-left: 15px;
}
.marginleft25 {
  margin-left: 25px;
}
.downloadanchor {
  background: #5EB75D;
  font-size: 19px;
  padding: 1px 12px;
  vertical-align: middle;
  line-height: 40px;
}
.downloadanchor a {
  color: white;
  position: relative;
  top: 5px;
}
.downloadanchor a:hover {
  color: #efefef;
}
.downloadanchor:hover {
  background: #459943;
}
.downicon {
  vertical-align: top;
  font-size: 18px;
  height: 31px;
  line-height: 29px;
}
.font18 {
  font-size: 18px;
}
font22 {
  font-size: 22px;
}
.blue {
  color: #309cc7;
}
.green {
  color: #4c944c;
}
.fs20 {
  font-size: 20px;
}
.appinfoleft, .addstopleft {
  float: left;
  width: 49%;
  line-height: 1.6;
}
.appinforight, .addstopright {
  float: right;
  width: 49%;
  line-height: 1.6;
}
.addstopleft, .addstopright {
  text-align: center;
  margin-bottom: 10px;
}
.borderbottom {
  border-bottom: 1px solid #f3f3f3;
}
.datablock {
  border: 1px solid #f3f3f3;
  width: 336px;
  height: 280px;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  overflow: hidden;
  margin: 0 auto;
}
.screenshots {
  margin-top: 2px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  text-align: left;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  padding: 0 25px 15px 0;
  text-align: center;
}
div .fc_image_thumb {
  margin-right: 10px;
  float: none !important;
}
.videoreview {
  margin-top: 40px;
}
.videoreview h2, .appinfromation h2 {
  font-weight: 200;
}
.relatedgames {
  font-weight: 400;
  padding: 10px 45px 10px 10px;
  display: inline-block;
}
.bs-badge {
  font-size: 14px;
  padding: 1px 6px;
  font-weight: normal;
  line-height: 20px;
  background-color: #fdfdfd;
  border: 1px solid #5eb75d;
}
::-webkit-scrollbar {
  width: 12px;
  height: 10px;
}
::-webkit-scrollbar-thumb:hover {
  border-width: 1px 1px 1px 2px;
  border-color: #555;
  background-color: #777;
}
::-webkit-scrollbar-thumb {
  border-width: 1px 1px 1px 2px;
  border-color: #777;
  background-color: #b9b9b9;
  margin-top: 20px;
}
::-webkit-scrollbar-track {
  border-width: 0;
}
.qrcode {
  margin: 0px 0px 15px 15px;
  float: right;
  border: 1px solid #f3f3f3;
  padding: 7px;
}
.topdesc {
  text-align: left;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.descadstop {
  width: 340px;
  height: 280px;
  background: #e8f9ff;
  text-align: center;
  margin: 0 auto;
}
.topdescright {
  display: inline-block;
  vertical-align: top;
}
#app-description h2, .border_h, .app-block h2, .catdescription h2 {
  padding-bottom: 10px;
  font-size: 30px;
  color: #525252;
  font-weight: 300;
  margin-top: 0;
  line-height: 1.3;
}
.catview {
  font-size: 22px;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  text-overflow: ellipsis;
  margin: 0;
  line-height: 1;
}
#g-mainbody h2.catview {
  color: white !important;
}
.cattitle {
  overflow: hidden;
  width: 100%;
}
.cattitle a {
  font-size: 13px;
  font-weight: 100 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-left: 7px;
}
.catbutton {
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  color: #727272;
  padding: 5px;
}
.catbutton a {
  color: white;
}
.catbutton a:hover {
  color: #e8f8ff;
}
.foldercat {
  color: coral;
  white-space: nowrap;
  width: auto !important;
}
.downloadcat {
  color: #6DBF3C;
}
.commentscat {
  color: #5F8BE0;
}
.iconsinfoline li {
  list-style-type: none;
  display: inline;
  margin-right: 15px;
  font-size: 14px;
}
.osiconsline {
  display: inline;
  position: relative;
  top: 4px;
}
.gray {
  color: #757575 !important;
}
.borderbottop {
  border-bottom: 2px dashed #F7F7F7;
  border-top: 2px dashed #F7F7F7;
  padding: 10px 0;
  margin: 10px 0;
}
.windowsbut, .windowsicon {
  background: #319cc5 !important;
}
.androidbut, .androidicon {
  background: #28a745 !important;
}
.macosbut, .macosicon {
  background: #BCBFC1 !important;
}
.iosbut, .iosicon {
  background: #F1C40F !important;
}
.windowsicon, .androidicon, .macosicon, .iosicon {
  padding: 0px 6px;
  border-radius: 20px;
}
.windowsbut:hover, .androidbut:hover, .macosbut:hover, .iosbut:hover {
  opacity: 0.6;
}
.topbutimage {
  position: relative;
  top: -2px;
}
.wborder {
  margin: 5px 0;
}
.wborder > span {
  line-height: 15px;
  position: relative;
  margin-left: 8px;
  color: white;
  font-size: 18px;
  font-weight: 500;
}
.mygrid {
  display: flex;
  justify-content: space-between;
}
.paddingbottom10 {
  padding-bottom: 10px;
}
.margin-rl-5 {
  margin-left: 5px;
  margin-right: 5px;
}
.margin-rl-10 {
  margin-left: 10px;
  margin-right: 10px;
}
.margin-rl-15 {
  margin-left: 15px;
  margin-right: 15px;
}
.margin-tb-20 {
  margin-top: 20px;
  margin-bottom: 20px;
}
.padding5 {
  padding: 5px;
}
.padding10 {
  padding: 10px;
}
.appinfotitle {
  font-weight: 400;
  font-size: 21px;
  color: #444444;
  width: 100%;
}
.appinfocontent {
  font-size: 18px;
  font-weight: 400;
  color: #808080;
  width: 100%;
}
/*	Reset & General
---------------------------------------------------------------------- */
.cardtitle {
  display: inline-grid;
}
.cardtitle h2 span {
  font-size: 13px;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.banner-img {
  padding: 5px 5px 15px;
  border-bottom: 1px solid #ebeff2;
  text-align: center;
}
.banner-img img {
  max-width: 100%;
  margin: 0 auto;
}
div.footer {
  text-align: right;
  position: relative;
}
.comments .rbox {
  border: none;
}
.comments .odd .rbox {
  background: none;
}
@media only all and (max-width: 47.938rem) and (min-width: 30.062rem) {
  .g-container {
    width: 100%;
  }
}
@media screen and (max-width: 1199px) {
  .screenshots {
    width: 100%;
  }
  .fc_basic_complete {
    min-width: 173px !important;
  }
}
@media (min-width: 768px) and (max-width: 979px) {
  .introfullblock > ul > li {
    width: 150px;
  }
  .screenshots {
    width: 100%;
  }
  .anonsdetail {
    font-size: 16px;
    line-height: 2;
  }
  .addstopright {
    display: none;
  }
  .addstopleft {
    float: none;
    width: auto;
  }
}
@media screen and (max-width: 720px) {
  .screenshots {
    width: 100%;
  }
  .viewscount {
    display: none;
  }
}
@media screen and (max-width: 670px) {
  .screenshots {
    width: 100%;
  }
  .russianinfoblock {
    display: none;
  }
  .viewscount {
    display: initial;
  }
  .addstopright {
    display: none;
  }
  .addstopleft {
    float: none;
    width: auto;
  }
}
@media (min-width: 600px) and (max-width: 645px) {
  .introfullblock > ul > li {
    width: 32%;
  }
  .moredata {
    display: none;
  }
  .addstopright {
    display: none;
  }
}
@media (min-width: 500px) and (max-width: 600px) {
  .introfullblock > ul > li {
    width: 31%;
  }
  .moredata {
    display: none;
  }
  .addstopright {
    display: none;
  }
}
@media screen and (max-width: 590px) {
  .screenshots {
    width: 100%;
  }
}
@media screen and (max-width: 575px) {
  .mobilecards {
    min-width: 200px;
  }
  .compatibility {
    display: none;
  }
  .qrcode {
    display: none;
  }
  .screenshots {
    width: auto;
  }
  #flexicontent div.fcvote-label-outer, div.fcvote-label-outer {
    display: none;
  }
  .ratingtop .voting-row div.fcvote.fcvote-box-main > ul.fcvote_list {
    top: 0 !important;
  }
}
@media only screen and (max-width: 540px) {
  .twocols ul li.flexi {
    min-width: 100%;
  }
  .apptop_pad .itemicon img {
    width: 135px !important;
    height: 135px !important;
  }
  .versionblock {
    width: 100px;
  }
}
@media screen and (max-width: 535px) {
  .videotext {
    display: none;
  }
}
@media only screen and (max-width: 520px) {
  .topdescright, .topdescleft, .righttopblock {
    width: 100%;
  }
  .appviews, .appdownloads {
    display: none;
  }
  .anonsdetail {
    font-size: 15px;
  }
}
@media screen and (max-width: 500px) {
  .videoinfo {
    display: none;
  }
  .fc_filter_line .fc_filter_label {
    width: 100% !important;
  }
  .fc_filter_line .fc_filter_html {
    width: 100% !important;
    border-bottom: 1px solid #f3f3f3;
    padding-bottom: 10px;
  }
}
@media (min-width: 434px) and (max-width: 500px) {
  .introfullblock > ul > li {
    width: 48%;
  }
  .moredata {
    display: none;
  }
}
@media (min-width: 400px) and (max-width: 434px) {
  .introfullblock > ul > li {
    width: 48%;
  }
  .moredata {
    display: none;
  }
  .reviewsinfo {
    display: none;
  }
}
@media (min-width: 491px) {
  .ostitle {
    display: inline-block;
  }
}
@media (max-width: 490px) {
  .ostitle {
    display: none;
  }
  .reviewsinfo {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .appinfoleft, .appinforight, .addstopleft {
    float: none;
    width: auto;
  }
  .addstopright {
    display: none;
  }
  .borderbottommob {
    border-bottom: 1px solid #f3f3f3;
  }
  .reviewsinfo {
    display: none;
  }
}
@media (max-width: 400px) {
  .introfullblock > ul > li {
    width: 48%;
  }
  .moredata {
    display: none;
  }
  .fcfile_total_count {
    display: none;
  }
  .filedescbox {
    width: 69px;
    display: block;
    float: left;
  }
  .filedescbox2 {
    display: none;
  }
  .filedescbox1t {
    font-size: 16px;
  }
  .reviewsinfo {
    display: none;
  }
}
@media (max-width: 350px) {
  .hitscount, .viewscount {
    display: none;
  }
}
@media (max-width: 992px) {
  .mobilecenter {
    float: none !important;
    text-align: center;
    margin: 0 auto;
  }
}
/* BOF Blog/News item: less side air on mobile */
@media only all and (max-width: 47.99rem) {
  .blognews #g-mainbar .g-content {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .blognews .flexicontent, .syspage #g-mainbar .g-content {
    padding: 1.25rem 0.75rem;
  }
}
/* EOF Blog/News item: less side air on mobile */
/* BOF Blog/News item: main image edge to edge of the white card, 2:1 crop */
.blognews #flexicontent.fcitems .customblock.beforedescription {
  overflow: visible !important;
  /* was auto: 4px img margin produced a grey scrollbar under the image */
  width: 100% !important;
  /* item.css: .customblock { width: 98% !important } */
  padding: 0 !important;
  /* biblsoft item.css: padding + 1px border around the image */
  border: 0 !important;
}
.blognews #flexicontent.fcitems .beforedescription .flexi.element.field_article-image {
  flex: 0 0 calc(100% + 4em);
  width: calc(100% + 4em) !important;
  max-width: none !important;
  margin: 0 -2em !important;
  /* white card padding: 2em */
}
.blognews #flexicontent.fcitems .beforedescription .field_article-image .value, .blognews #flexicontent.fcitems .beforedescription .field_article-image .fc_image_thumb {
  display: block;
  width: 100%;
  margin: 0;
}
.blognews #flexicontent.fcitems .beforedescription img.fc_field_image {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 2;
  /* images are 16:9 (1680x945), a bit lower */
  object-fit: cover;
  margin: 0 !important;
}
@media only all and (max-width: 47.99rem) {
  .blognews #flexicontent.fcitems .beforedescription .flexi.element.field_article-image {
    flex-basis: calc(100% + 1.5rem);
    width: calc(100% + 1.5rem) !important;
    margin: 0 -0.75rem !important;
    /* mobile card padding: 0.75rem */
  }
}
/* EOF Blog/News item: main image edge to edge of the white card, 2:1 crop */
/* BOF Callouts in article text: p/div.alert + .alert-info / .alert-success / .alert-warning / .alert-danger
   Only inside #flexicontent and only .alert (buttons with .alert-success and Joomla system messages are untouched) */
#flexicontent .alert {
  --co: #64748b;
  --co-bg: #f6f7f9;
  --co-line: rgba(100, 116, 139, 0.22);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E");
  position: relative;
  display: block;
  margin: 1.75rem 0 !important;
  padding: 1.05rem 1.35rem 1.05rem 3.5rem !important;
  background: var(--co-bg) !important;
  border: 1px solid var(--co-line) !important;
  border-left: 4px solid var(--co) !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
  color: #1f2937 !important;
  font-size: 0.98rem;
  line-height: 1.65 !important;
  text-shadow: none;
}
#flexicontent .alert::before {
  content: "";
  position: absolute;
  left: 1.05rem;
  top: 1.12rem;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--co) var(--co-icon) center / 0.95rem no-repeat;
  box-shadow: 0 0 0 4px var(--co-bg), 0 2px 6px var(--co-line);
}
#flexicontent .alert.alert-info {
  --co: #2563eb;
  --co-bg: #f1f6ff;
  --co-line: rgba(37, 99, 235, 0.2);
}
#flexicontent .alert.alert-success {
  --co: #16a34a;
  --co-bg: #effaf3;
  --co-line: rgba(22, 163, 74, 0.22);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E");
}
#flexicontent .alert.alert-warning {
  --co: #d97706;
  --co-bg: #fff8eb;
  --co-line: rgba(217, 119, 6, 0.24);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 6.5v7M12 17.5h.01'/%3E%3C/svg%3E");
}
#flexicontent .alert.alert-danger, #flexicontent .alert.alert-error {
  --co: #dc2626;
  --co-bg: #fef3f2;
  --co-line: rgba(220, 38, 38, 0.22);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E");
}
#flexicontent .alert.alert-primary {
  --co: #7c3aed;
  --co-bg: #f5f3ff;
  --co-line: rgba(124, 58, 237, 0.22);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6.2l1.8 3.7 4 .6-2.9 2.8.7 4L12 15.4l-3.6 1.9.7-4-2.9-2.8 4-.6z'/%3E%3C/svg%3E");
}
#flexicontent .alert.alert-secondary {
  --co: #0d9488;
  --co-bg: #effaf8;
  --co-line: rgba(13, 148, 136, 0.22);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.2 6.5h7.6v11l-3.8-3-3.8 3z'/%3E%3C/svg%3E");
}
#flexicontent .alert.alert-light {
  --co: #94a3b8;
  --co-bg: #ffffff;
  --co-line: rgba(148, 163, 184, 0.4);
  --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6.3a4.2 4.2 0 0 0-2.5 7.6c.5.4.8.9.8 1.5v.3h3.4v-.3c0-.6.3-1.1.8-1.5A4.2 4.2 0 0 0 12 6.3zM10.5 18h3'/%3E%3C/svg%3E");
}
/* content inside: links, bold lead-in, nested paragraphs/lists */
#flexicontent .alert a {
  color: var(--co) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
#flexicontent .alert a:hover {
  text-decoration-thickness: 2px;
}
#flexicontent .alert strong, #flexicontent .alert b {
  color: #111827;
  font-weight: 700;
}
#flexicontent .alert > p, #flexicontent .alert > ul, #flexicontent .alert > ol {
  margin: 0.6rem 0 0 !important;
}
#flexicontent .alert > :first-child {
  margin-top: 0 !important;
}
#flexicontent .alert > ul, #flexicontent .alert > ol {
  padding-left: 1.2rem;
}
#flexicontent .alert code {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--co-line);
  border-radius: 4px;
  padding: 0.05em 0.35em;
}
@media only all and (max-width: 47.99rem) {
  #flexicontent .alert {
    padding: 0.95rem 1rem 0.95rem 3rem !important;
    font-size: 0.95rem;
  }
  #flexicontent .alert::before {
    left: 0.85rem;
    top: 1rem;
    width: 1.3rem;
    height: 1.3rem;
    background-size: 0.85rem;
  }
}
/* EOF Callouts in article text */
/* BOF Blog/News: compact top — less empty space above the white card and around the page title */
.blognews #g-mainbar, .syspage #g-mainbar {
  padding-top: 1rem;
  /* grey gap between breadcrumbs and the white card (was 3rem) */
}
/* biblsoft: #g-mainbar has no .parent-container class, so Helium's .g-content top margin+padding (~25px) stayed */
.blognews #g-mainbar .g-content {
  margin-top: 0;
  padding-top: 0;
}
.blognews #g-mainbar .g-content h1, .syspage #g-mainbar .g-content h1 {
  padding-top: 1.5rem !important;
  /* was 2rem (.blognews .g-content h1) */
  margin-bottom: 1rem;
}
/* empty filter form (hidden inputs only) took 32px between the title and the cards */
.blognews #flexicontent > .group:has(> .fcfilter_form_outer):not(:has(input:not([type=hidden]), select, textarea)) {
  display: none;
}
.blognews .wsc-grid {
  margin-top: 0;
}
@media only all and (max-width: 47.99rem) {
  .blognews #g-mainbar, .syspage #g-mainbar {
    padding-top: 0.5rem;
  }
  .blognews #g-mainbar .g-content h1, .syspage #g-mainbar .g-content h1 {
    padding-top: 0.25rem !important;
    /* the white card already has 1.25rem top padding on phones */
    margin-bottom: 0.75rem;
  }
}
/* EOF Blog/News: compact top */
/* BOF New Modern Styles */
/* ==========================================================================
   MODERN LAYER (2026) — visual refresh on top of the existing template.
   Remove everything between BOF/EOF New Modern Styles to roll back.
   ========================================================================== */
:root {
  --m-bg: #f4f6fb;
  --m-surface: #ffffff;
  --m-text: #1b2233;
  --m-muted: #6b7489;
  --m-line: rgba(27, 34, 51, 0.08);
  --m-accent: #3b6df0;
  --m-accent-2: #7b5cff;
  --m-win-1: #2aa3d6;
  --m-win-2: #3b6df0;
  --m-and-1: #34c47c;
  --m-and-2: #12a38a;
  --m-radius: 18px;
  --m-radius-sm: 12px;
  --m-shadow-sm: 0 1px 2px rgba(20, 30, 60, 0.04), 0 4px 14px rgba(20, 30, 60, 0.05);
  --m-shadow-md: 0 2px 4px rgba(20, 30, 60, 0.05), 0 12px 32px -6px rgba(20, 30, 60, 0.14);
  --m-ease: cubic-bezier(0.22, 0.8, 0.28, 1);
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  color: var(--m-text);
  background: radial-gradient(900px 500px at 8% -5%, rgba(59, 109, 240, 0.09), transparent 60%), radial-gradient(800px 480px at 95% 0%, rgba(52, 196, 124, 0.08), transparent 60%), var(--m-bg) !important;
  background-attachment: fixed !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection {
  background: rgba(59, 109, 240, 0.22);
}
a {
  transition: color 0.2s var(--m-ease), background-color 0.2s var(--m-ease), opacity 0.2s;
}
/* ---------- Header: sticky frosted glass ---------- */
#g-navigation {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  box-shadow: 0 1px 0 var(--m-line), 0 8px 30px -12px rgba(20, 30, 60, 0.12) !important;
}
/* top menu + mega dropdown: see "Top menu" block below */
#searchmodal {
  fill: var(--m-accent) !important;
  width: 38px !important;
  height: 38px !important;
  padding: 9px;
  border-radius: 50%;
  background: rgba(59, 109, 240, 0.09);
  transition: transform 0.25s var(--m-ease), background-color 0.2s;
}
#searchmodal:hover {
  background: rgba(59, 109, 240, 0.18);
  transform: scale(1.08);
}
/* ---------- Breadcrumbs ---------- */
.bs-breadcrumbs {
  background: transparent !important;
  box-shadow: none !important;
}
.breadcrumb {
  font-size: 0.85rem;
}
.breadcrumb li a, ul.breadcrumb li a {
  color: var(--m-muted);
  text-decoration: none;
}
.breadcrumb li a:hover {
  color: var(--m-accent);
}
.bread-home svg {
  fill: var(--m-muted);
}
/* ---------- Section headings on the home page: editorial style ---------- */
.mainpagewindows .moduletitle, .mainpageandroid .moduletitle {
  background: none;
  color: var(--m-text);
  margin: 26px 0 6px;
  padding: 0;
  font-size: clamp(1.35rem, 1rem + 1vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  box-shadow: none;
}
.mainpagewindows .moduletitle a, .mainpageandroid .moduletitle a {
  color: var(--m-text);
  text-decoration: none;
  gap: 14px;
  width: 100%;
}
.mainpagewindows .moduletitle a::after, .mainpageandroid .moduletitle a::after {
  content: "→";
  margin-left: auto;
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--m-muted);
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  transition: transform 0.3s var(--m-ease), background-color 0.2s, color 0.2s;
}
.mainpagewindows .moduletitle a:hover::after, .mainpageandroid .moduletitle a:hover::after {
  transform: translateX(4px);
  background: var(--m-accent);
  color: #fff;
  border-color: transparent;
}
/* the icon becomes a gradient tile */
.mainpagewindows .moduletitle svg, .mainpageandroid .moduletitle svg {
  flex: none;
  margin: 0;
  width: 46px;
  height: 46px;
  padding: 11px;
  border-radius: 15px;
  fill: #fff;
  filter: none;
  box-shadow: 0 8px 18px -6px rgba(20, 40, 90, 0.5);
}
.mainpagewindows .moduletitle svg {
  background: linear-gradient(135deg, var(--m-win-1), var(--m-win-2));
}
.mainpageandroid .moduletitle svg {
  background: linear-gradient(135deg, var(--m-and-1), var(--m-and-2));
}
/* "related apps" heading inside an app-block (item page): the block's own padding already gives the top space,
   and here the icon is a direct child (no link with a gap), so it needs its own margin */
.app-block.mainpagewindows .moduletitle, .app-block.mainpageandroid .moduletitle {
  margin-top: 0;
}
.mainpagewindows .moduletitle > svg, .mainpageandroid .moduletitle > svg {
  margin-right: 15px;
}
/* ---------- App cards ---------- */
.categorycardcontent {
  border-radius: var(--m-radius) !important;
  background: var(--m-surface) !important;
  border: 1px solid var(--m-line);
  box-shadow: var(--m-shadow-sm) !important;
  transition: transform 0.35s var(--m-ease), box-shadow 0.35s var(--m-ease), border-color 0.25s;
}
.appcard:hover .categorycardcontent {
  transform: translateY(-4px);
  box-shadow: var(--m-shadow-md) !important;
  border-color: rgba(59, 109, 240, 0.28);
}
.appcard-left img {
  border-radius: 22%;
  box-shadow: 0 6px 16px -4px rgba(20, 30, 60, 0.28);
  transition: transform 0.4s var(--m-ease);
}
.appcard:hover .appcard-left img {
  transform: scale(1.05) rotate(-1deg);
}
.appname a {
  color: var(--m-text);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.appcard:hover .appname a {
  color: var(--m-accent);
}
.anons {
  color: var(--m-muted);
}
.appversion {
  align-self: flex-end;
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(59, 109, 240, 0.08);
  color: var(--m-accent);
  font-weight: 600;
  font-size: 0.74rem;
}
/* "All …" link */
.allitems a {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  color: var(--m-text);
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: var(--m-shadow-sm);
}
.allitems a:hover {
  color: #fff;
  background: var(--m-accent);
  border-color: var(--m-accent);
  transform: translateY(-1px);
}
/* Main-page article tiles */
.mp-it-art {
  border-radius: var(--m-radius) !important;
  border: 1px solid var(--m-line) !important;
  box-shadow: var(--m-shadow-sm) !important;
  transition: transform 0.35s var(--m-ease), box-shadow 0.35s var(--m-ease);
}
.mp-it-art:hover {
  transform: translateY(-4px);
  box-shadow: var(--m-shadow-md) !important;
}
/* ---------- Content surfaces ---------- */
#g-mainbar .g-content, .mainapparea .app-block, .blognews .flexicontent {
  border-radius: var(--m-radius);
}
.mainapparea .app-block {
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  box-shadow: var(--m-shadow-sm);
  padding: 22px;
  margin-top: 16px;
}
/* JComments card: same surface as the other content blocks (the component's style.css gives #jc square corners and 2em padding) */
#jc.jc-modern {
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow-sm);
  color: var(--m-text);
  margin-top: 16px;
  padding: 22px;
}
@media (max-width: 47.99rem) {
  #jc.jc-modern {
    padding: 16px 12px;
  }
}
#g-sidebar .g-block {
  border-radius: var(--m-radius);
  border: 1px solid var(--m-line);
  box-shadow: var(--m-shadow-sm);
  overflow: hidden;
}
/* ---------- Typography on content pages ---------- */
#g-mainbar .g-content h1 {
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--m-text);
}
h2, h3 {
  letter-spacing: -0.02em;
}
.anonsdetail {
  color: var(--m-muted);
}
/* ---------- App page top ---------- */
.apptop_pad .itemicon img {
  border-radius: 24%;
  box-shadow: 0 14px 30px -10px rgba(20, 30, 60, 0.4);
}
.dl_button_top {
  background: linear-gradient(135deg, #14c98a, #0aa86e) !important;
  border-radius: 14px !important;
  font-weight: 700;
  box-shadow: 0 10px 22px -8px rgba(10, 168, 110, 0.7);
  transition: transform 0.25s var(--m-ease), box-shadow 0.25s var(--m-ease), filter 0.2s;
}
.dl_button_top:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 16px 28px -10px rgba(10, 168, 110, 0.8);
}
.dl_button_top:active {
  transform: translateY(0);
}
/* Verdict block */
.app-verdict {
  border-radius: var(--m-radius-sm);
  border-left-width: 4px;
  box-shadow: var(--m-shadow-sm);
}
/* ---------- Pagination ---------- */
.page-link {
  border-radius: 10px !important;
  margin: 0 2px;
  border-color: var(--m-line);
}
.page-item.active .page-link {
  background: linear-gradient(135deg, var(--m-accent), var(--m-accent-2));
  border-color: transparent;
  box-shadow: 0 6px 14px -6px rgba(59, 109, 240, 0.7);
}
/* ---------- Search dialog ---------- */
.fcs-dialog {
  border: 1px solid var(--m-line);
  border-radius: 22px;
  box-shadow: 0 30px 80px -20px rgba(15, 25, 60, 0.5);
}
.fcs-dialog::backdrop {
  background: rgba(15, 20, 40, 0.45);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
/* ---------- Footer ---------- */
#g-footer {
  background: linear-gradient(180deg, #1b2233, #121827) !important;
  color: #c9d0e0;
  border-radius: 28px 28px 0 0;
}
#g-footer a {
  color: #dfe5f3;
}
#g-footer a:hover {
  color: #fff;
}
.g-totop svg {
  fill: #fff;
  opacity: 0.8;
  transition: transform 0.3s var(--m-ease), opacity 0.2s;
}
.g-totop a:hover svg {
  opacity: 1;
  transform: translateY(-3px);
}
/* ---------- Scrollbar & focus ---------- */
:focus-visible {
  outline: 2px solid var(--m-accent);
  outline-offset: 2px;
  border-radius: 6px;
}
/* ---------- Scroll-in animation (progressive enhancement) ---------- */
@keyframes m-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@supports (animation-timeline: view()) {
  .appcard {
    animation: m-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 35%;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  #g-navigation {
    padding: 14px 20px !important;
  }
  .mainpagewindows .moduletitle, .mainpageandroid .moduletitle {
    font-size: 1.1rem;
    padding: 10px 18px;
  }
  .mainapparea .app-block {
    padding: 16px;
  }
  .appcard:hover .categorycardcontent, .mp-it-art:hover {
    transform: none;
  }
}
/* ==========================================================================
   MODERN LAYER v2 — structural redesign: wide canvas, home hero,
   compact app cards, app-page header, dark theme.
   ========================================================================== */
/* ---------- Let the body gradient show through the page wrappers ---------- */
#g-page-surround, #g-header, #g-mainbar, #g-container-main, #g-aside, #g-sidebar {
  background: transparent;
}
@media (min-width: 60rem) {
  .mp-articles .size-33 {
    flex: 0 0 33.3333%;
    width: 33.3333%;
  }
}
/* ---------- Top navigation ---------- */
#g-navigation {
  border-radius: 0 0 28px 28px;
  padding-top: 10px;
  padding-bottom: 10px;
}
/* boxed container keeps the particle gutters (aligned with the content edge); only the vertical ones go */
#g-navigation .g-content {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}
/* ---------- Top menu: coloured icon tiles + "Софт" mega dropdown ---------- */
#g-navigation .g-main-nav .g-toplevel {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  gap: 8px;
  max-width: 840px;
  margin: 0 auto;
  padding: 0;
}
#g-navigation .g-main-nav .g-toplevel > li.g-menu-item {
  position: relative;
  padding: 0;
  border-radius: 16px;
  --nt: rgba(59, 109, 240, 0.12);
}
#g-navigation .g-main-nav .g-toplevel > li.g-menu-item-3144, #g-navigation .g-main-nav .g-toplevel > li.g-menu-item-4489 {
  --nt: rgba(156, 128, 247, 0.17);
}
#g-navigation .g-main-nav .g-toplevel > li.g-menu-item-4014, #g-navigation .g-main-nav .g-toplevel > li.g-menu-item-4490 {
  --nt: rgba(255, 161, 59, 0.2);
}
#g-navigation .g-main-nav .g-toplevel > li.g-menu-item-4168, #g-navigation .g-main-nav .g-toplevel > li.g-menu-item-4491 {
  --nt: rgba(59, 109, 240, 0.12);
}
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 18px 7px 8px;
  border-radius: 16px;
  white-space: nowrap;
  color: var(--m-text) !important;
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  transition: background-color 0.2s var(--m-ease), box-shadow 0.2s var(--m-ease);
}
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container::before {
  content: "";
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background-color: var(--nt);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  transition: transform 0.3s var(--m-ease);
}
#g-navigation .g-main-nav .g-toplevel > li:hover > .g-menu-item-container, #g-navigation .g-main-nav .g-toplevel > li.g-selected > .g-menu-item-container {
  background: var(--m-glass);
  box-shadow: inset 0 0 0 1px var(--m-line);
}
#g-navigation .g-main-nav .g-toplevel > li:hover > .g-menu-item-container::before {
  transform: scale(1.08) rotate(-5deg);
}
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container .g-menu-parent-indicator, #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container + .g-menu-parent-indicator {
  position: static;
  display: inline-flex;
  margin: 0 0 0 -4px;
  padding: 0;
}
.g-menu-item-4168 > .g-menu-item-container::before, .g-menu-item-4491 > .g-menu-item-container::before {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%228%22%20height%3D%228%22%20rx%3D%222.2%22%20fill%3D%22%233b6df0%22%2F%3E%3Crect%20x%3D%2213%22%20y%3D%223%22%20width%3D%228%22%20height%3D%228%22%20rx%3D%222.2%22%20fill%3D%22%2334c47c%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20width%3D%228%22%20height%3D%228%22%20rx%3D%222.2%22%20fill%3D%22%23ffa13b%22%2F%3E%3Crect%20x%3D%2213%22%20y%3D%2213%22%20width%3D%228%22%20height%3D%228%22%20rx%3D%222.2%22%20fill%3D%22%239c80f7%22%2F%3E%3C%2Fsvg%3E');
}
/* mega dropdown: .g-dropdown is an invisible hover bridge, the card look lives on .g-dropdown-column */
#g-navigation .g-main-nav {
  position: relative;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth {
  position: static;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown {
  left: 50%;
  right: auto;
  width: min(780px, calc(100vw - 32px));
  margin: 0;
  padding: 12px 0 0;
  transform: translateX(-50%);
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown::before, #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown::after {
  display: none !important;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown {
  background: transparent !important;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column {
  position: relative;
  float: none;
  width: 100%;
  margin: 0;
  padding: 14px;
  list-style: none;
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  border-radius: 26px;
  box-shadow: 0 34px 70px -24px rgba(20, 30, 60, 0.38), var(--m-shadow-md);
  /* !important: page_head.html.twig has a global ".g-block { flex: unset !important }" */
  /* level 1: big section cards */
  /* small "has submenu" chevron in the card corner (keeps the tap target for touch screens) */
  /* level 2: panel that drops below the mega card */
  /* Nucleus gives .g-block position:relative; the panel must anchor to the mega card, not to one column */
  /* Gantry opens nested megamenu levels on click only; open them on hover (pointer devices) */
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid {
  display: flex;
  gap: 12px;
  margin: 0;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block {
  flex: 1 1 0 !important;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel {
  margin: 0;
  padding: 0;
  list-style: none;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column .g-go-back {
  display: none;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item {
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 20px;
  --ct: rgba(59, 109, 240, 0.14);
  --cl: rgba(59, 109, 240, 0.4);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item-4169, #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item-4492 {
  --ct: rgba(49, 156, 199, 0.16);
  --cl: rgba(49, 156, 199, 0.5);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item-4170, #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item-4502 {
  --ct: rgba(52, 196, 124, 0.17);
  --cl: rgba(52, 196, 124, 0.5);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item-4171, #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item-4511 {
  --ct: rgba(120, 130, 150, 0.17);
  --cl: rgba(120, 130, 150, 0.5);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item > .g-menu-item-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 28px 12px 24px;
  border: 1px solid var(--m-line);
  border-radius: 20px;
  background: linear-gradient(165deg, var(--ct), rgba(255, 255, 255, 0) 75%), var(--m-surface-2);
  color: var(--m-text) !important;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition: transform 0.3s var(--m-ease), box-shadow 0.3s var(--m-ease), border-color 0.2s;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item > .g-menu-item-container::before {
  content: "";
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background-color: var(--ct);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 40px;
  transition: transform 0.35s var(--m-ease);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item:hover > .g-menu-item-container {
  transform: translateY(-4px);
  border-color: var(--cl);
  box-shadow: 0 18px 36px -16px var(--cl);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item:hover > .g-menu-item-container::before {
  transform: scale(1.08) rotate(-4deg);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-menu-item > .g-menu-item-container > .g-menu-item-content {
  display: block;
  word-break: normal;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border-radius: 9px;
  background: var(--ct);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block > .g-sublevel > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator::after {
  position: static;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
  opacity: 0.7;
  transform: rotate(90deg);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column > .g-grid > .g-block {
  position: static;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown {
  position: absolute;
  top: calc(100% - 14px);
  left: 0;
  right: 0;
  width: auto;
  margin: 0;
  padding: 26px 0 0;
  transform: none;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  overflow: visible;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  z-index: 5;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown::before, #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown::after {
  display: none !important;
}
@media (hover: hover) {
  #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown {
    visibility: hidden;
    opacity: 0;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity 0.2s var(--m-ease), transform 0.25s var(--m-ease), visibility 0s linear 0.25s;
  }
  #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent:hover > .g-dropdown, #g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent:focus-within > .g-dropdown {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none;
    pointer-events: auto;
    transition-delay: 0s;
  }
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown > .g-dropdown-column {
  float: none;
  width: 100%;
  margin: 0;
  padding: 14px;
  list-style: none;
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  border-radius: 22px;
  box-shadow: 0 30px 60px -24px rgba(20, 30, 60, 0.35), var(--m-shadow-md);
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown .g-grid {
  display: block;
  margin: 0;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown .g-block {
  width: 100%;
  margin: 0;
  padding: 0;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown .g-sublevel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown .g-sublevel > li.g-menu-item {
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: transparent;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown .g-sublevel > li.g-menu-item > .g-menu-item-container {
  display: block;
  padding: 10px 14px;
  border-radius: 12px;
  color: var(--m-text) !important;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: left;
  transition: background-color 0.18s, color 0.18s;
}
#g-navigation .g-main-nav .g-toplevel > li.g-fullwidth > .g-dropdown > .g-dropdown-column li.g-menu-item.g-parent > .g-dropdown .g-sublevel > li.g-menu-item:hover > .g-menu-item-container {
  background: var(--ct);
}
/* tablets (desktop menu still on, below 60rem): let labels wrap and tighten the spacing */
@media (max-width: 60rem) {
  /* one word per line, so every item hugs its longest word instead of keeping the one-line width */
  #g-navigation .g-main-nav .g-toplevel {
    gap: 2px;
    max-width: none;
  }
  #g-navigation .g-main-nav .g-toplevel > li.g-menu-item {
    flex: 0 0 auto;
    min-width: 0;
  }
  #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container .g-menu-item-title {
    display: block;
    width: min-content;
  }
  #g-navigation .g-block:has(.g-logo) {
    min-width: 0;
  }
  #g-navigation .g-logo, #g-navigation .g-logo img {
    max-width: 100%;
  }
  #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
    gap: 8px;
    padding: 6px 10px 6px 6px;
    white-space: normal;
    font-size: 0.92rem;
    line-height: 1.15;
  }
  #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container::before {
    width: 34px;
    height: 34px;
    background-size: 21px;
  }
}
/* ---------- Home hero ---------- */
#g-intro {
  padding: 0;
  background: radial-gradient(700px 320px at 18% 40%, rgba(42, 163, 214, 0.2), transparent 70%), radial-gradient(700px 320px at 82% 30%, rgba(52, 196, 124, 0.18), transparent 70%);
}
.m-hero-block {
  padding: 0 !important;
}
.m-hero {
  position: relative;
  text-align: center;
  padding: clamp(12px, 2vw, 24px) 16px 0;
  isolation: isolate;
}
.m-hero__glow {
  display: none;
}
.m-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px !important;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--m-muted);
  background: var(--m-glass);
  border: 1px solid var(--m-line);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.m-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--m-and-1);
  box-shadow: 0 0 0 4px rgba(52, 196, 124, 0.22);
}
.m-hero .m-hero__title {
  max-width: 24ch;
  margin: 0 auto 10px;
  padding: 0 !important;
  font-size: clamp(1.1rem, 0.5rem + 3vw, 1.9rem) !important;
  font-weight: 800;
  line-height: 1.06 !important;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
  overflow: visible;
}
.m-grad {
  background: linear-gradient(100deg, var(--m-win-1), var(--m-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.m-grad--g {
  background-image: linear-gradient(100deg, var(--m-and-1), var(--m-and-2));
}
.m-hero__lead {
  max-width: 46ch;
  margin: 0 auto 18px !important;
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.2rem);
  line-height: 1.5;
  color: var(--m-muted);
}
.m-hero__search {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(640px, 100%);
  margin: 0 auto 34px;
  padding: 16px 22px;
  border-radius: 999px;
  border: 1px solid var(--m-line);
  background: var(--m-glass-strong);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: var(--m-shadow-md);
  color: var(--m-muted);
  font: inherit;
  font-size: 1.02rem;
  cursor: text;
  transition: transform 0.3s var(--m-ease), box-shadow 0.3s var(--m-ease), border-color 0.2s;
}
.m-hero__search:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 109, 240, 0.4);
  box-shadow: 0 18px 44px -12px rgba(59, 109, 240, 0.35);
}
.m-hero__search svg {
  width: 20px;
  height: 20px;
  flex: none;
  fill: var(--m-accent);
}
.m-hero__platforms:last-child {
  margin-bottom: 0;
}
.m-hero__platforms {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 880px;
  margin: 0 auto 22px;
}
.m-plat {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
  text-align: left;
  padding: 18px 20px;
  border-radius: 22px;
  color: #fff !important;
  overflow: hidden;
  box-shadow: 0 16px 34px -14px rgba(20, 30, 70, 0.55);
  transition: transform 0.35s var(--m-ease), box-shadow 0.35s var(--m-ease);
}
.m-plat::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(260px 120px at 100% 0%, rgba(255, 255, 255, 0.32), transparent 70%);
  pointer-events: none;
}
.m-plat:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 44px -16px rgba(20, 30, 70, 0.65);
}
.m-plat i {
  grid-row: 1 / 3;
  font-style: normal;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 16px;
  font-size: 1.6rem;
  background: rgba(255, 255, 255, 0.2);
}
.m-plat b {
  align-self: end;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}
.m-plat small {
  align-self: start;
  font-size: 0.82rem;
  opacity: 0.85;
}
.m-plat--win {
  background: linear-gradient(135deg, #2aa3d6, #3b6df0);
}
.m-plat--and {
  background: linear-gradient(135deg, #34c47c, #12a38a);
}
.m-plat--mac {
  background: linear-gradient(135deg, #5b6478, #1f2638);
}
.m-hero__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.m-hero__chips a {
  padding: 7px 15px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--m-text);
  background: var(--m-glass);
  border: 1px solid var(--m-line);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.m-hero__chips a:hover {
  color: #fff;
  background: var(--m-accent);
  border-color: transparent;
  transform: translateY(-1px);
}
@media (max-width: 640px) {
  .m-hero__platforms {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .m-plat {
    padding: 14px 16px;
  }
  .m-hero__search {
    padding: 13px 18px;
    font-size: 0.95rem;
  }
}
/* ---------- Compact horizontal app cards ---------- */
.categorycardcontent {
  max-height: none !important;
  padding: 16px !important;
  gap: 2px;
  align-items: flex-start;
}
.appcard-right {
  align-self: stretch;
}
.appname {
  font-size: 1.02rem;
  max-height: none;
}
.catrating {
  min-height: 24px;
  margin-bottom: 2px;
}
/* the ratings counter lives on the item page only */
.appcard .catrating a.jreview-begin {
  display: none !important;
}
.anons {
  font-size: 0.86rem;
  line-height: 1.35;
  align-items: flex-start;
}
.appversion {
  margin-top: 6px;
}
/* ---------- App page header ---------- */
.apptop_pad {
  position: relative;
  margin-top: 14px;
  padding: 20px;
  gap: 6px;
  border-radius: var(--m-radius);
  background: radial-gradient(420px 200px at 0% 0%, rgba(59, 109, 240, 0.1), transparent 70%), radial-gradient(360px 200px at 100% 100%, rgba(52, 196, 124, 0.1), transparent 70%), var(--m-surface-2);
  border: 1px solid var(--m-line);
}
.apptop_pad .itemicon img {
  width: 132px !important;
  height: 132px !important;
}
.itemtopinfo {
  padding-left: 18px;
}
/* ---------- Dark theme ---------- */
:root {
  --m-surface-2: #fbfcff;
  --m-glass: rgba(255, 255, 255, 0.6);
  --m-glass-strong: rgba(255, 255, 255, 0.85);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --m-bg: #0d111b;
    --m-surface: #161c2b;
    --m-surface-2: #121826;
    --m-text: #e8ecf6;
    --m-muted: #9aa5bd;
    --m-line: rgba(255, 255, 255, 0.09);
    --m-accent: #6b93ff;
    --m-glass: rgba(26, 33, 51, 0.6);
    --m-glass-strong: rgba(26, 33, 51, 0.82);
    --m-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 14px rgba(0, 0, 0, 0.25);
    --m-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.35), 0 14px 34px -6px rgba(0, 0, 0, 0.55);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --m-bg: #0d111b;
  --m-surface: #161c2b;
  --m-surface-2: #121826;
  --m-text: #e8ecf6;
  --m-muted: #9aa5bd;
  --m-line: rgba(255, 255, 255, 0.09);
  --m-accent: #6b93ff;
  --m-glass: rgba(26, 33, 51, 0.6);
  --m-glass-strong: rgba(26, 33, 51, 0.82);
  --m-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 14px rgba(0, 0, 0, 0.25);
  --m-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.35), 0 14px 34px -6px rgba(0, 0, 0, 0.55);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* logo: the .g-logo class sits on the <a> itself; light <img> stays for layout, dark variant is painted behind it */
    /* main menu + dropdowns */
    /* callouts: coloured surface per variant, brighter accents for contrast on the dark card */
    /* descriptions: soften the rules under headings */
    /* JComments (modern template) */
  }
  :root:not([data-theme="light"]) .g-logo.g-logo-helium {
    display: inline-block;
    background: url('../../../../images/biblsoft-brand/logo/svg/biblsoft-logo-color-dark.svg') left center / contain no-repeat;
  }
  :root:not([data-theme="light"]) .g-logo.g-logo-helium img {
    visibility: hidden;
  }
  :root:not([data-theme="light"]) body {
    color: var(--m-text);
  }
  :root:not([data-theme="light"]) #g-navigation {
    background: rgba(18, 24, 38, 0.72) !important;
  }
  :root:not([data-theme="light"]) #g-navigation .g-toplevel > .g-menu-item > a, :root:not([data-theme="light"]) .appname a, :root:not([data-theme="light"]) .mp-it-art-title a {
    color: var(--m-text) !important;
  }
  :root:not([data-theme="light"]) .g-main-nav .g-dropdown {
    background: var(--m-surface) !important;
    color: var(--m-text);
  }
  :root:not([data-theme="light"]) .g-main-nav .g-toplevel > li > .g-menu-item-container, :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li > .g-menu-item-container, :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li:hover > .g-menu-item-container {
    background: transparent !important;
  }
  :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li > .g-menu-item-container > .g-menu-item-content, :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li > .g-menu-item-container .g-menu-item-title {
    color: var(--m-text) !important;
  }
  :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li:hover, :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li.g-selected {
    background: rgba(107, 147, 255, 0.14);
    border-radius: 10px;
  }
  :root:not([data-theme="light"]) .g-main-nav .g-menu-parent-indicator::after, :root:not([data-theme="light"]) .g-main-nav .g-go-back a::before, :root:not([data-theme="light"]) .g-main-nav .g-sublevel > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator::after {
    color: var(--m-muted) !important;
    border-color: var(--m-muted) !important;
  }
  :root:not([data-theme="light"]) .mainapparea .app-block, :root:not([data-theme="light"]) .bs-com-category-ad, :root:not([data-theme="light"]) .blognews .flexicontent, :root:not([data-theme="light"]) .syspage #g-mainbar .g-content, :root:not([data-theme="light"]) #g-sidebar .g-block, :root:not([data-theme="light"]) .mp-it-art, :root:not([data-theme="light"]) .categorycardcontent, :root:not([data-theme="light"]) .anonsdetail, :root:not([data-theme="light"]) .page-link, :root:not([data-theme="light"]) .fcs-dialog, :root:not([data-theme="light"]) .allitems a {
    background: var(--m-surface) !important;
    color: var(--m-text);
  }
  :root:not([data-theme="light"]) #g-mainbar .g-content h1, :root:not([data-theme="light"]) #g-mainbar .g-content h2, :root:not([data-theme="light"]) #g-mainbar .g-content h3, :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2, :root:not([data-theme="light"]) h3, :root:not([data-theme="light"]) h4 {
    color: var(--m-text);
  }
  :root:not([data-theme="light"]) .app_short_data, :root:not([data-theme="light"]) .appinfotitle {
    color: var(--m-muted);
  }
  :root:not([data-theme="light"]) .app-verdict {
    background: rgba(78, 157, 235, 0.12);
  }
  :root:not([data-theme="light"]) .verdict-title {
    color: #8fb8ff;
  }
  :root:not([data-theme="light"]) #flexicontent .alert {
    --co: #94a3b8;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-info {
    --co: #60a5fa;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-success {
    --co: #4ade80;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-warning {
    --co: #fbbf24;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-danger, :root:not([data-theme="light"]) #flexicontent .alert.alert-error {
    --co: #f87171;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-primary {
    --co: #a78bfa;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-secondary {
    --co: #2dd4bf;
  }
  :root:not([data-theme="light"]) #flexicontent .alert.alert-light {
    --co: #cbd5e1;
  }
  :root:not([data-theme="light"]) #flexicontent .alert {
    background: color-mix(in srgb, var(--co) 13%, var(--m-surface)) !important;
    border-color: color-mix(in srgb, var(--co) 30%, transparent) color-mix(in srgb, var(--co) 30%, transparent) color-mix(in srgb, var(--co) 30%, transparent) var(--co) !important;
    box-shadow: none;
    color: var(--m-text) !important;
  }
  :root:not([data-theme="light"]) #flexicontent .alert strong, :root:not([data-theme="light"]) #flexicontent .alert b {
    color: var(--m-text);
  }
  :root:not([data-theme="light"]) #flexicontent .alert code {
    background: rgba(255, 255, 255, 0.08);
    color: var(--m-text);
  }
  :root:not([data-theme="light"]) #flexicontent .alert::before {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--co) 13%, var(--m-surface));
  }
  :root:not([data-theme="light"]) input, :root:not([data-theme="light"]) select, :root:not([data-theme="light"]) textarea {
    background: var(--m-surface-2);
    color: var(--m-text);
    border-color: var(--m-line);
  }
  :root:not([data-theme="light"]) img {
    filter: brightness(0.92);
  }
  :root:not([data-theme="light"]) #g-footer {
    background: #080b12 !important;
  }
  :root:not([data-theme="light"]) #flexicontent hr, :root:not([data-theme="light"]) .mainapparea h2, :root:not([data-theme="light"]) .mainapparea h3, :root:not([data-theme="light"]) .mainapparea h4 {
    border-color: var(--m-line) !important;
  }
  :root:not([data-theme="light"]) .starContainer a.jreview-begin {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: var(--m-line) !important;
    color: var(--m-muted) !important;
  }
  :root:not([data-theme="light"]) .jc-modern, :root:not([data-theme="light"]) .jc-modern .reviews, :root:not([data-theme="light"]) .jc-modern .comments-area, :root:not([data-theme="light"]) .jc-modern .bbcode, :root:not([data-theme="light"]) .jc-modern .grippie, :root:not([data-theme="light"]) .jc-modern textarea, :root:not([data-theme="light"]) .jc-modern input[type="text"], :root:not([data-theme="light"]) .jc-modern input[type="email"] {
    background: var(--m-surface-2) !important;
    color: var(--m-text) !important;
    border-color: var(--m-line) !important;
  }
  :root:not([data-theme="light"]) .jc-modern h4, :root:not([data-theme="light"]) .jc-modern .comment-author, :root:not([data-theme="light"]) .jc-modern .comment-body, :root:not([data-theme="light"]) .jc-modern label {
    color: var(--m-text) !important;
  }
  :root:not([data-theme="light"]) .jc-modern .comment-date, :root:not([data-theme="light"]) .jc-modern .comment-email, :root:not([data-theme="light"]) .jc-modern .reactions-trigger {
    color: var(--m-muted) !important;
  }
  :root:not([data-theme="light"]) #g-header .breadcrumb a {
    color: var(--m-muted) !important;
  }
}
:root[data-theme="dark"] {
  /* logo: the .g-logo class sits on the <a> itself; light <img> stays for layout, dark variant is painted behind it */
  /* main menu + dropdowns */
  /* callouts: coloured surface per variant, brighter accents for contrast on the dark card */
  /* descriptions: soften the rules under headings */
  /* JComments (modern template) */
}
:root[data-theme="dark"] .g-logo.g-logo-helium {
  display: inline-block;
  background: url('../../../../images/biblsoft-brand/logo/svg/biblsoft-logo-color-dark.svg') left center / contain no-repeat;
}
:root[data-theme="dark"] .g-logo.g-logo-helium img {
  visibility: hidden;
}
:root[data-theme="dark"] body {
  color: var(--m-text);
}
:root[data-theme="dark"] #g-navigation {
  background: rgba(18, 24, 38, 0.72) !important;
}
:root[data-theme="dark"] #g-navigation .g-toplevel > .g-menu-item > a, :root[data-theme="dark"] .appname a, :root[data-theme="dark"] .mp-it-art-title a {
  color: var(--m-text) !important;
}
:root[data-theme="dark"] .g-main-nav .g-dropdown {
  background: var(--m-surface) !important;
  color: var(--m-text);
}
:root[data-theme="dark"] .g-main-nav .g-toplevel > li > .g-menu-item-container, :root[data-theme="dark"] .g-main-nav .g-sublevel > li > .g-menu-item-container, :root[data-theme="dark"] .g-main-nav .g-sublevel > li:hover > .g-menu-item-container {
  background: transparent !important;
}
:root[data-theme="dark"] .g-main-nav .g-sublevel > li > .g-menu-item-container > .g-menu-item-content, :root[data-theme="dark"] .g-main-nav .g-sublevel > li > .g-menu-item-container .g-menu-item-title {
  color: var(--m-text) !important;
}
:root[data-theme="dark"] .g-main-nav .g-sublevel > li:hover, :root[data-theme="dark"] .g-main-nav .g-sublevel > li.g-selected {
  background: rgba(107, 147, 255, 0.14);
  border-radius: 10px;
}
:root[data-theme="dark"] .g-main-nav .g-menu-parent-indicator::after, :root[data-theme="dark"] .g-main-nav .g-go-back a::before, :root[data-theme="dark"] .g-main-nav .g-sublevel > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator::after {
  color: var(--m-muted) !important;
  border-color: var(--m-muted) !important;
}
:root[data-theme="dark"] .mainapparea .app-block, :root[data-theme="dark"] .bs-com-category-ad, :root[data-theme="dark"] .blognews .flexicontent, :root[data-theme="dark"] .syspage #g-mainbar .g-content, :root[data-theme="dark"] #g-sidebar .g-block, :root[data-theme="dark"] .mp-it-art, :root[data-theme="dark"] .categorycardcontent, :root[data-theme="dark"] .anonsdetail, :root[data-theme="dark"] .page-link, :root[data-theme="dark"] .fcs-dialog, :root[data-theme="dark"] .allitems a {
  background: var(--m-surface) !important;
  color: var(--m-text);
}
:root[data-theme="dark"] #g-mainbar .g-content h1, :root[data-theme="dark"] #g-mainbar .g-content h2, :root[data-theme="dark"] #g-mainbar .g-content h3, :root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4 {
  color: var(--m-text);
}
:root[data-theme="dark"] .app_short_data, :root[data-theme="dark"] .appinfotitle {
  color: var(--m-muted);
}
:root[data-theme="dark"] .app-verdict {
  background: rgba(78, 157, 235, 0.12);
}
:root[data-theme="dark"] .verdict-title {
  color: #8fb8ff;
}
:root[data-theme="dark"] #flexicontent .alert {
  --co: #94a3b8;
}
:root[data-theme="dark"] #flexicontent .alert.alert-info {
  --co: #60a5fa;
}
:root[data-theme="dark"] #flexicontent .alert.alert-success {
  --co: #4ade80;
}
:root[data-theme="dark"] #flexicontent .alert.alert-warning {
  --co: #fbbf24;
}
:root[data-theme="dark"] #flexicontent .alert.alert-danger, :root[data-theme="dark"] #flexicontent .alert.alert-error {
  --co: #f87171;
}
:root[data-theme="dark"] #flexicontent .alert.alert-primary {
  --co: #a78bfa;
}
:root[data-theme="dark"] #flexicontent .alert.alert-secondary {
  --co: #2dd4bf;
}
:root[data-theme="dark"] #flexicontent .alert.alert-light {
  --co: #cbd5e1;
}
:root[data-theme="dark"] #flexicontent .alert {
  background: color-mix(in srgb, var(--co) 13%, var(--m-surface)) !important;
  border-color: color-mix(in srgb, var(--co) 30%, transparent) color-mix(in srgb, var(--co) 30%, transparent) color-mix(in srgb, var(--co) 30%, transparent) var(--co) !important;
  box-shadow: none;
  color: var(--m-text) !important;
}
:root[data-theme="dark"] #flexicontent .alert strong, :root[data-theme="dark"] #flexicontent .alert b {
  color: var(--m-text);
}
:root[data-theme="dark"] #flexicontent .alert code {
  background: rgba(255, 255, 255, 0.08);
  color: var(--m-text);
}
:root[data-theme="dark"] #flexicontent .alert::before {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--co) 13%, var(--m-surface));
}
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea {
  background: var(--m-surface-2);
  color: var(--m-text);
  border-color: var(--m-line);
}
:root[data-theme="dark"] img {
  filter: brightness(0.92);
}
:root[data-theme="dark"] #g-footer {
  background: #080b12 !important;
}
:root[data-theme="dark"] #flexicontent hr, :root[data-theme="dark"] .mainapparea h2, :root[data-theme="dark"] .mainapparea h3, :root[data-theme="dark"] .mainapparea h4 {
  border-color: var(--m-line) !important;
}
:root[data-theme="dark"] .starContainer a.jreview-begin {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--m-line) !important;
  color: var(--m-muted) !important;
}
:root[data-theme="dark"] .jc-modern, :root[data-theme="dark"] .jc-modern .reviews, :root[data-theme="dark"] .jc-modern .comments-area, :root[data-theme="dark"] .jc-modern .bbcode, :root[data-theme="dark"] .jc-modern .grippie, :root[data-theme="dark"] .jc-modern textarea, :root[data-theme="dark"] .jc-modern input[type="text"], :root[data-theme="dark"] .jc-modern input[type="email"] {
  background: var(--m-surface-2) !important;
  color: var(--m-text) !important;
  border-color: var(--m-line) !important;
}
:root[data-theme="dark"] .jc-modern h4, :root[data-theme="dark"] .jc-modern .comment-author, :root[data-theme="dark"] .jc-modern .comment-body, :root[data-theme="dark"] .jc-modern label {
  color: var(--m-text) !important;
}
:root[data-theme="dark"] .jc-modern .comment-date, :root[data-theme="dark"] .jc-modern .comment-email, :root[data-theme="dark"] .jc-modern .reactions-trigger {
  color: var(--m-muted) !important;
}
:root[data-theme="dark"] #g-header .breadcrumb a {
  color: var(--m-muted) !important;
}
/* theme toggle button (injected by fcs-tmpl-common.js next to the search icon) */
.m-theme-toggle {
  flex: none;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  color: var(--m-muted);
  background: rgba(59, 109, 240, 0.09);
  transition: transform 0.25s var(--m-ease), background-color 0.2s;
}
.m-theme-toggle:hover {
  background: rgba(59, 109, 240, 0.18);
  transform: rotate(18deg);
}
.m-theme-toggle svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
/* breadcrumb row: no strip, aligned with the content edge */
#g-header {
  border: 0;
  box-shadow: none;
}
#g-header .mod-breadcrumbs__wrapper {
  display: flex;
  justify-content: center;
}
#g-header .breadcrumb {
  display: inline-flex;
  align-items: center;
  margin: 16px auto 0;
  padding: 5px 16px;
  border-radius: 999px;
  background: var(--m-glass);
  border: 1px solid var(--m-line);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: var(--m-shadow-sm);
}
/* the space under the breadcrumbs equals the space above them */
#g-mainbar .g-content {
  margin-top: 0;
  padding-top: 0;
}
/* empty ad slot (no creative rendered) collapses instead of leaving a blank card */
.adsense-placeholder.app-block:not(:has(iframe, ins:not([data-ad-status="unfilled"]), [id^="yandex_rtb_"] > *)), .adsense-placeholder.bs-com-category-ad:not(:has(iframe, ins:not([data-ad-status="unfilled"]), [id^="yandex_rtb_"] > *)), .adsense-placeholder.app-block:has(ins[data-ad-status="unfilled"]), .adsense-placeholder.bs-com-category-ad:has(ins[data-ad-status="unfilled"]) {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  /* AdSense writes an inline height: auto on responsive slots */
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: none;
  overflow: hidden !important;
}
.subcatitem .catlink {
  border: 1px solid var(--m-line);
  border-radius: 12px;
  box-shadow: var(--m-shadow-sm);
  padding: 6px 10px;
  transition: transform 0.25s var(--m-ease), color 0.2s, border-color 0.2s;
}
.subcatitem .catlink:hover {
  transform: translateY(-2px);
  color: var(--m-accent);
  border-color: rgba(59, 109, 240, 0.35);
}
.search-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.search-container .g-particle {
  display: flex;
  align-items: center;
  gap: 8px;
}
.search-container .m-theme-toggle svg {
  position: static;
  transform: none;
}
/* platform glyphs reuse the menu icons as masks */
.m-plat--and i::before {
  content: "";
  width: 26px;
  height: 26px;
  background: #fff;
  -webkit-mask: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20576%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22green%22%20d%3D%22m420.6%20301.9a24%2024%200%201%201%2024-24%2024%2024%200%200%201%20-24%2024m-265.1%200a24%2024%200%201%201%2024-24%2024%2024%200%200%201%20-24%2024m273.7-144.5%2047.9-83a10%2010%200%201%200%20-17.3-10l-48.5%2084.1a301.3%20301.3%200%200%200%20-246.6%200l-48.5-84a10%2010%200%201%200%20-17.3%2010l47.9%2083c-82.3%2044.7-138.6%20128.1-146.8%20226.5h576c-8.2-98.5-64.5-181.8-146.9-226.6%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
  mask: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20576%20512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22green%22%20d%3D%22m420.6%20301.9a24%2024%200%201%201%2024-24%2024%2024%200%200%201%20-24%2024m-265.1%200a24%2024%200%201%201%2024-24%2024%2024%200%200%201%20-24%2024m273.7-144.5%2047.9-83a10%2010%200%201%200%20-17.3-10l-48.5%2084.1a301.3%20301.3%200%200%200%20-246.6%200l-48.5-84a10%2010%200%201%200%20-17.3%2010l47.9%2083c-82.3%2044.7-138.6%20128.1-146.8%20226.5h576c-8.2-98.5-64.5-181.8-146.9-226.6%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
}
.m-plat--win i::before {
  content: "";
  width: 26px;
  height: 26px;
  background: #fff;
  -webkit-mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23319cc7%22%20d%3D%22M0%2093.7l183.6-25.3v177.4H0V93.7zm0%20324.6l183.6%2025.3V268.4H0v149.9zm203.8%2028L448%20480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8%2065.7z%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
  mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23319cc7%22%20d%3D%22M0%2093.7l183.6-25.3v177.4H0V93.7zm0%20324.6l183.6%2025.3V268.4H0v149.9zm203.8%2028L448%20480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8%2065.7z%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
}
.m-plat--mac i::before {
  content: "";
  width: 26px;
  height: 26px;
  background: #fff;
  -webkit-mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20fill%3D%22%23808080%22%20d%3D%22M318.7%20268.7c-.2-36.7%2016.4-64.4%2050-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3%2020.7-88.5%2020.7-15%200-49.4-19.7-76.4-19.7C63.3%20141.2%204%20184.8%204%20273.5q0%2039.3%2014.4%2081.2c12.8%2036.7%2059%20126.7%20107.2%20125.2%2025.2-.6%2043-17.9%2075.8-17.9%2031.8%200%2048.3%2017.9%2076.4%2017.9%2048.6-.7%2090.4-82.5%20102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4%2024.8-61.9%2024-72.5-24.1%201.4-52%2016.4-67.9%2034.9-17.5%2019.8-27.8%2044.3-25.6%2071.9%2026.1%202%2049.9-11.4%2069.5-34.3z%22/%3E%3C/svg%3E') center / contain no-repeat;
  mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20fill%3D%22%23808080%22%20d%3D%22M318.7%20268.7c-.2-36.7%2016.4-64.4%2050-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3%2020.7-88.5%2020.7-15%200-49.4-19.7-76.4-19.7C63.3%20141.2%204%20184.8%204%20273.5q0%2039.3%2014.4%2081.2c12.8%2036.7%2059%20126.7%20107.2%20125.2%2025.2-.6%2043-17.9%2075.8-17.9%2031.8%200%2048.3%2017.9%2076.4%2017.9%2048.6-.7%2090.4-82.5%20102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4%2024.8-61.9%2024-72.5-24.1%201.4-52%2016.4-67.9%2034.9-17.5%2019.8-27.8%2044.3-25.6%2071.9%2026.1%202%2049.9-11.4%2069.5-34.3z%22/%3E%3C/svg%3E') center / contain no-repeat;
}
/* ---------- Phones: trim side gutters ---------- */
@media only all and (max-width: 47.99rem) {
  /* header: one row of fixed height - burger left, logo centred, theme toggle + search right;
	   every item is centred on the row's vertical middle */
  /* app header: icon + info without clipping */
  #g-mainbar .g-content {
    margin: 0;
    padding: 0 8px;
  }
  .appcard.padding10 {
    padding: 5px 0;
  }
  .categorycardcontent {
    padding: 12px !important;
  }
  .mainapparea .app-block {
    padding: 12px;
    margin-top: 10px;
  }
  .apptop_pad {
    padding: 12px;
  }
  .blognews .flexicontent, .syspage #g-mainbar .g-content {
    padding-left: 8px;
    padding-right: 8px;
  }
  .subcatitem .catlink {
    padding: 6px 8px;
  }
  #g-header .breadcrumb {
    margin: 12px auto 0;
    max-width: calc(100% - 16px);
    flex-wrap: wrap;
    justify-content: center;
  }
  #g-navigation {
    position: relative;
    height: 60px;
    min-height: 0;
    padding: 0 12px !important;
    border-radius: 0 0 20px 20px;
  }
  #g-navigation .g-container, #g-navigation .g-grid {
    height: 100%;
  }
  #g-navigation .g-container {
    position: static;
    width: 100%;
    padding: 0;
  }
  #g-navigation .g-content {
    margin: 0;
    padding: 0;
  }
  #g-navigation .g-grid {
    display: block;
  }
  #g-navigation .g-grid:empty, #g-navigation .g-grid:has(.g-system-messages) {
    display: none;
  }
  #g-navigation .g-block {
    width: auto;
    padding: 0;
  }
  #g-navigation .g-block:has(.g-logo) {
    position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
    flex: none;
  }
  #g-navigation .g-logo {
    display: block;
    width: 148px;
    margin: 0;
    line-height: 0;
  }
  #g-navigation .g-logo img, #g-navigation .g-logo svg {
    display: block;
    width: 148px;
    max-width: 100%;
    height: auto;
  }
  .g-offcanvas-toggle {
    top: 33px;
    left: 12px;
    width: 30px;
    height: 30px;
    margin-top: -18px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .g-offcanvas-toggle i {
    display: block;
    padding: 0;
    font-size: 26px;
    line-height: 1;
  }
  #g-navigation .g-block.size-60 {
    display: none;
  }
  #g-navigation .search-container {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: auto;
  }
  .search-container svg {
    position: static;
    transform: none;
  }
  .search-container .g-particle {
    gap: 6px;
  }
  .m-theme-toggle {
    margin-right: 0;
  }
  .app_short_data {
    height: auto;
    overflow: visible;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
  }
  .app_short_data div:nth-child(2) {
    white-space: normal;
  }
  .apptop_pad .itemicon img {
    width: 104px !important;
    height: 104px !important;
  }
  .itemtopinfo {
    padding-left: 12px;
  }
  .m-hero {
    padding-left: 4px;
    padding-right: 4px;
  }
}
/* ---------- "Additional information" block: spec tiles ---------- */
.appinfromation .appinfo-title {
  gap: 12px;
  margin-bottom: 16px;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--m-text);
}
.appinfromation .appinfo-title svg {
  flex: none;
  width: 34px;
  height: 34px;
  margin: 0;
}
/* tiles use the native Gantry size classes from the item template (size-25 = 4 per row);
   the gutter is the block padding, the visible tile is drawn by ::before */
.appinfromation .g-grid {
  margin: 0 -5px;
}
.appinfromation .g-block {
  position: relative;
  padding: 17px 21px;
  min-width: 0;
}
.appinfromation .g-block::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 14px;
  background: var(--m-surface-2);
  border: 1px solid var(--m-line);
}
.appinfromation .g-block > * {
  position: relative;
}
/* an incomplete last row: the last tile takes the free space */
.appinfromation .g-block:last-child {
  flex-grow: 1;
  max-width: none;
}
/* 4 per row (native size-25) down to the desktop breakpoint, then 2, and 1 on phones */
@media only all and (min-width: 30.01rem) and (max-width: 59.99rem) {
  .appinfromation .g-block {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .appinfromation .g-block:last-child {
    flex-grow: 1;
    max-width: none;
  }
}
@media only all and (max-width: 30rem) {
  .appinfromation .g-block, .appinfromation .g-block:last-child {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding: 15px 17px;
  }
}
.appinfromation .appinfotitle {
  margin-bottom: 4px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--m-muted);
}
.appinfromation .appinfocontent {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--m-text);
  border-bottom: 0;
  overflow-wrap: anywhere;
}
.appinfromation .appinfocontent a {
  color: var(--m-accent);
  font-weight: 600;
}
.appinfromation .appinfocontent a:hover {
  text-decoration: underline;
}
/* ---------- "Other platforms" row ---------- */
.relatedos, .relspan {
  display: inline-flex !important;
  align-items: center;
  margin: 0 6px 8px 0;
}
.other_os {
  padding: 0 4px 0 6px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--m-muted);
}
.relspan {
  width: auto !important;
  float: none !important;
  padding: 0;
  border: 1px solid var(--m-line);
  border-radius: 999px;
  background: var(--m-surface);
  box-shadow: var(--m-shadow-sm);
  transition: transform 0.25s var(--m-ease), border-color 0.2s, box-shadow 0.25s var(--m-ease);
}
.relspan:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 109, 240, 0.35);
  box-shadow: var(--m-shadow-md);
}
.relspan a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px 7px 12px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--m-text) !important;
}
.relspan a::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--m-muted);
}
.relWindows a::before {
  background: linear-gradient(135deg, var(--m-win-1), var(--m-win-2));
}
.relAndroid a::before {
  background: linear-gradient(135deg, var(--m-and-1), var(--m-and-2));
}
.relmacOS a::before {
  background: linear-gradient(135deg, #8a93a8, #3d4458);
}
.reliOS a::before {
  background: linear-gradient(135deg, #f5c542, #e0a400);
}
/* ---------- Download buttons ---------- */
#downloads-block .downloads-block-title, .downloads-block-title {
  margin: 4px 0 14px;
  font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--m-text);
}
.oval-button-download {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 18px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #14c98a, #0aa86e);
  color: #fff;
  text-align: left;
  box-shadow: 0 10px 22px -10px rgba(10, 168, 110, 0.7);
  transition: transform 0.25s var(--m-ease), box-shadow 0.25s var(--m-ease), filter 0.2s;
}
.oval-button-download:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 16px 28px -12px rgba(10, 168, 110, 0.85);
}
.oval-button-download:active {
  transform: translateY(0);
}
.oval-button-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: normal;
  color: #fff;
}
.oval-button-text svg {
  flex: none;
  width: 22px;
  height: 22px;
  margin: 0;
}
.oval-button-size {
  flex: none;
  padding: 5px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  font-size: 0.85rem;
  font-weight: 700;
  white-space: nowrap;
  color: #fff;
}
/* phones: the text takes a full row, the size chip wraps onto its own row and sticks to the end.
   Built on flex-wrap + margin-left:auto (no align-items, which iOS Safari ignores on <button>) */
@media only all and (max-width: 47.99rem) {
  .oval-button-download {
    display: flex;
    flex-flow: row wrap;
    gap: 10px 0;
    padding: 14px 16px;
    text-align: left;
  }
  .oval-button-text {
    flex: 1 1 100%;
    width: 100%;
    align-items: flex-start;
    font-size: 1rem;
  }
  .oval-button-text svg {
    margin-top: 1px;
  }
  .oval-button-size {
    flex: none;
    margin-left: auto;
  }
}
.reportblock {
  margin: 18px 0 6px;
}
.reportbutton {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border: 1px solid var(--m-line);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--m-muted);
  background: transparent;
}
.reportbutton svg {
  width: 15px;
  height: 15px;
  margin: 0;
  fill: currentColor;
}
.reportbutton:hover {
  color: #c0392b;
  border-color: rgba(192, 57, 43, 0.35);
  background: rgba(192, 57, 43, 0.06);
}
/* ---------- Home: intro text block ("Welcome") ---------- */
#g-mainbar .welcome .g-content {
  margin: 34px 25px 10px;
  padding: 22px 28px;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  background: var(--m-surface);
  box-shadow: var(--m-shadow-sm);
  color: var(--m-muted);
  font-size: 0.95rem;
  line-height: 1.7;
}
.welcome .g-content p {
  margin: 0;
}
.welcome .g-content a {
  color: var(--m-accent);
  font-weight: 600;
}
.welcome .g-content a:hover {
  text-decoration: underline;
}
@media only all and (max-width: 47.99rem) {
  #g-mainbar .welcome .g-content {
    margin: 22px 8px 10px;
    padding: 16px 18px;
  }
}
/* ---------- Category description + card grid share the same edges ---------- */
.catdescription {
  margin: 10px 0 14px;
  padding: 0 24px;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  background: var(--m-surface);
  box-shadow: var(--m-shadow-sm);
}
.catdescription, .catdescription p, .catdescription li {
  color: var(--m-text);
}
.catdescription a {
  color: var(--m-accent);
}
#app-description h2, .border_h, .app-block h2, .catdescription h2 {
  color: var(--m-text);
  border-bottom-color: var(--m-line);
}
/* each card keeps a 10px gutter (padding10); pull the grid out by the same amount so the cards touch the outer edges */
@media only all and (min-width: 48rem) {
  .categoryveiw, .mod_flexicontent .g-grid:has(> .appcard) {
    margin-left: -10px;
    margin-right: -10px;
  }
}
/* subcategory buttons and the category title share the card edges (the block gutter is 5px) */
.subcatmenu {
  margin-left: -5px;
  margin-right: -5px;
}
.fccategory h1.componentheading {
  padding-left: 0 !important;
}
/* FAQ on the item page reuses the category description expander, without the card */
.catdescription.faq-desc {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
/* ---------- Category description: collapsed by pixel height ---------- */
.catdescription-inner {
  position: relative;
  max-height: 320px;
  overflow: hidden;
}
.catdescription-inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 64px;
  background: linear-gradient(to bottom, transparent, var(--m-surface));
  pointer-events: none;
}
.catdescription.active .catdescription-inner, .catdescription.is-short .catdescription-inner {
  max-height: none;
  overflow: visible;
}
.catdescription.active .catdescription-inner::after, .catdescription.is-short .catdescription-inner::after {
  display: none;
}
.catdescription.is-short .desc-open {
  display: none;
}
.desc-open {
  display: flex;
  justify-content: center;
  margin: 4px 0 14px;
}
.more-less {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  color: var(--m-accent);
  background: color-mix(in srgb, var(--m-accent) 12%, transparent);
  transition: background-color 0.2s, color 0.2s;
}
.more-less:hover {
  color: #fff;
  background: var(--m-accent);
}
.ml-chevron {
  flex: none;
  transition: transform 0.25s var(--m-ease);
}
.catdescription.active .ml-chevron {
  transform: rotate(180deg);
}
.desc-open .less {
  display: none;
}
.catdescription.active .desc-open .more {
  display: none;
}
.catdescription.active .desc-open .less {
  display: inline;
}
/* ---------- FAQ accordion (iFAQ, template apps_ifaq) ---------- */
#faq h2 {
  margin-bottom: 14px !important;
}
.ifaq-tpl-apps_ifaq .ifaqControls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
#flexicontent .ifaq-tpl-apps_ifaq .ifaqControls .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  border: 1px solid var(--m-line) !important;
  border-radius: 999px;
  background: var(--m-surface-2) !important;
  color: var(--m-accent) !important;
  font-size: 0.88rem !important;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
#flexicontent .ifaq-tpl-apps_ifaq .ifaqControls .btn:hover {
  background: var(--m-accent) !important;
  border-color: transparent !important;
  color: #fff !important;
}
#flexicontent .ifaq-tpl-apps_ifaq .ifaqControls .btn svg {
  position: static;
  width: 11px;
  height: 11px;
  margin: 0;
  scale: 1;
}
.ifaq-tpl-apps_ifaq [itemprop="mainEntity"] {
  margin-bottom: 8px;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-sm);
  background: var(--m-surface);
  overflow: hidden;
  transition: border-color 0.2s, background-color 0.2s;
}
.ifaq-tpl-apps_ifaq [itemprop="mainEntity"]:hover, .ifaq-tpl-apps_ifaq [itemprop="mainEntity"]:has(> .collapse-open) {
  border-color: color-mix(in srgb, var(--m-accent) 38%, transparent);
}
.ifaq-tpl-apps_ifaq [itemprop="mainEntity"]:has(> .collapse-open) {
  background: var(--m-surface-2);
}
.ifaq-tpl-apps_ifaq .ifaq-collapsible {
  position: relative;
  margin: 0 !important;
  border: 0;
  background: transparent !important;
  font-family: inherit;
  cursor: pointer;
}
.ifaq-tpl-apps_ifaq .ifaq-collapsible > a {
  display: block;
  padding: 0 !important;
  background: none !important;
  color: var(--m-text);
}
.ifaq-tpl-apps_ifaq .ifaq-item-header {
  margin: 0 !important;
  padding: 14px 52px 14px 54px;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.4;
  color: var(--m-text);
}
.ifaq-tpl-apps_ifaq .collapse-open .ifaq-item-header {
  color: var(--m-accent);
}
/* question icon: a round "?" badge, filled with the accent when the item is open */
.ifaq-tpl-apps_ifaq .ifaq-collapsible::before {
  content: "?";
  position: absolute;
  left: 16px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--m-accent) 14%, transparent);
  color: var(--m-accent);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
  transition: background-color 0.2s, color 0.2s;
}
.ifaq-tpl-apps_ifaq .collapse-open::before {
  background: var(--m-accent);
  color: #fff;
}
.ifaq-tpl-apps_ifaq .ifaq-collapsible::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--m-muted);
  border-bottom: 2px solid var(--m-muted);
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.25s var(--m-ease), border-color 0.2s;
}
.ifaq-tpl-apps_ifaq .collapse-open::after {
  border-color: var(--m-accent);
  transform: translateY(-30%) rotate(225deg);
}
.ifaq-tpl-apps_ifaq .ifaq-panel {
  margin: 0 !important;
  border-top: 1px solid var(--m-line);
  font-size: 0.98rem !important;
  line-height: 1.65;
  color: var(--m-text);
}
.ifaq-tpl-apps_ifaq .ifaq-content {
  padding: 14px 18px 16px 54px;
}
.ifaq-tpl-apps_ifaq .paneopen {
  margin: 0;
}
.ifaq-tpl-apps_ifaq .paneopen > :first-child {
  margin-top: 0;
}
.ifaq-tpl-apps_ifaq .paneopen > :last-child {
  margin-bottom: 0;
}
@media only all and (max-width: 47.99rem) {
  .ifaq-tpl-apps_ifaq .ifaq-item-header {
    padding: 12px 44px 12px 48px;
  }
  .ifaq-tpl-apps_ifaq .ifaq-collapsible::before {
    left: 12px;
  }
  .ifaq-tpl-apps_ifaq .ifaq-content {
    padding: 12px 14px 14px 48px;
  }
  #flexicontent .ifaq-tpl-apps_ifaq .ifaqControls .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}
/* ---------- Offcanvas (mobile menu): each item is a rounded pill, expand buttons are square chips ---------- */
#g-offcanvas {
  background: #171d2d;
  color: #e8ecf5;
}
/* opaque on purpose: an expanded sub-level slides over the top level and must hide it (and the parent pill's hover tint) */
#g-offcanvas #g-mobilemenu-container ul {
  background: #171d2d;
}
#g-offcanvas a, #g-offcanvas a:hover {
  color: #e8ecf5;
}
#g-offcanvas #g-mobilemenu-container ul.g-toplevel {
  padding-top: 14px;
  padding-bottom: 6px;
}
#g-offcanvas #g-mobilemenu-container ul.g-toplevel > li, #g-offcanvas #g-mobilemenu-container ul.g-sublevel > li {
  margin: 0 12px 8px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07) !important;
  transition: background 0.15s;
}
#g-offcanvas #g-mobilemenu-container ul.g-toplevel > li:hover, #g-offcanvas #g-mobilemenu-container ul.g-sublevel > li:hover {
  background: rgba(255, 255, 255, 0.13) !important;
}
#g-offcanvas #g-mobilemenu-container ul.g-toplevel > li.active, #g-offcanvas #g-mobilemenu-container ul.g-sublevel > li.active {
  background: rgba(59, 109, 240, 0.32) !important;
}
#g-offcanvas #g-mobilemenu-container ul > li > .g-menu-item-container, #g-offcanvas #g-mobilemenu-container ul > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active > .g-menu-item-container, #g-offcanvas #g-mobilemenu-container ul > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module):hover > .g-menu-item-container {
  color: #e8ecf5;
  border: 0;
  padding: 14px 52px 14px 16px;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.3;
}
#g-offcanvas #g-mobilemenu-container ul.g-sublevel {
  padding: 0;
}
#g-offcanvas #g-mobilemenu-container .g-block:first-child > ul.g-sublevel {
  padding-top: 14px;
}
#g-offcanvas #g-mobilemenu-container .g-block:last-child > ul.g-sublevel {
  padding-bottom: 6px;
}
#g-offcanvas #g-mobilemenu-container ul > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator, #g-offcanvas #g-mobilemenu-container ul > li.g-menu-item-link-parent > .g-menu-item-container > .g-menu-parent-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  right: 8px;
  top: 50% !important;
  width: 36px;
  height: 36px;
  margin: -18px 0 0 !important;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  transition: background 0.15s;
}
#g-offcanvas #g-mobilemenu-container ul > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator:hover {
  background: rgba(255, 255, 255, 0.22);
}
#g-offcanvas #g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator::after {
  left: 0;
  width: 14px;
  height: 14px;
  filter: invert(1);
}
#g-offcanvas #g-mobilemenu-container ul > li.g-go-back {
  margin-bottom: 4px;
  background: transparent !important;
}
#g-offcanvas #g-mobilemenu-container ul > li.g-go-back a {
  padding: 10px 16px;
  text-align: left;
}
#g-offcanvas .g-go-back a::before {
  filter: invert(1);
}
/* ---------- Reviews (JLex Review): summary, bars, review cards, replies ---------- */
.reviews {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--m-line);
  color: var(--m-text);
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
}
.reviews svg {
  flex: none;
  width: 34px;
  height: 34px;
  margin: 0;
  fill: var(--m-accent);
}
.jlexreview {
  color: var(--m-text);
  font-family: inherit;
}
.jlexreview a {
  color: var(--m-accent);
}
/* summary: score + stars on the left, rating bars on the right */
.jlexreview #jreview-summary {
  display: grid;
  grid-template-columns: minmax(200px, auto) minmax(260px, 440px);
  gap: 20px 56px;
  align-items: center;
  justify-content: center;
  padding: 24px 0 8px;
}
.jlexreview #jreview-summary > div {
  float: none;
  width: auto;
  margin: 0;
}
.jlexreview ._sum_text {
  font-size: 1rem;
  color: var(--m-muted);
}
.jlexreview ._sum_text > span {
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--m-text);
}
.jlexreview .ifo {
  margin-top: 12px;
  font-size: 0.95rem;
  color: var(--m-muted);
}
.jlexreview .ifo .sep {
  padding: 0 10px;
  color: var(--m-line);
}
.jlexreview ._filter_tools, .jlexreview ._summary_rating {
  width: 100%;
  float: none;
}
.jlexreview ul.jreview-table {
  display: grid;
  gap: 10px;
  width: 100%;
  margin: 0;
}
.jlexreview ul.jreview-table > li {
  display: grid;
  grid-template-columns: 22px 64px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 10px;
}
.jlexreview ul.jreview-table .jcol {
  display: block;
  padding: 0;
  font-size: 0.9rem;
  color: var(--m-muted);
}
.jlexreview ul.jreview-table .jcol + .jcol {
  padding-left: 0;
}
.jlexreview ul.jreview-table .jcol:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.jlexreview ul.jreview-table input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--m-accent);
}
.jlexreview ._jbar {
  width: 100%;
  height: 8px;
  border-radius: 99px;
  background: var(--m-line);
  overflow: hidden;
}
.jlexreview ._jfill {
  border-radius: 99px;
  background: linear-gradient(90deg, #f6bd45, #f0902a);
}
/* toolbar: write button left, sort + menu right (the inline margin on .tools comes from the extension) */
.jlexreview .tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 28px 0 20px !important;
}
.jlexreview .tools::before, .jlexreview .tools::after, .jlexreview .tools > .clearfix {
  display: none;
}
.jlexreview .tools ._left, .jlexreview .tools ._right {
  float: none;
}
.jlexreview .tools ul.jreview-list-inline {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.jlexreview .tools ul.jreview-list-inline li {
  margin: 0;
  padding: 0;
}
.jlexreview a.btn._write, .jlexreview a.btn.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--m-accent), var(--m-accent-2));
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.25s var(--m-ease), filter 0.2s;
}
.jlexreview a.btn._write:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  color: #fff;
}
.jlexreview a.btn._write i {
  margin: 0 !important;
}
.jlexreview .btn-secondary, .jlexreview a.jreview-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--m-line);
  border-radius: 999px;
  background: var(--m-surface-2);
  color: var(--m-text);
  font-size: 0.9rem;
  line-height: 1.2;
  cursor: pointer;
}
.jlexreview .btn-secondary i {
  margin: 0 !important;
  color: var(--m-muted);
}
.jlexreview .jreview_dropdown ul.jreview-dropdown-menu {
  min-width: 190px;
  padding: 6px !important;
  border: 1px solid var(--m-line);
  border-radius: 14px;
  background: var(--m-surface);
  box-shadow: var(--m-shadow-md);
}
.jlexreview .jreview_dropdown ._dx {
  padding: 9px 12px;
  border-radius: 9px;
  color: var(--m-text);
}
.jlexreview .jreview_dropdown ._dx.active, .jlexreview .jreview_dropdown ._dx:hover {
  background: var(--m-surface-2);
  color: var(--m-accent);
}
/* review card: author row on top, text and actions below, no speech-bubble arrow */
#jreview-listing .reviewBlock {
  padding: 18px 22px;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  background: var(--m-surface-2);
}
#jreview-listing .reviewBlock + .reviewBlock {
  margin-top: 14px;
}
#jreview-listing .reviewBlock .re-avatar {
  float: none !important;
  display: flex;
  align-items: center;
  gap: 12px;
  width: auto !important;
  margin: 0 0 10px !important;
  padding: 0;
  border: 0;
  background: none;
}
#jreview-listing .reviewBlock .re-avatar::after {
  display: none;
}
#jreview-listing .reviewBlock a.re-profile {
  float: none;
  flex: none;
  margin: 0;
}
#jreview-listing .reviewBlock a.re-profile img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 50%;
}
#jreview-listing ._user_meta {
  float: none;
  width: auto;
  margin: 0;
}
#jreview-listing .re-avatar .re-author-name {
  display: block;
  color: var(--m-text);
  font-size: 1rem;
  font-weight: 700;
  text-align: left !important;
}
#jreview-listing .reviewBlock ._arrowLeft1, #jreview-listing .reviewBlock ._arrowLeft2 {
  display: none !important;
}
#jreview-listing .reviewBlock .re-content {
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
#jreview-listing .reviewBlock .re_review_info {
  color: var(--m-muted);
  font-size: 0.85rem;
}
#jreview-listing .reviewBlock .re-body {
  margin-top: 10px;
  padding-bottom: 6px;
  font-family: inherit;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--m-text);
}
#jreview-listing .re-control-group._textarea > .re-control-label {
  display: none;
}
#jreview-listing .reviewBlock ._collapse_btn {
  height: 34px;
  margin: 0;
  background: linear-gradient(transparent, var(--m-surface-2));
  color: var(--m-accent);
  font-weight: 600;
  line-height: 40px;
  text-shadow: none;
}
#jreview-listing .reviewBlock .re-helpful {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin: 12px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid var(--m-line);
  background: none;
  color: var(--m-muted);
  font-size: 0.85rem;
  line-height: 1.4;
}
#jreview-listing .reviewBlock .re-helpful::after {
  display: none;
}
#jreview-listing .reviewBlock .re-helpful ._right {
  float: none !important;
  margin: 0 0 0 auto !important;
  text-align: right;
}
#jreview-listing .reviewBlock .re-helpful ._btn_group {
  display: inline-flex;
  gap: 6px;
}
#jreview-listing .reviewBlock .re-helpful ._btn, #jreview-listing .reviewBlock .re-helpful ._btn:last-child {
  float: none;
  left: 0;
  padding: 0 14px;
  border: 1px solid var(--m-line) !important;
  border-radius: 999px !important;
  background: var(--m-surface);
  color: var(--m-text);
  font-size: 0.8rem;
  line-height: 28px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
#jreview-listing .reviewBlock .re-helpful ._btn:hover, #jreview-listing .reviewBlock .re-helpful ._btn.active {
  border-color: var(--m-accent) !important;
  background: var(--m-surface);
  color: var(--m-accent);
  font-weight: 600;
}
#jreview-listing .reviewBlock .re-addon {
  margin: 8px 0 0;
  padding: 0;
  border: 0;
}
#jreview-listing .reviewBlock .re-addon a {
  color: var(--m-muted);
  font-size: 0.85rem;
}
#jreview-listing .reviewBlock .re-addon a:hover {
  color: var(--m-accent);
}
.re-comments a._more_cm_loader {
  margin: 8px;
  border-radius: 999px;
  background: var(--m-surface-2);
  color: var(--m-accent);
}
/* comments under a review: avatar + text rows, vote chips, nested replies */
#jreview-listing .reviewBlock .re-comments {
  margin: 12px 0 0;
  padding: 4px 16px;
  overflow: hidden;
  border: 1px solid var(--m-line);
  border-radius: 12px;
  background: var(--m-surface);
}
.jreview-comment {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 0 12px;
  padding: 14px 0;
  background: none !important;
}
.jreview-comment + .jreview-comment, .jreview-comment ._child {
  border-top: 1px solid var(--m-line);
}
.jreview-comment .clearfix {
  display: none;
}
.jreview-comment a.cm-profile {
  float: none;
  width: 36px;
  margin: 0;
}
.jreview-comment a.cm-profile img {
  display: block;
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 50%;
}
.jreview-comment .cm-content {
  min-width: 0;
  margin: 0;
}
.jreview-comment ._meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 10px;
}
.jreview-comment ._author {
  color: var(--m-text);
  font-size: 0.95rem;
  font-weight: 700;
}
.jreview-comment ._date {
  padding: 0;
  color: var(--m-muted);
  font-size: 0.8rem;
}
.jreview-comment ._comment {
  margin: 4px 0 8px;
  color: var(--m-text);
  font-size: 0.95rem;
  line-height: 1.6;
}
.jreview-comment ._comment p {
  margin: 0 0 6px;
}
.jreview-comment ._action ul.jreview-list-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
  margin: 0;
  padding: 0;
}
.jreview-comment ._action ul.jreview-list-inline li {
  margin: 0;
  padding: 0;
}
.jreview-comment ._action a {
  color: var(--m-muted);
  font-size: 0.82rem;
  cursor: pointer;
}
.jreview-comment ._action a:hover {
  color: var(--m-accent);
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote {
  display: inline-flex;
  flex: none;
  align-items: stretch;
  min-height: 30px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--m-line);
  border-radius: 999px;
  background: var(--m-surface-2);
  white-space: nowrap;
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 3px 12px;
  font-size: 0.85rem;
  line-height: 1;
  transition: background 0.15s;
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote > span:first-child {
  padding-right: 10px;
  color: #1d9a63;
  background: color-mix(in srgb, #22b573 12%, var(--m-surface-2));
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote > span:last-child {
  padding-left: 10px;
  color: #d6455d;
  background: color-mix(in srgb, #ef4d68 11%, var(--m-surface-2));
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote > span:first-child:hover {
  background: color-mix(in srgb, #22b573 22%, var(--m-surface-2));
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote > span:last-child:hover {
  background: color-mix(in srgb, #ef4d68 21%, var(--m-surface-2));
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote a {
  display: inline-flex;
  align-items: center;
  margin: 0;
  transform: none;
  color: inherit;
  line-height: 1;
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote a i {
  font-size: 1rem;
  line-height: 1;
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote ._count {
  min-width: 0.7em;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: left;
}
.jreview-comment ._action ul.jreview-list-inline li.jreview-cmVote > span._sp {
  display: block;
  align-self: stretch;
  width: 1px;
  margin: 0;
  padding: 0;
  background: var(--m-line);
}
/* trailing <br>s that authors leave at the end of a comment are not a paragraph break */
.jreview-comment ._comment br:last-of-type {
  display: none;
}
/* replies to a comment: indented under a thin accent rail */
.jreview-comment ._child {
  margin: 12px 0 0 !important;
  padding: 0 0 0 14px;
  border-top: 0;
  border-left: 2px solid var(--m-line);
}
.jreview-comment ._child > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* reply / new comment form */
.jreview-cm-form form {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--m-line);
}
.jreview-cm-form ._author img {
  border-radius: 50%;
}
.jreview-cm-form input, .jreview-cm-form textarea {
  padding: 9px 12px;
  border: 1px solid var(--m-line);
  border-radius: 10px;
  background: var(--m-surface);
  color: var(--m-text);
  font: inherit;
  font-size: 0.95rem;
}
.jreview-cm-form input:focus, .jreview-cm-form textarea:focus {
  border-color: var(--m-accent);
  outline: 0;
}
#jreview-pagination ul.jreview-pagination a {
  height: auto;
  padding: 8px 16px;
  border: 1px solid var(--m-line);
  border-radius: 999px;
  background: var(--m-surface-2);
  color: var(--m-text);
  line-height: 1.2;
  text-shadow: none;
}
#jreview-pagination ul.jreview-pagination a.active, #jreview-pagination ul.jreview-pagination a:hover {
  border-color: transparent;
  background: var(--m-accent);
  color: #fff;
}
@media (max-width: 47.99rem) {
  .jlexreview #jreview-summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  #jreview-listing .reviewBlock {
    padding: 14px 16px;
  }
  #jreview-listing .reviewBlock .re-helpful {
    flex-direction: column;
    align-items: flex-start;
  }
  #jreview-listing .reviewBlock .re-helpful ._right {
    margin: 0 !important;
    text-align: left;
  }
}
/* ---------- Review form ("Напишите свой отзыв") ---------- */
#post-review.jinline {
  margin-top: 28px;
  padding: 24px 28px;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  background: var(--m-surface-2);
}
#post-review .jheading {
  margin-bottom: 18px;
  color: var(--m-text);
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.6rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}
#jreview-form ._forGuest > div:not(.ct) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
#jreview-form ._forGuest > div:not(.ct) > .clearfix {
  display: none;
}
#jreview-form ._forGuest > div:not(.ct) > [class*="col-md-"] {
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}
#jreview-form .control-group {
  margin-bottom: 18px;
}
#jreview-form .control-label label {
  margin-bottom: 6px;
  color: var(--m-text);
  font-size: 0.92rem;
  font-weight: 700;
}
#jreview-form .control-label label .star {
  color: #e5484d;
}
#jreview-form input[type="text"], #jreview-form input[type="email"], #jreview-form input[type="url"], #jreview-form input[type="number"], #jreview-form textarea, #jreview-form select {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--m-line);
  border-radius: 12px;
  background: var(--m-surface);
  box-shadow: none;
  color: var(--m-text);
  font: inherit;
  font-size: 0.98rem;
  line-height: 46px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
#jreview-form textarea {
  height: 150px;
  padding: 12px 14px;
  line-height: 1.6 !important;
  resize: vertical;
}
#jreview-form input:focus, #jreview-form textarea:focus, #jreview-form select:focus {
  outline: 0;
  border-color: var(--m-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--m-accent) 22%, transparent);
}
#jreview-form ::placeholder {
  color: var(--m-muted);
  opacity: 0.8;
}
/* star picker: grey outlines, gold when hovered / chosen */
#jreview-form ._starRating {
  margin: 4px 0 6px;
  /* the row is row-reverse (stars are ordered 5..1 for the sibling selector), so flex-end is the visual left */
  justify-content: flex-end;
}
#jreview-form ._starRating > label {
  color: var(--m-line);
  font-size: 100% !important;
}
#jreview-form ._starRating > label::before {
  margin-right: 6px;
  font-size: 2.4rem;
  line-height: 1;
  transition: color 0.12s, transform 0.12s;
}
#jreview-form ._starRating input:checked ~ label, #jreview-form ._starRating label:hover, #jreview-form ._starRating label:hover ~ label {
  color: #f5a524;
}
#jreview-form ._starRating > label:hover::before {
  transform: scale(1.12);
}
#jreview-form ._ratingFlag {
  height: auto;
  margin-left: 10px;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--m-accent);
  font-size: 0.9rem;
  line-height: 1.3;
}
/* submit: pill like the "write a review" button, not a full-width bar */
#post-review #jreview-form .btn.btn-primary, #post-review #jreview-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 160px;
  height: auto;
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--m-accent), var(--m-accent-2));
  color: #fff;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  cursor: pointer;
  transition: transform 0.25s var(--m-ease), filter 0.2s, opacity 0.2s;
}
#post-review #jreview-form .btn.btn-primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}
#post-review #jreview-form .btn.btn-primary:disabled, #post-review #jreview-form .btn.btn-primary.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  filter: none;
}
#jreview-form ._errorMsg {
  padding: 10px 14px;
  border-radius: 10px;
  background: #e5484d;
}
@media (max-width: 47.99rem) {
  #post-review.jinline {
    padding: 18px 16px;
  }
  #jreview-form ._forGuest > div:not(.ct) {
    grid-template-columns: minmax(0, 1fr);
  }
  #jreview-form ._starRating > label::before {
    font-size: 2rem;
  }
}
/* Category lists: ads (top / after the 12th app / bottom) get the same card as the other blocks; the middle one takes the whole row of the flex card grid */
.bs-com-category-ad {
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow-sm);
  padding: 22px;
  margin-top: 16px;
  margin-bottom: 16px;
}
.g-grid.categoryveiw > .bs-com-category-inside {
  flex: 0 0 100%;
  width: 100%;
  margin: 10px 0;
}
/* Contact form (Convert Forms). The component sets colours, radius, font and a grey background inline / via its own variables, hence the !important overrides */
#g-mainbar .convertforms.cf {
  max-width: 760px;
  margin: 0 auto;
  font-family: inherit;
}
#g-mainbar .convertforms .cf-form-wrap {
  background: var(--m-surface) !important;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow-sm);
  padding: 1.5rem 1.75rem 1.75rem;
}
#g-mainbar .convertforms .cf-control-group {
  padding: 7px 0;
}
#g-mainbar .convertforms .cf-fields {
  margin: -7px 0;
}
#g-mainbar .convertforms .cf-control-group.cf-two-thirds {
  width: 100%;
}
#g-mainbar .convertforms .cf-heading {
  margin: 0 0 0.5rem;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--m-text);
}
#g-mainbar .convertforms .cf-label {
  margin-bottom: 0.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--m-muted);
}
#g-mainbar .convertforms .cf-required-label {
  color: var(--m-accent);
}
#g-mainbar .convertforms .cf-input {
  height: 46px !important;
  padding: 0 14px !important;
  background: var(--m-bg);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-sm);
  color: var(--m-text);
  font-size: 1rem;
  transition: border-color 0.2s var(--m-ease), box-shadow 0.2s var(--m-ease), background-color 0.2s var(--m-ease);
}
#g-mainbar .convertforms textarea.cf-input {
  min-height: 140px;
  padding: 12px 14px !important;
  resize: vertical;
}
#g-mainbar .convertforms .cf-input::placeholder {
  color: var(--m-muted);
  opacity: 0.7;
}
#g-mainbar .convertforms .cf-input:focus, #g-mainbar .convertforms .cf-input:focus-visible {
  background: var(--m-surface);
  border-color: var(--m-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--m-accent) 22%, transparent);
  color: var(--m-text);
  outline: 0;
}
#g-mainbar .convertforms .cf-btn {
  height: 46px !important;
  padding: 0 30px !important;
  background: linear-gradient(135deg, var(--m-accent), var(--m-accent-2));
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  box-shadow: var(--m-shadow-md);
  transition: transform 0.2s var(--m-ease), box-shadow 0.2s var(--m-ease);
}
#g-mainbar .convertforms .cf-btn:hover {
  opacity: 1;
  transform: translateY(-1px);
}
/* reCAPTCHA v3 is invisible: keep the legend for screen readers only, show the legal note small */
#g-mainbar .convertforms fieldset > legend.cf-label, #g-mainbar .convertforms .cf-control-group[data-type="recaptchaaio"] .cf-control-label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
#g-mainbar .convertforms .cf-recaptcha-v3-text-badge, #g-mainbar .convertforms .cf-recaptcha-v3-text-badge a {
  color: var(--m-muted);
  font-size: 0.75rem;
}
#g-mainbar .convertforms .cf-response {
  border-radius: var(--m-radius-sm);
}
@media (max-width: 47.99rem) {
  #g-mainbar .convertforms .cf-form-wrap {
    padding: 1.1rem 1rem 1.25rem;
  }
}
/* ---------- "Add us as a preferred source in Google" card (news and articles) ---------- */
.bs-gsource {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 28px 0;
  padding: 18px 22px;
  background: linear-gradient(135deg, rgba(59, 109, 240, 0.07), rgba(52, 196, 124, 0.06)), var(--m-surface);
  border: 1px solid rgba(59, 109, 240, 0.22);
  border-radius: var(--m-radius);
}
.bs-gsource .bs-gsource-logo {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
}
.bs-gsource .bs-gsource-body {
  flex: 1 1 auto;
  min-width: 0;
}
.bs-gsource .bs-gsource-title {
  color: var(--m-text);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
.bs-gsource .bs-gsource-text {
  margin: 4px 0 0;
  color: var(--m-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.bs-gsource .bs-gsource-btn {
  flex: 0 0 auto;
  padding: 11px 22px;
  border-radius: 999px;
  background: var(--m-accent);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.2s var(--m-ease), box-shadow 0.2s var(--m-ease), filter 0.2s;
}
.bs-gsource .bs-gsource-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px -8px var(--m-accent);
  filter: brightness(1.08);
}
@media (max-width: 47.99rem) {
  .bs-gsource {
    flex-wrap: wrap;
    padding: 16px;
  }
  .bs-gsource .bs-gsource-body {
    flex-basis: calc(100% - 52px);
  }
  .bs-gsource .bs-gsource-btn {
    width: 100%;
    text-align: center;
  }
}
/* ---------- Блок новостей на главной (mod_flexicontent, tmpl mainpage-it-news-top): белая карточка в общем стиле ---------- */
.wsc-mainnews {
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  box-shadow: var(--m-shadow-sm);
  padding: 1.75rem 1.75rem 1.5rem;
  margin: 1.75rem 0;
}
.wsc-mainnews .wsc-related__title {
  font-size: clamp(1.35rem, 1rem + 1vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--m-text);
  padding-left: 1rem;
}
.wsc-mainnews .wsc-related__title::before {
  background: var(--m-accent);
}
.wsc-mainnews .wsc-related__all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  color: var(--m-text);
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: var(--m-shadow-sm);
  transition: transform 0.2s var(--m-ease), background-color 0.2s var(--m-ease), color 0.2s var(--m-ease), border-color 0.2s var(--m-ease);
}
.wsc-mainnews .wsc-related__all:hover {
  color: #fff;
  background: var(--m-accent);
  border-color: var(--m-accent);
  text-decoration: none;
  transform: translateY(-1px);
}
@media (max-width: 47.99rem) {
  .wsc-mainnews {
    padding: 1.25rem 1.25rem 1.1rem;
    border-radius: var(--m-radius-sm);
  }
}
/* реклама под крупной картинкой главной новости (схлопывается, если слот пустой - см. правило .adsense-placeholder.app-block выше) */
.wsc-mainnews__ad {
  margin: 0.9rem 0;
}
/* блок "IT обзоры" (mainpage-it-news.php) - простая сетка без героя, описание короче: 2 строки вместо 3 */
.wsc-mainnews--grid .wsc-excerpt {
  -webkit-line-clamp: 2;
}
/* кнопка "Все новости/обзоры" - теперь рендерится в footer.php (header.php/footer.php), после сетки карточек,
   настраивается из админки модуля (Header/Footer Read More: Display Read More, More Link, CSS - More...) */
.wsc-mainnews .wsc-related__foot {
  margin-top: 1.5rem;
  text-align: right;
}
/* EOF New Modern Styles */
/* ---------- Footer: меню и переключатель языков (единый стиль «таблеток», как на directory.audio) ---------- */
#g-footer ul.mod-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
/* меню и языки идут двумя соседними блоками: убираем двойной внутренний отступ между ними */
#g-footer .g-content:has(> ul.mod-menu), #g-footer .g-content:has(ul.mod-menu) {
  padding-bottom: 0;
}
#g-footer .g-content:has(.mod-languages) {
  padding-top: 0;
}
#g-footer ul.mod-menu > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#g-footer ul.mod-menu > li::before, #g-footer ul.mod-menu > li::marker {
  content: none;
}
#g-footer ul.mod-menu > li > a {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.2;
  color: #dfe5f3;
  text-decoration: none;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  transition: background 0.2s, box-shadow 0.2s, color 0.2s, transform 0.2s;
}
#g-footer ul.mod-menu > li > a:hover, #g-footer ul.mod-menu > li > a:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
  transform: translateY(-1px);
}
#g-footer ul.mod-menu > li.current > a, #g-footer ul.mod-menu > li.active > a {
  color: #fff;
  background: rgba(59, 109, 240, 0.28);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
.mod-languages {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 18px 0 0;
  text-align: center;
  /* «Выберите язык» — подсказка для скринридеров из шаблона модуля; в теме нет Bootstrap-класса .visually-hidden, поэтому прячем сами */
}
.mod-languages .mod-languages__pretext p, .mod-languages .pretext p {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.8;
}
.mod-languages .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.mod-languages ul.lang-inline {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mod-languages ul.lang-inline li {
  margin: 0;
  padding: 0;
}
.mod-languages ul.lang-inline li::before, .mod-languages ul.lang-inline li::marker {
  content: none;
}
.mod-languages ul.lang-inline a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 35px;
  line-height: 0;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  transition: background 0.2s, box-shadow 0.2s;
}
.mod-languages ul.lang-inline a:hover {
  background: rgba(255, 255, 255, 0.13);
}
.mod-languages ul.lang-inline li.lang-active a {
  background: rgba(59, 109, 240, 0.28);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 0 14px 3px rgba(255, 255, 255, 0.3);
}
.mod-languages img {
  max-width: none;
  margin: 0;
}
.mod-languages img.da-flag {
  display: block;
  width: 20px;
  height: 15px;
  object-fit: cover;
  border-radius: 0;
  opacity: 0.9;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
  transition: opacity 0.2s, transform 0.2s;
}
.mod-languages ul.lang-inline a:hover img.da-flag {
  opacity: 1;
  transform: translateY(-1px);
}
.mod-languages ul.lang-inline li.lang-active img.da-flag {
  opacity: 1;
}
/* ---------- Pagination: контраст и читаемость (светлая и тёмная тема) ---------- */
.pagination {
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 24px 0;
  padding: 0;
}
.pagination .page-item {
  margin: 0;
}
.pagination .page-item:not(:first-child) .page-link {
  margin-left: 0;
}
.pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  margin: 0;
  padding: 0 12px;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
  color: var(--m-text);
  background: var(--m-surface);
  border: 1px solid var(--m-line);
  box-shadow: var(--m-shadow-sm);
  transition: color 0.15s, background-color 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.pagination .page-link:hover, .pagination .page-link:focus-visible {
  z-index: 2;
  color: var(--m-accent);
  background: rgba(59, 109, 240, 0.1);
  border-color: rgba(59, 109, 240, 0.4);
  transform: translateY(-1px);
}
html .pagination .page-item.active .page-link, html .pagination .page-item.active .page-link:hover {
  color: #fff !important;
  background: linear-gradient(135deg, var(--m-accent), var(--m-accent-2)) !important;
  border-color: transparent;
  box-shadow: 0 6px 14px -6px rgba(59, 109, 240, 0.7);
  transform: none;
}
html .pagination .page-item.disabled .page-link {
  color: var(--m-muted);
  opacity: 0.55;
  box-shadow: none;
}
/* стрелки: маска вместо фиксированной серой картинки, чтобы цвет брался из текста кнопки */
.pagination .page-link [class^="icon-angle"] {
  width: 14px;
  height: 14px;
  top: 0;
  background: currentColor;
  -webkit-mask: var(--pg-ic) center / contain no-repeat;
  mask: var(--pg-ic) center / contain no-repeat;
}
.pagination .icon-angle-double-left {
  --pg-ic: url("../images/svg/angles-left-solid.svg");
}
.pagination .icon-angle-left {
  --pg-ic: url("../images/svg/angle-left-solid.svg");
}
.pagination .icon-angle-double-right {
  --pg-ic: url("../images/svg/angles-right-solid.svg");
}
.pagination .icon-angle-right {
  --pg-ic: url("../images/svg/angle-right-solid.svg");
}
/*# sourceMappingURL=custom_41.css.map */