/*******************************
	Global
*******************************/

html {
    overflow-x: hidden;
}

html,
body {
    position: relative;
    z-index: 0;
    height: 100%;
    font-size: 15px;
}

body {
    margin: 0px;
    padding: 0px;
    min-width: 320px;
    background: #FFFFFF;
    color: #555555;
    font-family: "Inter", -apple-system, system-ui, sans-serif;
    text-rendering: optimizeLegibility;
}

body:before {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: url('bg.jpg') no-repeat center;
    background-size: cover;
    content: '';
}

#center_clmn {
    margin-left: 0 auto;
    border: 1px solid #aaaaaa;
    background: #f5f7fa;
    -webkit-box-shadow: 0 0 6px rgba(0,0,0,.15);
    -moz-box-shadow: 0 0 6px rgba(0,0,0,.15);
    box-shadow: 0 0 6px rgba(0,0,0,.15);
}

/*******************************
	UI Overrides
*******************************/

.ui.header {
	font-family: 'Source Sans Pro', "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

.ui.header,
h1,
h2 {
	font-weight: normal !important;
}

h1.ui.header {
	font-size: 3em;
}

h4.ui.header,
h5.ui.header,
.ui.icon.header {
	font-weight: bold !important;
}

.ui.button {
	text-decoration: none;
    font-weight: normal;
}

a.mini.ui.button.blue {
    margin-bottom: 6px !important;
}

a {
	color: #0055b3;
	text-decoration: none;
	-webkit-transition: color 0.3s ease;
	transition: color 0.3s ease;
}

a:hover {
	color: #006de8;
}

p a {
	font-weight: bold;
}

/*******************************
	Global
*******************************/

.menu .right.menu > .mobile.item {
	display: none;
}

.ui.page.grid.segment {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.masthead.segment {
	overflow: hidden;
    margin: 0em;
    padding-top: 4rem;
    background-image: url("images/bg.jpg");
    background-size: cover;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    -webkit-background-size: cover;
}

.masthead.segment .column {
    position: relative;
}

.masthead.segment .information {
    margin: 3em 1em 1em 280px;
}

.masthead.segment .information p {
    margin: 0em 0px 2em 0em;
    max-width: 600px;
    font-size: 1.2em;
}

.masthead.segment h1.ui.header .sub {
    font-size: 0.7em;
}

.masthead.segment .image {
    position: absolute;
    bottom: -110px;
    left: 0%;
}

.overview .divided.grid .header + p {
    min-height: 100px;
}

.ui.shape .icon,
.link.list .icon {
    margin: 0em;
    padding: 0em;
}

.ui.cube.shape .side {
    background-color: transparent;
}

/*
	Softpage
*/
#details_table tbody tr {
    padding: 8px;
}

#details_table tbody tr td {
    padding: 8px;
}

.screen_int {
    position: absolute !important;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 160px;
}

.screen_link {
    top: 30px
}

li {
    list-style-type: none; /* Убираем маркеры */
}

.sc_tab h2 {
    margin-top: -5px;
    font-size: 18px
}

.sc_tab span {
    font-size: 0.875rem;
}

.shot {
    overflow: hidden;
    padding: 3px;
    width: 160px;
    height: 112px;
    border: 1px solid #ccc;
    background-color: #fff !important;
}

.shot span {
    overflow: hidden;
    width: 160px;
    height: 112px;
    vertical-align: middle;
}

.zm {
    position: absolute;
    top: 30px;
    left: 54px;
    width: 62px;
    height: 62px;
}


.ih2 {
    display: block;
    margin-top: -5px;
    margin-bottom: 15px;
    color: rgb(85, 85, 85);
    text-align: left;
    font-weight: normal !important;
    font-size: 18px;
    font-family: "Inter", -apple-system, system-ui, sans-serif;
}

.ih2_s {
    display: block;
    margin-bottom: 15px;
    color: rgb(85, 85, 85);
    text-align: left;
    font-weight: normal !important;
    font-size: 18px;
    font-family: "Inter", -apple-system, system-ui, sans-serif;
}

.tab {
    display: inline-block;
    margin-bottom: -1px;
    margin-left: 2px;
    padding: 8px;
    border-right: 1px solid transparent;
    border-left: 1px solid transparent;
    background: #696969;
    color: #FFF;
    font-weight: bold;
    font-size: 13px;
    cursor: pointer;
}

.tab:hover {
    margin-bottom: -1px;
    border-bottom: 0px solid #CCC;
    background: #585A52;
}

.tabactive {
    display: inline-block;
    margin-bottom: -1px;
    margin-left: 2px;
    padding: 8px;
    border: 1px solid #CCC;
    border-bottom: 0px solid #CCC;
    background: #FFF;
    font-weight: bold;

    font-size: 13px;
    cursor: pointer;
}

.down_block {
    border-radius: 0px !important;
    background: #FEFDFD
}

.down_block_mh {
    min-height: 150px;
    border-radius: 0px !important;
    background: #FEFDFD
}

.cmts {
    padding-bottom: 9px !important;
    width: 600px;
    box-shadow: 0 0 3px #D8D8D8;
    color: rgb(51, 51, 51) !important;
}

.cmts2 {
    margin-left: 150px !important;
    width: 550px;
    border-radius: 5px 0 0 5px;
    background-color: #dfeecf !important;
    box-shadow: 0 0 3px #B2B2B2 !important;
    color: rgb(51, 51, 51) !important;
}

.cmts p {
    margin-top: 25px
}

.cmts2 p {
    margin-top: 25px
}

.cmt_date {
    float: right;
    margin-top: -7px !important;
    color: #666666;
    font-size: 12px;
}

.cmt_opt {
    margin-top: -7px;
    margin-bottom: -10px;
    color: #666666;
    font-size: 12px
}

/*******************************
	Responsive
*******************************/

/* Mobile Only */

@media only screen and (max-width: 768px) {
    .ui.page.grid.segment {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .menu .right.menu > .item {
        display: none;
    }

    .menu .right.menu > .mobile.item {
        display: block;
    }

    h1.ui.header {
        font-size: 1.5em;
    }

    .masthead.segment {
        background-size: auto;
        -webkit-background-size: auto;
    }

    .masthead.segment .information {
        margin-left: 190px;
    }

    .masthead.segment .image {
        bottom: -65px;
        width: 150px;
    }

    .masthead.segment .button {
        font-size: 1rem;
    }

    .overview .divided.grid .header .icon {
        font-size: 1.5em;
    }

    .overview .divided.grid .header + p {
        min-height: 0px;
    }

    .masthead.segment .column {
        font-size: 0.7rem;
    }

    .masthead.segment .column p {
        display: none;
    }
}

/* added 25.04.2017 */

.page__wrapper {
    position: relative;
    z-index: 2;
    margin-bottom: -153px !important;
    min-height: 100%;
    height: auto;
}

.page__wrapper:after {
    position: relative;
    z-index: 1;
    display: block;
    height: 153px;
    content: "";
}

.page__footer {
    position: relative;
    z-index: 2;
    overflow: hidden;
    height: 153px;
}

.mod-logo__wrapper {
    padding: 15px;
    background-color: #fff;
    text-align: left;
}

.mod-logo {
    display: inline-block;
    clear: both;
    overflow: hidden;
    height: 40px;
    font-size: 20px;
    line-height: 40px;
}

.mod-logo__image {
    display: block;
    float: left;
    margin-right: 10px;
    width: 40px;
    height: 40px;
}

.mod__flr {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    float: right;
}

.mod__flr > .button {
    margin-left: 1em !important;
    -webkit-order: 2;
    -moz-order: 2;
    -ms-order: 2;
    -o-order: 2;
    order: 2;
}

.ui.four.connected.items .content .description a {
    display: inline-block;
    overflow: hidden;
    height: 16px;
    line-height: 17px;
}

.ui.center.aligned.page.grid, .ui.center.aligned.inverted.black.page.grid.segment {
    position: relative;
    z-index: 2;
}

#gen_box .ui.segment:not(.table) {
    padding: 28px;
}

.ui.compact.menu {
    display: none;
}

.ui.compact.menu .menu > .item > .item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
}

@media (max-width: 400px) {
    .mod__flr {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
        justify-content: center;
    }

    .mod__flr > .button {
        margin-left: 0 !important;
    }

    .table-resp, .table-resp tbody, .table-resp tr, .table-resp td {
        display: block;
    }

    .ui.four.connected.items > .item {
        width: 100%;
        border-radius: 0 0 .33em .33em;
    }

    .ui.items .item > .image {
        margin-left: 0 !important;
        width: 100% !important;
        height: auto !important;
    }

    .ui.items .item > .image img {
        width: 100% !important;
        height: auto !important;
    }

    .t_but_sc {
        font-size: 0;
    }

    .t_but_sc i {
        margin: 0 5px !important;
        font-size: 13px;
    }
}

@media (max-width: 640px) {
    .table-info, .table-info tbody, .table-info tr, .table-info td {
        display: block !important;
        width: auto !important;
    }

    .table-info {
        margin-top: 40px;
    }

    .table-info td:first-child {
        padding-bottom: 30px;
    }

    .mod__flr {
        float: none;
        padding-top: 10px;
    }

    .table-similiar, .table-similiar tbody, .table-similiar tr, .table-similiar td {
        display: block !important;
    }

    .table-similiar li {
        padding: 4px 0 4px 7px;
        line-height: 16px;
    }

    .table-similiar li img {
        display: block;
        float: left;
        margin-right: 6px;
    }
}

@media (max-width: 768px) {
    #details_table tbody tr {
        border-bottom: none;
    }

    #details_table td:first-child {
        padding-bottom: 0;
        padding-left: 0;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
    }

    #details_table td:last-child {
        padding-left: 22px;
    }

    .table-screens, .table-screens tbody, .table-screens tr, .table-screens td {
        display: block !important;
    }

    .table-screens td {
        padding-bottom: 20px;
    }
	
	.ui.top.attached.menu a {
        display: none;
    }
	
    .ui.compact.menu {
        display: block;
    }

    /* .ui.top.attached.menu.small > a.item {
        display: none;
    } */

    #gen_box > .ui.segment {
        padding-bottom: 15px;
    }

    .ui.four.connected.items {
        display: block;
    }

    .ui.four.connected.items > .item {
        display: block;
        float: left;
        margin-right: 0;
        margin-bottom: 15px;
        margin-left: 0;
        min-height: 0;
        width: 50%;
    }

    .ui.four.connected.items > .item:nth-child(2) {
        border-radius: 0 0 .33em;
        /*clear: both;*/
    }

    .ui.four.connected.items > .item:nth-child(3) {
        border-radius: 0 0 0 .33em;
    }
}

.header .ui.rating {margin-top: 3px !important;}

#installpack-table {
    margin-bottom: 30px;
    margin-top: 20px;
    color: #555;
    font-size: 18px;
    text-align: center;
    font-family: Roboto, sans-serif;
}
#installpack-table table {
    width: 90%;
    max-width: 750px;
    margin: 0 auto;
    font-size: 0.8em;
}
#installpack-table th {
    text-align: center;
    line-height: 1;
}
#installpack-table th:first-child, #installpack-table th:last-child {
    width: 20%;
}
#installpack-table .ip-label {
    display: inline-block;
    font-size: 0.8em;
    font-weight: 300;
    background-color: #0091ca;
    color: #fff;
    padding: 4px 8px;
    margin-bottom: 2px;
}
#installpack-table td {
    border-bottom: 1px solid rgba(82, 78, 71, 0.1);
    padding: 2px 8px;
    line-height: 1;
    letter-spacing: 1px;
}
#installpack-table tr:last-child td {
    border-bottom: 1px solid transparent;
}
#installpack-table td i {
    display: inline-block;
    width: 24px;
    height: 24px;
}
#installpack-table .chek,
#installpack-table .uncheck {
  background: url("/img/icons.svg") no-repeat;
}

#installpack-table td i.chek {
    background-position: 0 -24px;
    background-size: 24px;
}
#installpack-table td i.uncheck {
    background-position:0 -48px;
    background-size: 24px;
}
#installpack-table .buttons-wrapper {
    max-width: 790px;
    margin: 0 auto;
    font-family: Roboto, sans-serif;
}
#installpack-table .fleft {
    float: left;
    text-align: left;
    width: 50%;
}
#installpack-table .fright {
    float: right;
    text-align: right;
    width: 50%;
}
#installpack-table .btn {
    cursor: pointer;
    padding: 22px 24px 24px 94px;
    position: relative;
    white-space: normal;
    color: rgba(51, 51, 51, 1);
    background-color: rgba(255, 255, 255, 1);
    line-height: 1;
    text-align: center;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    background: transparent;
    display: inline-block;
    border-radius: 5px;
    box-sizing: border-box;
    text-decoration: none;
}
#installpack-table .btn:not(.btn-windows):before {
    content: '';
    position: absolute;
    width: 43px;
    height: 43px;
    top: 50%;
    left: 0;
    margin: -22px 0 0 16px;
    border-radius: 50%;
    padding: 6px 8px 8px 8px;
    border-top: 2px solid rgba(0, 0, 0, .05);
    box-sizing: border-box;
    background-size: 150px 150px;
}
#installpack-table .btn-installpack:before {
    content: '';
    background: url('/img/icons.svg') no-repeat -53px -5px rgba(0, 0, 0, 0.1);
    background-size: 150px 150px;
}
#installpack-table .btn-tabs {
    vertical-align: top;
}
#installpack-table .btn-installpack {
    background-color: #0091ca;
    color: #fff;
}
#installpack-table .btn-installpack:hover {
    background-color: #0082b5;
}
#installpack-table .btn-windows {
    background-color: #8fa290e6;
    color: #fff;
    padding-left:24px !important;
    padding-right:24px !important;
    width: 225px !important;
    min-width: 225px !important;
}
#installpack-table .btn-tabs {
    margin: 0 20px 20px;
    padding: 12px 34px 14px 104px;
    min-width: 320px;
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.5);
    font-weight: 300;
}
#installpack-table .btn-tabs .btn-tabs-text {
    position: relative;
    font-size: 12px;
    text-shadow: none;
}
#installpack-table .btn-tabs.r2 {
    padding: 18px 34px 14px 104px;
}
#installpack-table .btn span {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    display: block;
}
#installpack-table .btn-tabs.r2 span {
    padding-bottom: 6px;
}
#installpack-table .btn-tabs-text:not(.btt-win):before {
    content: '';
    display: block;
    height: 100%;
    min-height: 50px;
    position: absolute;
    left: -20px;
    border-left: 1px rgba(0, 0, 0, .1) solid;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
#installpack-table p {
	margin: 10px 50px 50px;
	font-size: 0.8em;
} 

#installpack-table {
    margin: 20px 10px;
    padding: 10px;
    color: #555;
    font-size: 13px;
    text-align: center;
    font-family:inherit;
}

#installpack-table table {
    width: 85%;
    max-width: 750px;
    margin: 0 auto;
    border: none;
    font-size: 100%;
}

#installpack-table th:first-child, #installpack-table th:last-child {
    width: 15%;
}
#installpack-table td,
#installpack-table th,
#installpack-table tr {
    background: none;
    letter-spacing: 0px;
}

#installpack-table .btn-tabs {
    margin: 0 20px 20px;
    padding: 17px 34px 17px 95px;
    min-width: 110px;
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.5);
    font-weight: 300;
}

#installpack-table p {
    margin: 10px 40px 0px 40px;
    font-size: 12px;
    padding: 0px;
    font-family: "Inter", -apple-system, system-ui, sans-serif;
}

/* ======================================================================== */
/* v4-frontend (2026-04-20): extracted from layout.php inline <style> blocks  */
/* Groups: header/drawer redesign + polish11..polish39. Order preserved.      */
/* ======================================================================== */

/* ===== Redesigned header (2026-04-19) ===== */
body.menu-open { overflow-x: hidden; }
.site-header {
	width: 100%;
	background: #5C6166;
	box-shadow: 0 2px 4px rgba(0,0,0,.12);
	position: relative;
	z-index: 50;
}
.site-header .header-inner {
	max-width: 950px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 18px;
}
.site-header .menu-toggle {
	font-size: 26px;
	line-height: 1;
	color: #fff;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 4px;
	transition: background .2s;
}
.site-header .menu-toggle:hover { background: rgba(255,255,255,.15); }
.site-header .logo {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-decoration: none;
	white-space: nowrap;
}
.site-header .logo img { width: 28px; height: auto; }
.site-header .header-search {
	flex: 1;
	display: flex;
	min-width: 0;
	position: relative;
	align-items: center;
}
.site-header .header-search .search-icon {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #777;
	pointer-events: none;
	z-index: 1;
}
.site-header .header-search input {
	flex: 1;
	padding: 8px 14px 8px 34px;
	font-size: 14px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 6px;
	background: rgba(255,255,255,.95);
	outline: none;
	min-width: 0;
}
.site-header .header-search input:focus { background: #fff; border-color: #4d90fe; }
.site-header .header-search input::placeholder { color: #aaa; font-size: 13px; }
/* Dropdown mega-menu (expands downward below header) */
.site-backdrop { display: none; }

.side-drawer {
	position: relative;
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
	background: #fff;
	border-top: 1px solid #e2e2e2;
	box-shadow: 0 6px 14px rgba(0,0,0,.12);
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
	z-index: 40;
}
body.menu-open .side-drawer {
	max-height: 80vh;
	overflow-y: auto;
}
.side-drawer .drawer-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px 20px;
	max-width: 950px;
	margin: 0 auto;
	padding: 18px;
}
.side-drawer section { padding: 6px 0; border-bottom: none; }
.side-drawer section h3 {
	margin: 0 0 6px 0;
	font-size: 15px;
	font-weight: bold;
	border-bottom: 1px solid #eee;
	padding-bottom: 4px;
}
.side-drawer section h3 a { color: #333; text-decoration: none; }
.side-drawer section h3 a:hover { color: #4183c4; }
.side-drawer section ul { list-style: none; margin: 4px 0 0 0; padding: 0; }
.side-drawer section ul li { margin: 3px 0; }
.side-drawer section ul li a { color: #555; font-size: 13px; text-decoration: none; }
.side-drawer section ul li a:hover { color: #4183c4; text-decoration: underline; }
.side-drawer .flat-section {
	grid-column: 1 / -1;
	padding: 6px 0;
	border-top: 1px solid #eee;
	margin-top: 4px;
}
.side-drawer .flat-section h3 {
	margin: 0 0 6px 0;
	font-size: 13px;
	font-weight: bold;
	color: #666;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.side-drawer ul.flat-categories {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.side-drawer ul.flat-categories li { margin: 0; }
.side-drawer ul.flat-categories li a {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.side-drawer ul.flat-categories li a:hover { color: #4183c4; text-decoration: underline; }

/* No push/transform on content */
.site-content { position: relative; }

@media (max-width: 768px) {
	.site-header .logo { font-size: 16px; }
	.side-drawer .drawer-inner { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
	body.menu-open .side-drawer { max-height: 75vh; }
}
@media (max-width: 560px) {
	.site-header .logo span { display: none; }
	.site-header .header-inner { gap: 8px; padding: 8px 12px; }
}

/* Hide legacy mod-logo when redesigned header is active */
.mod-logo__wrapper { display: none !important; }

/* Hide legacy tiered menu (duplicates drawer) */
.ui.top.attached.tiered.menu { display: none !important; }

/* ===== Width alignment with header/drawer (950px) ===== */
/* Neutralize Semantic UI .ui.page.grid horizontal padding so content column
   matches the visual 950px of .header-inner / .drawer-inner. */
.page__wrapper .ui.page.grid,
.page__footer .ui.page.grid {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Content column: outer 950px with side padding matching header (18px) */
.page__wrapper .ui.page.grid > .column,
.page__footer .ui.page.grid > .column {
	width: 100% !important;
	max-width: 950px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}
/* Kill stray margins on wrappers inside content column */
#center_clmn { margin: 0 !important; }
#gen_box { margin-left: 0 !important; margin-right: 0 !important; }
#gen_box > .ui.segment,
#dle-content > .ui.segment { margin-left: 0 !important; margin-right: 0 !important; }

/* ===== Content proportions polish (2026-04-19) ===== */
#gen_box { margin-top: 0 !important; }
/* [polish14 removed] #gen_box > .ui.segment { padding: 24px !important; } */
/* [polish14 removed] .ui.segment.down_block_mh { padding: 20px !important; margin-top: 20px !important; } */
.ih2 { margin-bottom: 20px !important; font-size: 20px !important; }
.ih2_s { margin-bottom: 16px !important; font-size: 20px !important; }
h1 { font-size: 26px !important; }
h2.ui.inverted.black.block.header { font-size: 18px !important; padding: 12px 16px !important; }

/* Poster larger (1.35x: 245 -> 330)
   poster-fix 2026-04-18: image was overflowing td (td=320px, img=330px +
   4px padding + 1px border on each side => 340px total, right edge crossed
   the segment's inner padding and hit the card's right border). Cap at the
   td's 320px and use border-box so padding+border fit inside the width. */
#ms_content { width: 320px !important; max-width: 100% !important; display: block; box-sizing: border-box !important; }
#ms_content img[itemprop="thumbnailUrl"] { width: 100% !important; max-width: 100% !important; height: auto !important; box-sizing: border-box !important; }
/* [polish14 removed] table-info layout overridden in polish8 below */

/* Screenshots — full content width grid */
.table-screens { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; width: 100% !important; }
.table-screens tbody, .table-screens tr { display: contents !important; }
.table-screens td { width: auto !important; padding: 0 !important; display: block !important; }
.table-screens .shot { width: 100% !important; height: auto !important; aspect-ratio: 16/10; padding: 0 !important; border: 1px solid #ccc; opacity: 1 !important; display: block !important; overflow: hidden; }
.table-screens .shot span { width: 100% !important; height: 100% !important; display: block !important; }
.table-screens .shot img, .table-screens .screen_int {
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Download table — keep button in its cell */
.ui.small.table.segment { table-layout: auto !important; overflow: visible !important; }
/* [polish14 removed] .ui.small.table.segment td, .ui.small.table.segment th { vertical-align: middle !important; position: relative; padding: 10px !important; } */
.ui.small.table.segment thead tr { height: auto !important; }
.ui.small.table.segment .ui.mini.icon.buttons { padding-top: 0 !important; margin: 0 !important; white-space: nowrap; }

/* Hide related-categories list under Similar apps */
.ui.segment.down_block_mh > br + div { display: none !important; }

/* Footer upgrade */
.page__footer { height: auto !important; min-height: 180px; }
.page__footer .ui.grid > .column { padding: 20px 0 !important; }
.site-footer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left; padding: 10px 0 20px; }
.site-footer-grid h3, .site-footer-grid h4 { color: #fff; margin: 0 0 10px 0; font-size: 14px; text-transform: uppercase; letter-spacing: .5px; border-bottom: 1px solid rgba(255,255,255,.15); padding-bottom: 6px; font-weight: 600; }
.site-footer-grid a { color: #d8d8d8 !important; display: block; padding: 3px 0; font-size: 13px; text-decoration: none; }
.site-footer-grid a:hover { color: #fff !important; text-decoration: underline; }
.site-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); padding-top: 14px; margin-top: 10px; color: #bbb; font-size: 13px; text-align: left; }
@media (max-width: 768px) {
	.site-footer-grid { grid-template-columns: 1fr; gap: 14px; }
	.table-screens { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ===== Polish v3 (2026-04-19) ===== */
/* 1. Info table — left fills, right fixed 360px (polish8) */
.table-info { width: 100% !important; table-layout: fixed; }
/* [polish14 removed] .table-info > tbody > tr > td:first-child { width: auto !important; vertical-align: top; padding-right: 20px; text-align: left !important; } */
.table-info > tbody > tr > td:last-child { width: 320px !important; vertical-align: top; text-align: left !important; }
#details_table { width: 100%; }
#details_table td:first-child { width: 1%; color: #5b6470; white-space: nowrap; padding-right: 12px; }
#details_table td:last-child { white-space: nowrap; }
#details_table td.wrap-cell { white-space: normal !important; word-wrap: break-word; overflow-wrap: break-word; }

/* 2. Download button — right-align in its cell */
.ui.small.table.segment td:last-child { text-align: right !important; }
/* Windows-links block (.table-similiar) must stay left-aligned */
.down_block_mh .table-similiar td,
.down_block_mh .table-similiar li,
.down_block_mh .table-similiar ul { text-align: left !important; }
.ui.small.table.segment td:last-child .ui.mini.icon.buttons {
	display: inline-flex !important;
	float: none !important;
	margin-left: auto !important;
}

/* 3. Screenshots — 4 per row on desktop */
.table-screens { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 768px) {
	.table-screens { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ===== Background v2 (2026-04-19): grey page, white cards ===== */
body.pushable, body, .pushable, .page__wrapper {
	background: #eef0f2 !important;
}
#center_clmn {
	background: #eef0f2 !important;
	border: none !important;
	box-shadow: none !important;
}
#gen_box, .ui.segment, .side-drawer {
	background: #fff !important;
}
/* Kill orange band above content card — make gen_box transparent so grey shows through */
#gen_box {
	margin-top: 20px !important;
	padding-top: 0 !important;
	background: transparent !important;
}
#gen_box > .ui.segment,
#dle-content > .ui.segment {
	background: #fff !important;
}
/* Footer keeps its dark/inverted background — don't override */
.page__footer .ui.grid.segment { background: inherit !important; }

/* ===== Footer + Fonts upgrade (2026-04-19) ===== */
html, body, .pushable, .page__wrapper {
  background: #f5f7fb !important;
}
body, .ui.segment, .ui.header, h1, h2, h3, h4, h5, h6,
input, button, select, textarea, .site-header, .side-drawer,
.site-footer-grid, .site-footer-bottom {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}
body { font-weight: 400; line-height: 1.55; }
h1, h2, h3, .ih2, .ih2_s { font-weight: 600 !important; }

/* Dark footer — full-width band, brand-symmetric */
.page__footer {
  background: #3b4148 !important;
  width: 100%;
  margin: 40px 0 0 0 !important;
}
.page__footer .ui.grid.segment,
.page__footer .ui.center.aligned.inverted.black.page.grid.segment {
  background: #3b4148 !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 30px 18px !important;
}
.site-footer-grid h3, .site-footer-grid h4 {
  color: #fff !important;
  font-weight: 600 !important;
}
.site-footer-grid a {
  color: #e0e0e0 !important;
  font-weight: 400;
}
.site-footer-grid a:hover { color: #fff !important; }
.site-footer-bottom {
  color: #c8ccd0 !important;
  border-top-color: rgba(255,255,255,.12) !important;
}
.site-footer-bottom a { color: #fff !important; }

/* ===== Polish v3: unified borders + radius (2026-04-19) ===== */
.ui.segment, #gen_box > .ui.segment, #dle-content > .ui.segment,
.side-drawer, .page__footer,
.ui.small.table.segment, .down_block_mh, .site-header .header-inner,
.table-info, .ui.segment.down_block_mh {
  border: 1px solid #d4d8dd !important;
  border-radius: 5px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.03) !important;
}
.side-drawer { box-shadow: 0 6px 14px rgba(0,0,0,.12) !important; }
.page__footer { border-radius: 0 !important; border: none !important; box-shadow: none !important; }
.ui.button, input, .header-search input, .search-field,
.site-header .header-search input {
  border-radius: 5px !important;
}

/* Download table — first col takes max width, rest shrink to content */
.ui.small.table.segment td,
.ui.small.table.segment th,
.ui.small.table td,
.ui.small.table th,
.ui.celled.table tbody td { white-space: nowrap; width: 1%; }
.ui.small.table.segment td:first-child,
.ui.small.table.segment th:first-child,
.ui.small.table td:first-child,
.ui.small.table th:first-child,
.ui.celled.table tbody td:first-child { white-space: normal; width: 100%; }

/* Poster CTA block */
/* [polish14 removed] .poster-cta { margin-top: 12px; text-align: center; } */
.poster-download-btn {
  display: block !important;
  width: 100% !important;
  /* padding moved to polish14 */
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 5px !important;
}
.poster-trust {
  display: flex;
  flex-direction: column;
  gap: 4px;
  /* margin-top moved to polish14 */
  font-size: 12px;
  color: #5b6470;
}
.poster-trust span { line-height: 1.5; }

/* ===== Polish v4: refine borders, blue CTA, trust block (2026-04-19) ===== */
/* Remove polish3 borders from header-inner, table-info, drawer */
.site-header .header-inner,
.side-drawer,
.table-info,
.table-info tr, .table-info td,
.ui.small.table.segment,
.ui.segment.down_block_mh {
  border: none !important;
  box-shadow: none !important;
}
.side-drawer { box-shadow: 0 6px 14px rgba(0,0,0,.12) !important; }

/* Remove borders from nested segments; keep only top-level */
#gen_box > .ui.segment .ui.segment,
#dle-content > .ui.segment .ui.segment {
  border: none !important;
  box-shadow: none !important;
}

/* Download table — bordered with radius */
a[name='d_table'] + h2 + table.ui.small.table.segment,
table.ui.small.table.segment {
  border: 1px solid #d4d8dd !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Review block under table (.up_tabs — contains description) */
.up_tabs {
  border: 1px solid #d4d8dd !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  background: #fff;
}
.up_tabs > div {
  border-top: none !important;
}

/* Blue download button — override Semantic primary */
.poster-download-btn,
.poster-download-btn.ui.primary.button,
a.ui.primary.button.poster-download-btn {
  background: #2185d0 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.poster-download-btn:hover,
.poster-download-btn.ui.primary.button:hover,
a.ui.primary.button.poster-download-btn:hover {
  background: #1678c2 !important;
  color: #fff !important;
}

/* ===== Polish v5: poster CTA width-match + icon + trust rows (2026-04-19) ===== */
.poster-cta {
  width: 100% !important;
  max-width: 100% !important;
}
/* Мета-строка под кнопкой: загрузки · размер · бесплатно */
.cta-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
  font-size: 11px;
  color: #8a95a0;
  line-height: 1.4;
}
.cta-meta span { white-space: nowrap; }
.cta-actual { color: #16a34a !important; font-weight: 500; font-size: 11px; text-align: center; display: block; margin-top: 5px; }
.cta-dot {
  color: #c5cdd5;
  font-size: 10px;
  line-height: 1;
}
.poster-download-btn,
a.ui.button.poster-download-btn,
a.poster-download-btn {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #2185d0 !important;
  color: #fff !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background .2s ease !important;
}
.poster-download-btn:hover,
a.ui.button.poster-download-btn:hover,
a.poster-download-btn:hover {
  background: #1678c2 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.poster-trust {
  display: block !important;
  flex-direction: initial !important;
  gap: 0 !important;
  /* margin-top + padding centralized in polish14 */
  background: #f4f7fa !important;
  border: 1px solid #dde3ea !important;
  border-radius: 5px !important;
  font-size: 13px !important;
  color: #2c3e50 !important;
}
.poster-trust .trust-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  /* padding centralized in polish14 */
  font-size: 13px !important;
  color: #2c3e50 !important;
  border-bottom: 1px solid #e8ecf0 !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}
.poster-trust .trust-row:last-child { border-bottom: none !important; }
/* [polish14 removed] .poster-trust .trust-row:first-child padding */
.poster-trust .trust-ic {
  font-size: 16px !important;
  width: 20px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}
.poster-trust .trust-row b { color: #1a73e8 !important; font-weight: 600 !important; }
.poster-trust .trust-row span::before { content: none !important; }
.poster-trust > span::before { content: none !important; }


/* [polish14 removed] .breadcrumbs-bar { background: #fff; border-bottom: 1px solid #e0e0e0; padding: 10px 0; margin-bottom: 5px; font-size: 13px; } */
/* [polish14 removed] .breadcrumbs-bar .inner { max-width: 950px; margin: 0 auto; padding: 0 15px; } */
.breadcrumbs-bar a { color: #5b6470; }
.breadcrumbs-bar a:hover { color: #2185d0; }
/* polish9: constrain poster column content */
.table-info > tbody > tr > td:last-child { width: 320px !important; max-width: 320px !important; overflow: hidden; }
.table-info > tbody > tr > td:last-child img,
.table-info > tbody > tr > td:last-child .poster-cta,
.table-info > tbody > tr > td:last-child .poster-trust { max-width: 100% !important; width: 100% !important; box-sizing: border-box; }
.table-info > tbody > tr > td:last-child img { height: auto !important; display: block; border-radius: 5px; }
/* [polish14 removed] .poster-cta { width: 100% !important; } */
/* [polish14 removed] .poster-download-btn { width: 100% !important; } */
/* ===== polish12 (2026-04-19) ===== */
/* [polish14] */ #details_table td { line-height: 1.4 !important; }
#details_table td:first-child { color: #6b7280 !important; font-weight: 400 !important; }
#details_table td:not(:first-child) { font-weight: 500 !important; color: #1f2937 !important; }
#details_table tr:first-child td:last-child { font-size: 15px; font-weight: 600; }
#details_table tr:first-child td:last-child i.star, #details_table tr:first-child td:last-child .star { color: #f5a623 !important; }
.trust-row:nth-child(1) .trust-ic { color: #1a73e8; }
.trust-row:nth-child(2) .trust-ic { color: #8b5cf6; }
.trust-row:nth-child(3) .trust-ic { color: #10b981; }
.trust-row:nth-child(4) .trust-ic { color: #f59e0b; }
.poster-ghost-btn {
  display: block; text-align: center; width: 100%;
  /* padding + margin-top centralized in polish14 */
  background: transparent; border: 1px solid #d4d8dd; border-radius: 5px;
  color: #5b6470; font-size: 14px; font-weight: 500;
  text-decoration: none !important;
  transition: all .15s;
}
.poster-ghost-btn:hover { background: #f4f7fa; color: #2185d0; border-color: #2185d0; }
.app-badges { display: flex; flex-wrap: wrap; /* margin-top+gap in polish14 */ }
.app-badge { display: inline-block; /* padding in polish14 */ border-radius: 12px; font-size: 12px; font-weight: 600; }
.badge-green { background: #d1fae5; color: #065f46; }
.badge-blue { background: #dbeafe; color: #1e40af; }
.badge-gray { background: #f3f4f6; color: #4b5563; }

/* [polish14 removed] polish11: force poster img to fill column */
.table-info > tbody > tr > td:last-child img,
.table-info > tbody > tr > td:last-child img[style] {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
}
/* ===== polish12 (2026-04-19) ===== */
/* [polish14] */ #details_table td { line-height: 1.4 !important; }
#details_table td:first-child { color: #6b7280 !important; font-weight: 400 !important; }
#details_table td:not(:first-child) { font-weight: 500 !important; color: #1f2937 !important; }
#details_table tr:first-child td:last-child { font-size: 15px; font-weight: 600; }
#details_table tr:first-child td:last-child i.star, #details_table tr:first-child td:last-child .star { color: #f5a623 !important; }
.trust-row:nth-child(1) .trust-ic { color: #1a73e8; }
.trust-row:nth-child(2) .trust-ic { color: #8b5cf6; }
.trust-row:nth-child(3) .trust-ic { color: #10b981; }
.trust-row:nth-child(4) .trust-ic { color: #f59e0b; }
.poster-ghost-btn {
  display: block; text-align: center; width: 100%;
  /* padding + margin-top centralized in polish14 */
  background: transparent; border: 1px solid #d4d8dd; border-radius: 5px;
  color: #5b6470; font-size: 14px; font-weight: 500;
  text-decoration: none !important;
  transition: all .15s;
}
.poster-ghost-btn:hover { background: #f4f7fa; color: #2185d0; border-color: #2185d0; }
.app-badges { display: flex; flex-wrap: wrap; /* margin-top+gap in polish14 */ }
.app-badge { display: inline-block; /* padding in polish14 */ border-radius: 12px; font-size: 12px; font-weight: 600; }
.badge-green { background: #d1fae5; color: #065f46; }
.badge-blue { background: #dbeafe; color: #1e40af; }
.badge-gray { background: #f3f4f6; color: #4b5563; }

/* ===== Polish v14: FINAL unified padding (supersedes polish3-13) ===== */
/* Standard Content Alignment (2026-04-21)
   Goal: Unify all block content to start exactly at 30px from card edge. */
:root {
  --site-block-pad: 30px;
}

/* === Unified block padding — single source of truth (2026-04-21) ===
   All .down_block_mh segments get identical 28px padding so content
   always starts at the same horizontal line across all blocks. */

/* Ensure tables and headers align with the 30px pad */
.down_block_mh h2.ih2, 
.down_block_mh h2.ih2_s {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Download table alignment fix: 
   Semantic UI table cells have padding. We want the icon to align with H2 text.
   H2 text is at 0px inside the 30px-padded segment.
   So table first cell should have 0 padding-left. */
.dl-table td:first-child,
.dl-table th:first-child {
  padding-left: 0 !important;
}

.dl-table thead th {
  background: #f9fafb !important;
  border-bottom: 2px solid rgba(34,36,38,.1) !important;
}

/* OS Links alignment */
.table-similiar {
  margin-left: 0 !important;
  width: 100%;
}

.table-similiar ul {
  padding: 0 !important;
  margin: 0 !important;
}

.table-similiar li {
  padding-left: 0 !important;
}

/* Similar apps normalization */
.apps-grid {
  margin-top: 15px;
}

.similar-programs-list {
  padding: 0 !important;
  margin: 0 !important;
}

.similar-programs-list li {
  padding-left: 0 !important;
  margin-bottom: 8px;
}

/* Category list normalization */
.down_block_mh > div > li {
  padding-left: 0 !important;
}

/* Large containers */
#gen_box > .ui.segment:not(.breadcrumbs-bar),
#dle-content > .ui.segment,
.ui.segment.down_block_mh,
.up_tabs {
  padding: 28px !important;
  margin-bottom: 16px !important;
}

/* Side drawer */
.side-drawer { padding: 28px !important; }

/* Info-table: inner container with zero padding */
.table-info, .ui.segment .table-info { padding: 0 !important; margin: 0 !important; border-collapse: collapse; }
.table-info > tbody > tr > td { padding: 0 !important; vertical-align: top; }
.table-info > tbody > tr > td:first-child { padding-right: 20px !important; }

/* Details table */
#details_table { width: 100%; border-collapse: collapse; }
#details_table td { padding: 14px 18px !important; line-height: 1.4 !important; }
#details_table td:first-child { padding-left: 0 !important; }

/* Poster + trust */
.poster-cta { padding: 0 !important; margin-top: 0 !important; }
.poster-trust { padding: 22px !important; margin-top: 12px !important; }
.trust-row { padding: 11px 0 !important; }
.trust-row:first-child { padding-top: 0 !important; }
.trust-row:last-child { padding-bottom: 0 !important; }

/* Buttons */
.poster-download-btn { padding: 18px 24px !important; margin-top: 12px !important; }
.poster-ghost-btn { padding: 14px 24px !important; margin-top: 8px !important; }

/* Header + breadcrumbs */
.site-header .header-inner { padding: 14px 28px !important; }
.breadcrumbs-bar { padding: 16px 0 !important; margin-bottom: 16px !important; background: #fff; border-bottom: 1px solid #e0e0e0; font-size: 13px; }
.breadcrumbs-bar .inner { padding: 0 28px !important; max-width: 950px; margin: 0 auto; }

/* Download table cells */
.ui.small.table.segment { padding: 0 !important; margin-bottom: 16px !important; }
.ui.small.table.segment td,
.ui.small.table.segment th { padding: 14px 18px !important; vertical-align: middle !important; position: relative; }
/* First cell gets zero left-pad — the wrapper div already provides 28px */
.ui.small.table.segment td:first-child,
.ui.small.table.segment th:first-child { padding-left: 0 !important; }
.ui.small.table.segment td:not(:first-child),
.ui.small.table.segment th:not(:first-child) { padding-left: 12px !important; padding-right: 12px !important; }

/* Footer */
.page__footer { padding: 32px 28px !important; box-sizing: border-box !important; }

/* Badges */
.app-badges { margin-top: 10px !important; gap: 6px !important; }
.app-badge { padding: 3px 10px !important; }

/* First/last child margin reset inside segments */
.ui.segment > *:first-child { margin-top: 0 !important; }
.ui.segment > *:last-child { margin-bottom: 0 !important; }

/* polish20: poster border */
.table-info > tbody > tr > td:last-child img {
  border: 1px solid #d4d8dd !important;
  border-radius: 5px !important;
  padding: 4px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

/* ===== polish29 (2026-04-19): FINAL side-drawer consolidation ===== */
/* Authoritative rules — supersede all prior .side-drawer declarations */
.side-drawer {
	position: relative !important;
	width: 100% !important;
	max-width: 950px !important;
	margin: 0 auto !important;
	background: #fff !important;
	background-image: none !important;
	max-height: 0 !important;
	overflow: hidden !important;
	transition: max-height .35s ease !important;
	box-shadow: 0 6px 14px rgba(0,0,0,.12) !important;
	border: none !important;
	z-index: 40;
}
/* Open state — both legacy (body.menu-open) and new (.open) selectors */
body.menu-open .side-drawer,
.side-drawer.open {
	max-height: 1500px !important;
	overflow-y: auto !important;
}

/* polish30: force drawer fully collapsed when closed */
.side-drawer {
  max-height: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-width: 0 !important;
  opacity: 0;
  transition: max-height .3s ease, padding .3s ease, opacity .2s ease;
}
body.menu-open .side-drawer, .side-drawer.open {
  max-height: 1500px !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  margin-bottom: 16px !important;
  border-width: 1px !important;
  opacity: 1;
}

/* polish32: убрать голубую blob-тень со side-drawer (оставить на segments) */
.side-drawer, body.menu-open .side-drawer, .side-drawer.open {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* ===== polish33 (2026-04-19): UNIFIED page background =====
   Single source of truth: --page-bg on :root. Used by <body>, .site-content
   (wraps header/drawer/content/footer) and inherited by every transparent
   descendant. The legacy /homepage.css sets body:before { background: url('bg.jpg') }
   — a fixed fullscreen blue sky image — which showed around the 950px-wide
   .side-drawer when opened (creating visible blue strips left/right of the
   dropdown). We neutralize body:before here and let --page-bg drive the
   entire off-card area (above content, below header, around dropdown). */
:root { --page-bg: #f5f7fb; }
html, body { background: var(--page-bg) !important; }
/* Kill legacy blue sky image from homepage.css — single-line override. */
body::before { background: none !important; background-image: none !important; }
/* .site-content wraps header+drawer+content+footer. Give it the unified bg
   so when dropdown opens, the off-950px strips show --page-bg, not blue. */
.site-content { background: var(--page-bg); }
/* Drawer stays its own white card; surrounding area takes --page-bg. */

/* ===== polish34 (2026-04-19): restore bg.jpg as unified site bg +
   header "Меню" label + narrower search + unified card borders +
   screenshots single-row =====

   Changes (in this block, in order):
   1. BG: bring back /bg.jpg as ONE unified fullscreen background. Reuse
      polish33's --page-bg variable but redefine as url(bg.jpg) so every
      polish33 rule (html/body/.site-content) keeps working through the
      same variable — single source of truth, no "blue strips" issue.
   2. Header: "Меню" label next to burger (span.menu-toggle-label).
   3. Search: max-width 260px so it doesn't hog the bar after Меню added.
   4. Unified card borders via --card-border, applied to breadcrumbs,
      app-info segment, download table, up_tabs (Обзор), #screenshots,
      Similar apps block (.down_block_mh).
   5. Screenshots: re-declare grid in a single-row horizontal flex lane
      (overflow-x auto) and keep 3-col grid on desktop as alternative.
      Also, an earlier nested-comment bug (double slash-star inside one
      comment) truncated the original .table-screens display:grid rule;
      that is fixed above on lines 236 and 706. Re-declaring here as
      insurance. */

/* ---- 1. Unified site background (bg.jpg) ---- */
/* Separate :root blocks — one for simple tokens, avoid mixing complex shorthand values
   in one block with other custom props (old parse-error lesson). */
:root { --card-border-color: #e5e7eb; }
:root { --card-border-width: 1px; }
:root { --card-radius: 4px; }
:root { --card-shadow: 0 1px 2px rgba(0,0,0,.04); }
/* Override polish33 flat-colour assignments — use bg.jpg everywhere as ONE layer on <html>.
   html carries the image, body transparent so it doesn't double; .site-content transparent
   so drawer surroundings show the single html layer — no blue stripes. */
html {
  background-color: #05050f !important;
  background-image: radial-gradient(at 0% 0%, hsla(253,16%,12%,1) 0, transparent 50%), radial-gradient(at 50% 0%, hsla(225,39%,30%,1) 0, transparent 50%), radial-gradient(at 100% 0%, hsla(339,49%,30%,1) 0, transparent 50%) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
}
body {
  background: transparent !important;
}
.site-content,
.pushable,
.page__wrapper {
  background: transparent !important;
}
/* Neutralize polish27/v2 grey fills so bg.jpg shows through wrappers */
body.pushable, .pushable, .page__wrapper, #center_clmn {
  background: transparent !important;
}
/* Keep the legacy /homepage.css body::before disabled (polish33) — image is now on <html>, single layer */
body::before { background: none !important; background-image: none !important; content: '' !important; }

/* ---- 2. Header: "Меню" label ---- */
.site-header .menu-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 12px !important;
  font-family: inherit;
}
.site-header .menu-toggle .menu-toggle-icon {
  font-size: 22px;
  line-height: 1;
  color: #fff;
}
.site-header .menu-toggle .menu-toggle-label {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .2px;
  line-height: 1;
}
@media (max-width: 480px) {
  .site-header .menu-toggle .menu-toggle-label { display: none; }
}

/* ---- 3. Search input width ---- */
.site-header .header-search {
  flex: 0 1 360px !important;
  max-width: 400px !important;
  min-width: 300px;
  margin-left: auto !important; /* push search to the right of logo, before Меню button */
}
@media (max-width: 768px) {
  .site-header .header-search {
    flex: 1 1 auto !important;
    max-width: none !important;
    min-width: 0;
  }
}

/* ---- 4. Unified card borders across content blocks ---- */
/* Top-level content sections on app page: breadcrumbs, info segment, download table,
   описание (up_tabs), screenshots, similar apps */
.breadcrumbs-bar,
#gen_box > .ui.segment,
#dle-content > .ui.segment,
.ui.segment.down_block_mh,
.up_tabs,
table.ui.small.table.segment,
#screenshots {
  border: var(--card-border-width) solid var(--card-border-color) !important;
  border-radius: var(--card-radius) !important;
  box-shadow: var(--card-shadow) !important;
  background: #fff !important;
}
/* Breadcrumbs: keep horizontally centred with same 950px column */
.breadcrumbs-bar {
  max-width: 950px;
  margin: 16px auto !important;
  padding: 12px 28px !important;
  border-bottom: var(--card-border-width) solid var(--card-border-color) !important; /* keep polish14 bottom-border; full border now */
}
.breadcrumbs-bar .inner { padding: 0 !important; }
/* Nested segments inside main ones: keep flat (no double border) */
#gen_box > .ui.segment .ui.segment,
#dle-content > .ui.segment .ui.segment {
  border: none !important;
  box-shadow: none !important;
}
/* Re-apply border+radius to nested .down_block_mh / .up_tabs / #screenshots which are nested
   inside #dle-content > .ui.segment. They should have the unified card style, not flat. */
#dle-content .ui.segment.down_block_mh,
#dle-content .up_tabs,
#dle-content #screenshots {
  border: var(--card-border-width) solid var(--card-border-color) !important;
  border-radius: var(--card-radius) !important;
  box-shadow: var(--card-shadow) !important;
  background: #fff !important;
}
/* Unify the main info <span itemscope> > .ui.segment (has inline border-radius:0px) */
#dle-content .ui.segment,
#dle-content > span .ui.segment {
  border: var(--card-border-width) solid var(--card-border-color) !important;
  border-radius: var(--card-radius) !important;
  box-shadow: var(--card-shadow) !important;
}
/* Vertical gap between successive content cards */
#dle-content .ui.segment + .ui.segment,
#dle-content .ui.segment.down_block_mh,
#dle-content .up_tabs,
#dle-content #screenshots,
#dle-content table.ui.small.table.segment {
  margin-top: 16px !important;
}
/* Download table — border goes on the <table> itself (not wrapping segment) */
table.ui.small.table.segment {
  border: var(--card-border-width) solid var(--card-border-color) !important;
  border-radius: var(--card-radius) !important;
  border-collapse: separate !important;
  overflow: hidden !important;
}

/* ---- 5. Screenshots — single horizontal row ---- */
/* After fixing the nested-comment parse error above, the original grid rule works.
   But to guarantee "в одну строку" on desktop, use a horizontal-scroll flex lane. */
#screenshots .table-screens {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 12px !important;
  width: 100% !important;
  grid-template-columns: none !important;
  padding-bottom: 4px; /* room for scrollbar */
}
#screenshots .table-screens tbody,
#screenshots .table-screens tr { display: contents !important; }
#screenshots .table-screens td {
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 !important;
  display: block !important;
}
#screenshots .table-screens .shot {
  display: block !important;
  height: 180px !important;
  width: auto !important;
  aspect-ratio: 16/10 !important;
  border: 1px solid #ccc !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}
#screenshots .table-screens .shot span {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
#screenshots .table-screens .shot img,
#screenshots .table-screens .screen_int {
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  display: block !important;
  position: static !important;
}
@media (max-width: 768px) {
  #screenshots .table-screens .shot { height: 140px !important; }
}

/* ===== polish35 (2026-04-19): GLOBAL border-radius unification =====
   Задача: все прямоугольные элементы на сайте — ровно 4px.
   Подход точечный: проходимся по реальным селекторам, где встречается
   border-radius > 4px. Круглые элементы (50% / 9999px / .avatar / .circle)
   НЕ трогаем — оставляем круглыми.

   Порядок:
   1. Карточки (используют var(--card-radius) — уже 4px из polish34, но
      дублируем явно для устойчивости к будущим правкам переменной).
   2. Кнопки, инпуты, селекты, тэги, бейджи, обёртки.
   3. Скриншоты (были 6px → 4px).
   4. Хедер-серч (был 6px → 4px).
   5. Бейджи приложения (.app-badge был 12px → 4px).
   6. Universal fallback на :not()-селектор — ловит остальные
      прямоугольные элементы, сохраняя круглые.
*/

/* ---- 1. Карточки (подтверждение polish34) ---- */
.breadcrumbs-bar,
#gen_box > .ui.segment,
#dle-content > .ui.segment,
#dle-content .ui.segment,
.ui.segment,
.ui.segment.down_block_mh,
.up_tabs,
table.ui.small.table.segment,
#screenshots {
  border-radius: 4px !important;
}

/* ---- 2. Кнопки ---- */
.ui.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.btn,
.bigbutton,
.poster-ghost-btn,
a.ui.button,
.site-header .menu-toggle {
  border-radius: 4px !important;
}

/* ---- 3. Инпуты, textarea, select ---- */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select,
.ui.input input,
.ui.input > input,
.site-header .header-search input,
.header-search input {
  border-radius: 4px !important;
}

/* ---- 4. Скриншоты ---- */
#screenshots .table-screens .shot,
#screenshots .table-screens .shot img,
.shot,
.screen_int,
.table-info > tbody > tr > td:last-child img {
  border-radius: 4px !important;
}

/* ---- 5. Бейджи, тэги, метки ---- */
.app-badge,
.badge,
.badge-green,
.badge-blue,
.badge-gray,
.ui.label,
.ui.tag,
.label {
  border-radius: 4px !important;
}

/* ---- 6. Дропдаун (side-drawer) и его внутренние блоки ---- */
.side-drawer,
.side-drawer .section,
.side-drawer .block,
.side-drawer ul,
.side-drawer li,
.side-drawer a {
  border-radius: 4px !important;
}
/* Но сам контейнер side-drawer-а — без общего радиуса (он часто во весь экран) */
.side-drawer {
  border-radius: 0 !important;
}

/* ---- 7. Модалки, тултипы, алерты ---- */
.ui.modal,
.ui.popup,
.ui.tooltip,
.ui.message,
.alert,
.modal-content,
.popup-content {
  border-radius: 4px !important;
}

/* ---- 8. Poster / icons в карточках, если не круглые ---- */
.poster-block,
.icon-block,
.app-icon,
.poster-img,
img.poster,
.shot img,
.screen_int img {
  border-radius: 4px !important;
}

/* ---- 9. Universal fallback: любой элемент с border-radius отличным от 0 / 50% / 9999px
   выставляется в 4px. Исключения — круглые: .avatar, .circle, .rounded-full,
   inline style с 50% / 9999px, элементы с классом "social-icon". ---- */
*:not([style*="border-radius: 50%"]):not([style*="border-radius:50%"]):not([style*="border-radius: 9999"]):not([style*="border-radius:9999"]):not(.avatar):not(.circle):not(.rounded-full):not(.social-icon):not(.round):not(.ui.circular):not(.circular) {
  border-radius: 4px;
}
/* Обеспечиваем что круглые элементы остаются круглыми */
.avatar,
.circle,
.rounded-full,
.ui.circular,
.circular,
.social-icon,
.round,
img.avatar,
img.circular {
  border-radius: 50% !important;
}
/* Иконки соцсетей в футере/хедере (распространённые классы) */
.social a,
.social-links a,
.footer-social a {
  border-radius: 50% !important;
}

/* ===== polish36 (2026-04-19): drawer outer width == content column =====
   Проблема: у .side-drawer было box-sizing: content-box + max-width: 950px
   + padding: 28px (из polish-блока «Side drawer», строка 752). В итоге
   ВНЕШНЯЯ ширина дропдауна = 950 + 28 + 28 = 1006px, тогда как карточки
   контента (.breadcrumbs-bar, #gen_box, сегменты, #center_clmn) выровнены
   по 950px. Дропдаун визуально выступал на 28px с каждой стороны наружу.

   Решение: переключить .side-drawer на box-sizing: border-box. Теперь
   max-width: 950px ограничивает ИМЕННО внешнюю рамку, а внутренний
   padding сужает только контент, не расширяя наружу. Боковые границы
   дропдаунa и карточек/крошек совпадают (outer edge = 950px).

   Внутренний .drawer-inner уже имеет собственный max-width: 950px + padding 18px,
   с переходом drawer на border-box он автоматически впишется в доступную
   ширину 950 - 28*2 = 894px — ок, колонки (grid 1fr×4) просто сузятся.

   Селектор .side-drawer дублируется в нескольких polish-блоках (polish29,
   polish30, polish32), все с !important. Мы добавляем самый последний
   !important, побеждающий по каскадному порядку. */
.side-drawer,
body.menu-open .side-drawer,
.side-drawer.open {
  box-sizing: border-box !important;
  max-width: 950px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== polish37 (2026-04-20): screenshots — grid 4-per-row, без скрола =====
   Проблема: polish34 переключил .table-screens внутри #screenshots на
   flex+nowrap+overflow-x:auto — на десктопе появился горизонтальный скролл,
   когда скриншотов больше чем влезает по ширине контейнера.

   Задача: 4 скриншота в ряд по ширине контейнера, без горизонтального
   скрола; если скриншотов больше 4 — переносятся на следующую строку;
   если меньше — занимают соответствующую часть строки (1fr колонки).

   Селекторы специфичнее/позже polish34 (`#screenshots .table-screens ...`),
   используем те же цепочки с !important, чтобы гарантированно победить. */

#screenshots .table-screens,
.table-screens {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  flex-wrap: unset !important;
  padding-bottom: 0 !important;
  width: 100% !important;
}

/* tbody/tr — прозрачные, чтобы td стали детьми grid-контейнера */
#screenshots .table-screens tbody,
#screenshots .table-screens tr,
.table-screens tbody,
.table-screens tr {
  display: contents !important;
}

/* Ячейки/карточки скриншотов: занимают всю колонку, flex-свойства сбрасываем */
#screenshots .table-screens td,
.table-screens td {
  display: block !important;
  width: 100% !important;
  flex: unset !important;
  padding: 0 !important;
}

#screenshots .table-screens .shot,
.table-screens .shot {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  flex: unset !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

#screenshots .table-screens .shot span,
.table-screens .shot span {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Картинка тянется на всю карточку, object-fit: cover — единая высота */
#screenshots .table-screens .shot img,
#screenshots .table-screens .screen_int,
.table-screens .shot img,
.table-screens .screen_int {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  position: static !important;
}

/* Планшеты / средние экраны — 2 в ряд */
@media (max-width: 768px) {
  #screenshots .table-screens,
  .table-screens {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  #screenshots .table-screens .shot,
  .table-screens .shot {
    height: auto !important;
  }
}

/* Узкие мобильные — 1 в ряд */
@media (max-width: 480px) {
  #screenshots .table-screens,
  .table-screens {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* ===== polish38 (2026-04-20): side-drawer как карточка =====
   Проблема: в polish35 (строки ~1186-1189) у .side-drawer выставлен
   border-radius: 0 !important — тогда считалось, что дропдаун
   полноширинный. После polish36 дропдаун выровнен по контентной колонке
   (max-width: 950px, border-box, центрирование auto) — то есть теперь он
   визуально такой же «карточка», как .breadcrumbs-bar / .ui.segment /
   #gen_box / #screenshots.

   Нужно: скруглить углы как у остальных карточек (--card-radius = 4px)
   и привести границу/тень к тем же переменным --card-border-* / --card-shadow,
   чтобы дропдаун выглядел единой карточкой в общей сетке блоков.

   Селекторы и !important специфичнее/позже polish35 (.side-drawer с
   border-radius: 0 !important) и polish32/polish36 — побеждают по каскаду. */

.side-drawer,
body.menu-open .side-drawer,
.side-drawer.open {
  border-radius: var(--card-radius, 4px) !important;
  border: var(--card-border-width, 1px) solid var(--card-border-color, #e5e7eb) !important;
  box-shadow: var(--card-shadow, 0 1px 2px rgba(0,0,0,.04)) !important;
  /* Содержимое (border-box уже из polish36) не должно вылезать за скруглённые углы */
  overflow: hidden !important;
}

/* ===== polish39 (2026-04-20): H-иерархия =====
   Проблема: на 94% страниц иерархия была H1 → H4 (пропущен H2).
   Решение: section-заголовки теперь H2, внутри Обзора H3, в футере H3.
   Этот блок нормализует визуал: H2 с классами .ih2/.ih2_s сохраняют
   прежний вид (блоки выглядели как заголовки), а новые H2/H3 без
   полиш-классов получают разумные отступы. */
h2.ih2, h2.ih2_s {
  display: block;
  margin: 0 0 18px 0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.3;
  color: rgb(85, 85, 85);
}
h2.ih2_s { margin-bottom: 14px !important; }
/* similar-apps h2 — унаследует стиль от h2.ih2, переопределение не нужно */
/* inner H3 groups inside "Похожие программы" block */
.down_block_mh > h3,
.ui.segment.down_block_mh h3 {
  font-size: 16px !important;
  margin: 1em 0 0.5em 0;
  font-weight: 600 !important;
}
/* Description H3 subsections (после demote h4->h3) */
.sc_tab span[itemprop="description"] h3 {
  font-size: 16px !important;
  margin: 1em 0 0.4em 0 !important;
  font-weight: 600 !important;
}


/* ===== v4-frontend (2026-04-20): semantic/a11y helpers ===== */
.sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0);
	white-space: nowrap; border: 0;
}
/* .site-footer-grid is now a <nav>, restore grid display (was on <div>) */
nav.site-footer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left; padding: 10px 0 20px; }
@media (max-width: 768px) {
	nav.site-footer-grid { grid-template-columns: 1fr; gap: 14px; }
}
/* flat-section is now a <section>, keep grid-column layout */
.side-drawer section.flat-section { grid-column: 1 / -1; }


/* =========================================================================
   Category page redesign (2026-04-18)
   Rich landing: intro → featured → sort → apps grid → FAQ → related.
   All sections use shared --card-* tokens for visual consistency.
   ========================================================================= */

/* --- shared star rating (static, no jQuery) ---------------------------- */
.rating-static { display: inline-flex; gap: 1px; line-height: 1; }
.rating-static .star { font-size: 14px; color: #d6d8dc; }
.rating-static .star.full  { color: #f5a623; }
.rating-static .star.half  {
	color: #f5a623;
	background: linear-gradient(90deg, #f5a623 50%, #d6d8dc 50%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.rating-value { font-size: 13px; font-weight: 600; color: #333; margin-left: 4px; }
.rating-count { font-size: 12px; color: #666; margin-left: 2px; }

/* --- shared section card ----------------------------------------------- */
.category-page .cat-featured,
.category-page .cat-sort,
.category-page .cat-apps,
.category-page .cat-faq,
.category-page .cat-related {
	margin-top: 20px;
	padding: 20px 24px;
	background: #fff;
	border: var(--card-border-width,1px) solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
	box-shadow: var(--card-shadow, 0 1px 2px rgba(0,0,0,.04));
}
.category-page .cat-sort { padding: 12px 16px; }

/* --- CATEGORY DESCRIPTION (bottom block) -------------------------------- */
.category-description {
	background: #f8f9fa;
	border-radius: 8px;
	padding: 20px 24px;
	border-left: 3px solid #d0d5dd;
	margin: 24px 0;
	font-size: 14px;
	line-height: 1.7;
	color: #444;
	position: relative;
	overflow: hidden;
}
.category-description-label {
	font-size: 12px;
	text-transform: uppercase;
	color: #999;
	letter-spacing: 0.5px;
	margin-bottom: 8px;
	font-weight: 500;
}
.category-description-body p { margin: 0 0 10px 0; }
.category-description-body p:last-child { margin-bottom: 0; }
.category-description-body h2,
.category-description-body h3 { margin: 14px 0 6px; font-size: 15px; font-weight: 600; color: #333; }
.category-description-body a { color: #1e70bf; }
.category-description.description-faded .category-description-body {
	max-height: 120px;
	overflow: hidden;
}
.category-description.description-faded::after {
	content: '';
	position: absolute;
	bottom: 44px;
	left: 0;
	right: 0;
	height: 50px;
	background: linear-gradient(to bottom, rgba(248,249,250,0), #f8f9fa);
	pointer-events: none;
}
.category-description .description-toggle {
	display: block;
	margin-top: 12px;
	background: none;
	border: none;
	color: #1e70bf;
	font-size: 13px;
	cursor: pointer;
	padding: 0;
	font-weight: 500;
}
.category-description .description-toggle:hover { text-decoration: underline; }
.category-description.expanded .category-description-body {
	max-height: none;
}
.category-description.expanded::after {
	display: none;
}
.category-description.expanded .description-toggle::after {
	content: none;
}

/* --- FEATURED --------------------------------------------------------- */
.featured-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 6px;
}
.featured-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #f8f9fb;
	border: 1px solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
	padding: 20px 16px;
	text-decoration: none;
	color: inherit;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.featured-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,.07);
	border-color: #c7d2e0;
	text-decoration: none;
}
.featured-card-icon {
	width: 96px; height: 96px;
	object-fit: contain;
	margin-bottom: 12px;
}
.featured-card-title {
	font-size: 16px !important;
	font-weight: 600 !important;
	margin: 0 0 6px 0 !important;
	color: #222;
	line-height: 1.3;
}
.featured-card-brief {
	font-size: 13px;
	color: #555;
	line-height: 1.45;
	margin: 0 0 10px 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.featured-card-rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: auto;
}

/* --- SORT TABS -------------------------------------------------------- */
.cat-sort-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cat-sort-tab {
	display: inline-block;
	padding: 8px 14px;
	border-radius: var(--card-radius,4px);
	font-size: 14px;
	color: #555;
	text-decoration: none;
	background: #f3f5f8;
	border: 1px solid transparent;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.cat-sort-tab:hover {
	background: #e9edf3;
	color: #1e70bf;
	text-decoration: none;
}
.cat-sort-tab.active {
	background: #1e70bf;
	color: #fff;
	font-weight: 600;
}
.cat-sort-tab.active:hover { background: #1960a8; color: #fff; }

/* --- APPS GRID -------------------------------------------------------- */
.apps-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 12px;
	margin-top: 6px;
}
.app-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.app-card:hover {
	border-color: #c7d2e0;
	box-shadow: 0 2px 6px rgba(0,0,0,.05);
}
.app-card-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	text-indent: -9999px;
	overflow: hidden;
}
.app-card-icon {
	flex: 0 0 48px;
	width: 48px; height: 48px;
	object-fit: contain;
}
.app-card-body { flex: 1 1 auto; min-width: 0; }
.app-card-title {
	font-size: 15px !important;
	font-weight: 600 !important;
	margin: 0 0 4px 0 !important;
	color: #1e70bf;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.app-card:hover .app-card-title { text-decoration: underline; }
.app-card-brief {
	font-size: 12px;
	color: #666;
	margin: 0 0 6px 0;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.app-card-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	font-size: 12px;
	color: #777;
}
.app-card-rating { display: inline-flex; align-items: center; gap: 3px; }
.app-card-size {
	display: inline-block;
	padding: 1px 8px;
	background: #f0f2f5;
	border-radius: 10px;
	font-size: 11px;
	color: #555;
}
.app-card-download {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	padding: 7px 14px;
	background: #2185d0;
	color: #fff;
	border-radius: var(--card-radius,4px);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	pointer-events: none;
	transition: background .15s ease;
}
.app-card:hover .app-card-download { background: #1678c2; }
.cat-empty { padding: 20px; text-align: center; color: #777; }

/* --- ERROR PAGE ------------------------------------------------------ */
.error-page {
	min-height: 420px;
	margin-top: 20px !important;
	padding: 28px !important;
	background: #fff !important;
	border-radius: var(--card-radius,4px) !important;
}
.error-hero {
	display: grid;
	grid-template-columns: minmax(96px, 140px) 1fr;
	gap: 28px;
	align-items: center;
	padding: 28px;
	background: #f7f9fc;
	border: 1px solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
}
.error-code {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 112px;
	background: #fff;
	border: 1px solid #dce5f0;
	border-radius: var(--card-radius,4px);
	color: #1e70bf;
	font-size: 42px;
	font-weight: 600;
	line-height: 1;
}
.error-copy {
	min-width: 0;
}
.error-kicker {
	margin: 0 0 6px 0;
	color: #6b7280;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
}
.error-copy h1 {
	margin: 0 0 10px 0 !important;
	color: #333;
	font-size: 26px;
	line-height: 1.25;
}
.error-copy p {
	max-width: 640px;
	margin: 0;
	color: #555;
	line-height: 1.6;
}
.error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px 0 0 0;
}
.error-search {
	display: flex;
	max-width: 520px;
	margin-top: 14px;
}
.error-search input {
	flex: 1 1 auto;
	min-width: 0;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #d7dde7;
	border-right: 0;
	border-radius: var(--card-radius,4px) 0 0 var(--card-radius,4px);
	background: #fff;
	color: #333;
	font-family: "Inter", -apple-system, system-ui, sans-serif;
}
.error-search input:focus {
	outline: none;
	border-color: #2185d0;
	box-shadow: inset 0 0 0 1px #2185d0;
}
.error-search .ui.button {
	border-radius: 0 var(--card-radius,4px) var(--card-radius,4px) 0;
}
.error-section {
	margin-top: 26px;
}
.error-section h2 {
	margin: 0 0 12px 0 !important;
	color: #333;
	font-size: 20px;
	line-height: 1.3;
}
.error-category-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.error-category-list a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 12px;
	background: #f3f5f8;
	border: 1px solid transparent;
	border-radius: var(--card-radius,4px);
	color: #1e70bf;
	font-size: 14px;
	text-decoration: none;
}
.error-category-list a:hover {
	background: #e9edf3;
	border-color: #d4dbe6;
	color: #165f9f;
	text-decoration: none;
}
.error-app-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}
.error-app-card {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
	color: inherit;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.error-app-card:hover {
	border-color: #c7d2e0;
	box-shadow: 0 2px 6px rgba(0,0,0,.05);
	text-decoration: none;
}
.error-app-card img {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	object-fit: contain;
}
.error-app-card-body {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
}
.error-app-card-title {
	overflow: hidden;
	color: #1e70bf;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.error-app-card:hover .error-app-card-title {
	text-decoration: underline;
}
.error-app-card-brief {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 3px;
	color: #666;
	font-size: 12px;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
@media (max-width: 640px) {
	.error-page {
		padding: 16px !important;
	}
	.error-hero {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 18px;
	}
	.error-code {
		min-height: 76px;
		font-size: 34px;
	}
	.error-copy h1 {
		font-size: 23px;
	}
	.error-search {
		flex-direction: column;
		gap: 8px;
	}
	.error-search input {
		border: 1px solid #d7dde7;
		border-radius: var(--card-radius,4px);
	}
	.error-search .ui.button {
		border-radius: var(--card-radius,4px);
	}
	.error-app-grid {
		grid-template-columns: 1fr;
	}
}

/* --- FAQ ------------------------------------------------------------- */
.faq-list { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.faq-item {
	background: #f8f9fb;
	border: 1px solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
	overflow: hidden;
}
.faq-item[open] { background: #fff; border-color: #c7d2e0; }
.faq-q {
	list-style: none;
	cursor: pointer;
	padding: 14px 44px 14px 16px;
	font-size: 15px;
	font-weight: 600;
	color: #222;
	position: relative;
	user-select: none;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
	content: '+';
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: #666;
	line-height: 1;
	transition: transform .2s ease;
}
.faq-item[open] .faq-q::after {
	content: '−';
	color: #1e70bf;
}
.faq-a {
	padding: 0 16px 14px 16px;
	font-size: 14px;
	line-height: 1.55;
	color: #444;
}
.faq-a p { margin: 0 0 8px 0; }
.faq-a p:last-child { margin-bottom: 0; }

/* --- RELATED CATEGORIES --------------------------------------------- */
.related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
	margin-top: 6px;
	max-width: 100%;
	box-sizing: border-box;
}
.related-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: #f8f9fb;
	border: 1px solid var(--card-border-color,#e5e7eb);
	border-radius: var(--card-radius,4px);
	text-decoration: none;
	color: inherit;
	transition: background .15s ease, border-color .15s ease;
}
.related-card:hover {
	background: #fff;
	border-color: #c7d2e0;
	text-decoration: none;
}
.related-card-icon { width: 32px; height: 32px; object-fit: contain; flex: 0 0 32px; }
.related-card-body { display: flex; flex-direction: column; min-width: 0; }
.related-card-name {
	font-size: 14px;
	font-weight: 600;
	color: #1e70bf;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.related-card-count { font-size: 12px; color: #666; }

/* --- RESPONSIVE ----------------------------------------------------- */
@media (max-width: 960px) {
	.featured-grid  { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.category-page .cat-featured,
	.category-page .cat-apps,
	.category-page .cat-faq,
	.category-page .cat-related { padding: 16px; }
	.category-description { padding: 16px 18px; }
	.featured-grid  { grid-template-columns: 1fr; }
	.apps-grid      { grid-template-columns: 1fr; }
	.featured-card  { padding: 16px 12px; }
	.featured-card-icon { width: 80px; height: 80px; }
	.app-card-title { font-size: 14px !important; }
}
@media (max-width: 480px) {
	.related-grid { grid-template-columns: 1fr; }
	.cat-sort-nav { gap: 4px; }
	.cat-sort-tab { padding: 7px 10px; font-size: 13px; }
	.app-card { gap: 10px; padding: 10px; }
	.app-card-download { padding: 6px 10px; font-size: 12px; }
}

/* ============================================================
   Polish: info-table polish — разделители, выравнивание, отступы
   ------------------------------------------------------------
   Главная таблица с характеристиками приложения (#details_table):
   1) border-bottom у каждого tr (кроме последнего)
   2) правое выравнивание значений (td:last-child)
   3) увеличенные внутренние отступы (12px 16px)
   4) иконки слева от ключей — нетронуты (первая td без изменений layout)
   5) бейджи app-badges-below — под таблицей с отступом сверху
   ============================================================ */
#details_table tbody tr {
	border-bottom: 1px solid var(--card-border-color, #e5e7eb) !important;
}
#details_table tbody tr:last-child {
	border-bottom: 0 !important;
}
#details_table td {
	padding: 12px 16px !important;
	vertical-align: middle !important;
}
#details_table td:first-child {
	padding-left: 0 !important;
	padding-right: 16px !important;
	white-space: nowrap;
}
#details_table td:last-child {
	text-align: right !important;
	padding-right: 0 !important;
}
/* Убираем стандартную вертикальную полосу и рамку Semantic UI, если она мешает */
#details_table.ui.basic.table tr td {
	border-top: 0 !important;
}

/* Бейджи под таблицей */
.app-badges-below {
	margin-top: 20px !important;
	margin-bottom: 0 !important;
	gap: 6px !important;
}
.app-badges-below .app-badge {
	border-radius: 4px !important;
	padding: 4px 12px !important;
	font-size: 12px;
	font-weight: 600;
}

/* RTL: на арабской локали значения выравниваем по левому краю */
html[dir="rtl"] #details_table td:last-child {
	text-align: left !important;
	padding-right: 16px !important;
	padding-left: 0 !important;
}
html[dir="rtl"] #details_table td:first-child {
	padding-right: 0 !important;
	padding-left: 16px !important;
}

/*******************************
	Mobile fixes
*******************************/

/* FIX 1: Rating stars — increase touch target to 44px */
@media (max-width: 768px) {
  .rating-static .star,
  .ui.rating .icon {
    font-size: 22px !important;
    padding: 8px 4px !important;
    min-width: 32px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* FIX 2: Download table — horizontal scroll on narrow screens */
@media (max-width: 640px) {
  .ui.small.table.segment {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .ui.small.table.segment tbody td {
    white-space: normal;
  }
}

/* FIX 3: CTA download button — min-height 44px */
@media (max-width: 768px) {
  .poster-download-btn,
  .download_link.button,
  a.ui.button.download_link {
    min-height: 44px !important;
    line-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ===== Search autocomplete dropdown (2026-04-20) ===== */
.search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    min-width: 360px;
    background: #fff;
    border: 1px solid var(--card-border-color, #e5e7eb);
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    max-height: 400px;
    overflow-y: auto;
    z-index: 9999;
}

.search-category {
    padding: 8px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: #5C6166;
    letter-spacing: 0.5px;
}

.search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.15s;
}

.search-item:hover,
.search-item-active {
    background: #f5f8ff;
    text-decoration: none;
    color: #333;
}

.search-item-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    object-fit: contain;
}

.search-item-content {
    flex: 1;
    min-width: 0;
}

.search-item-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-item-name strong {
    color: #1e70bf;
    font-weight: 700;
}

.search-item-brief {
    display: block;
    font-size: 11px;
    color: #717171;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-no-results {
    padding: 16px;
    text-align: center;
    color: #777;
    font-size: 14px;
}

@media (max-width: 768px) {
    .search-dropdown {
        max-height: 60vh;
    }
}

/* ===== ПРАВКА 9: Mobile — вертикальная таблица спецификаций ===== */
@media (max-width: 640px) {
  #details_table tr {
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
  }
  #details_table td:first-child {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 2px;
  }
  #details_table td:last-child {
    font-weight: 600;
  }
}

/* ===== ПРАВКА 10: Стили "Похожие программы" ===== */
/* ===== Похожие программы — группированный список ===== */
.similar-programs-list {
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    list-style: none;
}
.similar-programs-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #f0f4f8;
}
.similar-programs-list li:last-child { border-bottom: none; }

/* Иконка приложения */
.sim-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 6px;
}

/* Текстовый блок: название + краткое описание */
.sim-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.sim-info a,
.sim-info b {
    font-size: 14px;
    font-weight: 600;
    color: #1e70bf;
    text-decoration: none;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sim-info b { color: #333; }
.sim-info a:hover { text-decoration: underline; }

/* Краткое описание под названием */
.sim-brief {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Кнопка Скачать */
.sim-dl-btn {
    flex-shrink: 0;
    margin-left: auto;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    background: #2185d0;
    border-radius: 4px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s ease;
}
.sim-dl-btn:hover { background: #1678c2; text-decoration: none; color: #fff; }

/* H3 заголовки подгрупп (когда несколько категорий) */
.sim-group-heading {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #888 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 16px 0 4px 0 !important;
    padding: 0 !important;
    border: none !important;
}
.sim-group-heading a {
    color: inherit;
    text-decoration: none;
}
.sim-group-heading a:hover { color: #1e70bf; }

/* ===== БОНУС: версия/дата/downloads на карточках категорий ===== */
.app-card-extra {
    font-size: 11px;
    color: #6b7280;
    margin-top: 4px;
    line-height: 1.3;
}

/* ===== Main page avatar icons 48px ===== */
.ui.divided.selection.list .ui.avatar.image,
.ui.middle.aligned.divided.list .ui.avatar.image {
    width: 48px;
    height: 48px;
}

/* Main page: align text vertically to icon center */
.ui.divided.selection.list .item,
.ui.middle.aligned.divided.list .item {
    display: flex !important;
    align-items: center !important;
}

/* Push download button to the right (flex kills float) */
.ui.middle.aligned.divided.list .item .right.floated.content {
    order: 99;
    margin-left: auto !important;
    flex-shrink: 0;
}
.ui.middle.aligned.divided.list .item > .content.mini {
    flex: 1;
    min-width: 0;
}

/* ===== Download table: bigger button + row hover (2026-04-20) ===== */

/* Download button in table — proportional to row text */
.ui.blue.button.mini.download_link,
a.ui.blue.button.mini.download_link {
    background: #2185d0 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 7px 16px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    letter-spacing: 0.2px;
    transition: background .2s ease !important;
    text-decoration: none !important;
    display: inline-block;
}
.ui.blue.button.mini.download_link:hover,
a.ui.blue.button.mini.download_link:hover {
    background: #1678c2 !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* First column ALWAYS bold */
.ui.small.table.segment tbody td:first-child,
.dl-segment .ui.small.table tbody td:first-child {
    font-weight: 700 !important;
}

/* Padding inside first/last cells so thead bg reaches edges */
.dl-segment .ui.small.table th:first-child,
.dl-segment .ui.small.table td:first-child { padding-left: 28px !important; }
.dl-segment .ui.small.table th:last-child,
.dl-segment .ui.small.table td:last-child  { padding-right: 28px !important; }

/* Download section heading — icon aligned with first column icons */
h2.ui.inverted.black.block.header.dl-table-heading { padding-left: 28px !important; }

/* Hover — only background highlight, no additional bold */
.ui.small.table.segment tbody tr:hover {
    background: #f0f7ff !important;
}

/* "Show more" button for hidden old versions */
.dl-show-more {
    text-align: center;
    padding: 12px 0;
}
.dl-show-more button {
    padding: 6px 18px;
    border: 1px solid #4183c4;
    background: #fff;
    color: #4183c4;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
}
.dl-show-more button:hover {
    background: #4183c4;
    color: #fff;
}

/* =============================================
   Security Badge — antivirus check block
   (2026-04-20 SEO: file safety trust signal)
   ============================================= */
.security-badge {
    margin: 0;
    border-top: 1px solid #e8e8e8;
    background: #fcfefa;
    padding: 14px 28px 12px;
}
.security-badge-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.security-badge-icon {
    width: 36px;
    height: 36px;
    color: #22a356;
    flex-shrink: 0;
    background: rgba(34, 163, 86, 0.08);
    border-radius: 50%;
    padding: 6px;
}
.security-badge-title {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.security-badge-status {
    font-weight: 700;
    font-size: 15px;
    color: #1a7a3a;
    letter-spacing: -0.01em;
}
.security-badge-subtitle {
    font-size: 12.5px;
    color: #6b7c6e;
}
.security-badge-details {
    display: grid;
    gap: 0;
    border: 1px solid #e2ebe4;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}
.security-badge-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    font-size: 13px;
    border-bottom: 1px solid #f0f4f1;
}
.security-badge-row:last-child {
    border-bottom: none;
}
.security-badge-label {
    color: #5a6b5e;
    white-space: nowrap;
    margin-right: 12px;
}
.security-badge-value {
    color: #2c3e2f;
    font-weight: 500;
    text-align: right;
}
.security-badge-clean {
    color: #1a8a3e;
    font-weight: 600;
}
.security-badge-hash {
    font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;
    font-size: 11.5px;
    color: #4a5a4d;
    background: #f4f7f5;
    padding: 2px 6px;
    border-radius: 3px;
    letter-spacing: 0.3px;
    word-break: break-all;
}
.security-hash-toggle {
    background: none;
    border: none;
    color: #4183c4;
    font-size: 12px;
    cursor: pointer;
    padding: 0 0 0 6px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.security-hash-toggle:hover {
    color: #1a5a94;
}
.security-badge-value a {
    color: #4183c4;
    text-decoration: none;
}
.security-badge-value a:hover {
    text-decoration: underline;
}
.security-badge-hash-row {
    flex-wrap: wrap;
}
@media (max-width: 640px) {
    .security-badge {
        padding: 12px 14px 10px;
    }
    .security-badge-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        padding: 7px 12px;
    }
    .security-badge-value {
        text-align: left;
    }
    .security-badge-icon {
        width: 30px;
        height: 30px;
        padding: 5px;
    }
}

/* Кнопки соцсетей — по центру */
.ya-share2 { text-align: center !important; }

/* Заголовки внутри текста описания приложения */
.sc_tab span[itemprop="description"] h2,
.sc_tab span[itemprop="description"] h3,
.sc_tab span[itemprop="description"] h4 {
    font-family: "Inter", -apple-system, system-ui, sans-serif !important;
    font-weight: 600 !important;
    color: #2c2c2c !important;
    margin-top: 22px !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}
.sc_tab span[itemprop="description"] h2 {
    font-size: 17px !important;
}
.sc_tab span[itemprop="description"] h3 {
    font-size: 15px !important;
}
.sc_tab span[itemprop="description"] h4 {
    font-size: 14px !important;
}
