body.is-dark {
  --bs-blue: #080829;
  --bs-indigo: #6610f2;
  --bs-purple: #2b5cfd;
  --bs-pink: #d63384;
  --bs-red: #fa5b68;
  --bs-orange: #ef652a;
  --bs-yellow: #fdb52a;
  --bs-green: #071a17;
  --bs-teal: #20c997;
  --bs-cyan: #00ffd5;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #64728f;
  --bs-gray-dark: #495057;
  --bs-gray-50: #2b292c;
  --bs-gray-100: #0f0f12;
  --bs-gray-200: #0a1425;
  --bs-gray-300: #181921;
  --bs-gray-400: #232340;
  --bs-gray-500: #0a1425;
  --bs-primary: #2b5cfd;
  --bs-secondary: #c5c5ca;
  --bs-success: #22c55e;
  --bs-info: #00ffd5;
  --bs-warning: #fdb52a;
  --bs-danger: #fa5b68;
  --bs-light: #faf9ff;
  --bs-dark: #0a1425;
  --bs-primary-text-emphasis: #495057;
  --bs-secondary-text-emphasis: #495057;
  --bs-success-text-emphasis: #495057;
  --bs-info-text-emphasis: #495057;
  --bs-warning-text-emphasis: #495057;
  --bs-danger-text-emphasis: #495057;
 
  --bs-dark-text-emphasis: #faf9ff;
  --bs-primary-bg-subtle: #3f53d8;
  --bs-secondary-bg-subtle: #0a1425;
  --bs-success-bg-subtle: #2a9d8f;
  --bs-info-bg-subtle: #0062ff;
  --bs-warning-bg-subtle: #ffde70;
  --bs-danger-bg-subtle: #fa5b68;
  --bs-light-bg-subtle: #e5e7eb;
  --bs-dark-bg-subtle: #0a1425;

  --bs-blue: #ff9d00;
  --bs-indigo: #99ef0d;
  --bs-purple: #919e0c;
  --bs-pink: #29cc7b;
  --bs-red: #05a497;
  --bs-orange: #022937;
  --bs-yellow: #024ad5;
  --bs-green: #dd3aa1;
  --bs-teal: #df3608;
  --bs-cyan: #ff002a;
  --bs-white: #000;
  --bs-gray: #3a3a35;
  --bs-gray-dark: #9b8d70;
  --bs-primary: #d4a302;
  --bs-secondary: #3a3a35;
  --bs-success: #dd3aa1;
  --bs-info: #ff002a;
  --bs-warning: #024ad5;
  --bs-danger: #05a497;
  --bs-light: #050000;
 
  --bs-blue: #0062ff;
  --bs-indigo: #6610f2;
  --bs-purple: #6e61f3;
  --bs-pink: #d63384;
  --bs-red: #fa5b68;
  --bs-orange: #fdd6c8;
  --bs-yellow: #fdb52a;
  --bs-green: #22c55e;
  --bs-teal: #20c997;
  --bs-cyan: #00ffd5;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #c5c5ca;
  --bs-gray-dark: #64728f;
  --bs-gray-50: #e5e7eb;
  --bs-gray-100: #faf9ff;
  --bs-gray-200: #f2f8fb;
  --bs-gray-300: #f9f7fa;
  --bs-gray-400: #faf9f4;
  --bs-gray-500: #c9c9d4;
  --bs-gray-600: #c5c5ca;
  --bs-gray-700: #adb5bd;
  --bs-gray-800: #64728f;
  --bs-gray-900: #495057;
  --bs-primary: #6e61f3;
  --bs-secondary: #c5c5ca;
  --bs-success: #22c55e;
  --bs-info: #00ffd5;
  --bs-warning: #fdb52a;
  --bs-danger: #fa5b68;
  --bs-light: #faf9ff;
  --bs-lighter: #e5e7eb;
  --bs-dark: #0a1425;
  --bs-dark-blue: #080829;
  --bs-darker: #0a1425;
  --bs-white: #fff;
  --bs-gray: #f7f8f9;
  --bs-gray-50: #e5e7eb;
  --bs-gray-100: #faf9ff;
  --bs-gray-200: #f2f8fb;
  --bs-gray-300: #f9f7fa;
  --bs-gray-400: #faf9f4;
  --bs-gray-500: #c9c9d4;
  --bs-gray-600: #c5c5ca;
  --bs-gray-700: #adb5bd;
  --bs-gray-800: #64728f;
  --bs-gray-900: #495057;
  --bs-gray-1000: #2b292c;
  --bs-gray-1100: #0f0f12;
  --bs-gray-1200: #0a1425;
  --bs-gray-1300: #181921;
  --bs-gray-1400: #232340;
  --bs-red: #fa5b68;
  --bs-red-50: #feebed;
  --bs-yellow: #fdb52a;
  --bs-yellow-50: #fef6ea;
  --bs-yellow-100: #fdeaba;
  --bs-yellow-200: #ffde70;
  --bs-green: #22c55e;
  --bs-green-50: #e9f9ef;
  --bs-green-100: #f0f6f5;
  --bs-green-200: #dcfce7;
  --bs-green-300: #bde5d3;
  --bs-green-400: #45c9c1;
  --bs-green-500: #0acf83;
  --bs-green-600: #54a8c7;
  --bs-green-700: #2a9d8f;
  --bs-green-800: #071a17;
  --bs-blue: #0062ff;
  --bs-blue-50: #f4f8ff;
  --bs-blue-100: #ebf2ff;
  --bs-blue-200: #f3f4ff;
  --bs-blue-300: #eaefff;
  --bs-blue-400: #e7fbff;
  --bs-blue-500: #e8ebff;
  --bs-blue-600: #f9faff;
  --bs-blue-700: #c3c9f1;
  --bs-blue-800: #6472b9;
  --bs-blue-900: #8c9bff;
  --bs-blue-1000: #589bff;
  --bs-blue-1100: #6576ff;
  --bs-blue-1200: #3f78e0;
  --bs-blue-1300: #6366f1;
  --bs-blue-1400: #3f53d8;
  --bs-blue-1500: #2b5cfd;
  --bs-blue-1600: #3b3482;
  --bs-blue-1700: #172166;
  --bs-blue-1800: #122544;
  --bs-blue-1900: #141834;
  --bs-blue-2000: #080829;
  --bs-purple: #6e61f3;
  --bs-purple-50: #eeecff;
  --bs-purple-100: #fceff4;
  --bs-purple-200: #edebfe;
  --bs-purple-300: #e1cbfd;
  --bs-purple-400: #ffc8cc;
  --bs-purple-500: #eb7ca6;
  --bs-purple-600: #9d90f1;
  --bs-purple-700: #9097f7;
  --bs-purple-800: #725efe;
  --bs-cyan: #00ffd5;
  --bs-cyan-50: #c0f2fd;
  --bs-cyan-100: #97f2ff;
  --bs-cyan-200: #13d5ff;
  --bs-orange: #fdd6c8;
  --bs-orange-100: #ef652a;
  --bs-primary-rgb: 110, 97, 243;
  --bs-secondary-rgb: 197, 197, 202;
  --bs-success-rgb: 34, 197, 94;
  --bs-info-rgb: 0, 255, 213;
  --bs-warning-rgb: 253, 181, 42;
  --bs-danger-rgb: 250, 91, 104;
  --bs-light-rgb: 250, 249, 255;
  --bs-lighter-rgb: 229, 231, 235;
  --bs-dark-rgb: 10, 20, 37;
  --bs-dark-blue-rgb: 8, 8, 41;
  --bs-darker-rgb: 10, 20, 37;
  --bs-white-rgb: 255, 255, 255;
  --bs-gray-rgb: 247, 248, 249;
  --bs-gray-50-rgb: 229, 231, 235;
  --bs-gray-100-rgb: 250, 249, 255;
  --bs-gray-200-rgb: 242, 248, 251;
  --bs-gray-300-rgb: 249, 247, 250;
  --bs-gray-400-rgb: 250, 249, 244;
  --bs-gray-500-rgb: 201, 201, 212;
  --bs-gray-600-rgb: 197, 197, 202;
  --bs-gray-700-rgb: 173, 181, 189;
  --bs-gray-800-rgb: 100, 114, 143;
  --bs-gray-900-rgb: 73, 80, 87;
  --bs-gray-1000-rgb: 43, 41, 44;
  --bs-gray-1100-rgb: 15, 15, 18;
  --bs-gray-1200-rgb: 10, 20, 37;
  --bs-gray-1300-rgb: 24, 25, 33;
  --bs-gray-1400-rgb: 35, 35, 64;
  --bs-red-rgb: 250, 91, 104;
  --bs-red-50-rgb: 254, 235, 237;
  --bs-yellow-rgb: 253, 181, 42;
  --bs-yellow-50-rgb: 254, 246, 234;
  --bs-yellow-100-rgb: 253, 234, 186;
  --bs-yellow-200-rgb: 255, 222, 112;
  --bs-green-rgb: 34, 197, 94;
  --bs-green-50-rgb: 233, 249, 239;
  --bs-green-100-rgb: 240, 246, 245;
  --bs-green-200-rgb: 220, 252, 231;
  --bs-green-300-rgb: 189, 229, 211;
  --bs-green-400-rgb: 69, 201, 193;
  --bs-green-500-rgb: 10, 207, 131;
  --bs-green-600-rgb: 84, 168, 199;
  --bs-green-700-rgb: 42, 157, 143;
  --bs-green-800-rgb: 7, 26, 23;
  --bs-blue-rgb: 0, 98, 255;
  --bs-blue-50-rgb: 244, 248, 255;
  --bs-blue-100-rgb: 235, 242, 255;
  --bs-blue-200-rgb: 243, 244, 255;
  --bs-blue-300-rgb: 234, 239, 255;
  --bs-blue-400-rgb: 231, 251, 255;
  --bs-blue-500-rgb: 232, 235, 255;
  --bs-blue-600-rgb: 249, 250, 255;
  --bs-blue-700-rgb: 195, 201, 241;
  --bs-blue-800-rgb: 100, 114, 185;
  --bs-blue-900-rgb: 140, 155, 255;
  --bs-blue-1000-rgb: 88, 155, 255;
  --bs-blue-1100-rgb: 101, 118, 255;
  --bs-blue-1200-rgb: 63, 120, 224;
  --bs-blue-1300-rgb: 99, 102, 241;
  --bs-blue-1400-rgb: 63, 83, 216;
  --bs-blue-1500-rgb: 43, 92, 253;
  --bs-blue-1600-rgb: 59, 52, 130;
  --bs-blue-1700-rgb: 23, 33, 102;
  --bs-blue-1800-rgb: 18, 37, 68;
  --bs-blue-1900-rgb: 20, 24, 52;
  --bs-blue-2000-rgb: 8, 8, 41;
  --bs-purple-rgb: 110, 97, 243;
  --bs-purple-50-rgb: 238, 236, 255;
  --bs-purple-100-rgb: 252, 239, 244;
  --bs-purple-200-rgb: 237, 235, 254;
  --bs-purple-300-rgb: 225, 203, 253;
  --bs-purple-400-rgb: 255, 200, 204;
  --bs-purple-500-rgb: 235, 124, 166;
  --bs-purple-600-rgb: 157, 144, 241;
  --bs-purple-700-rgb: 144, 151, 247;
  --bs-purple-800-rgb: 114, 94, 254;
  --bs-cyan-rgb: 0, 255, 213;
  --bs-cyan-50-rgb: 192, 242, 253;
  --bs-cyan-100-rgb: 151, 242, 255;
  --bs-cyan-200-rgb: 19, 213, 255;
  --bs-orange-rgb: 253, 214, 200;
  --bs-orange-100-rgb: 239, 101, 42;
  --bs-primary-text-emphasis: #2c2761;
  --bs-secondary-text-emphasis: #0a0a0d;
  --bs-success-text-emphasis: #0e4f26;
  --bs-info-text-emphasis: #006655;
  --bs-warning-text-emphasis: #654811;
  --bs-danger-text-emphasis: #64242a;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #e2dffd;
  --bs-secondary-bg-subtle: #d1d1d3;
  --bs-success-bg-subtle: #d3f3df;
  --bs-info-bg-subtle: #ccfff7;
  --bs-warning-bg-subtle: #fff0d4;
  --bs-danger-bg-subtle: #fedee1;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #c5c0fa;
  --bs-secondary-border-subtle: #a3a3a6;
  --bs-success-border-subtle: #a7e8bf;
  --bs-info-border-subtle: #99ffee;
  --bs-warning-border-subtle: #fee1aa;
  --bs-danger-border-subtle: #fdbdc3;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: "Plus Jakarta Sans", sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.4;
  --bs-body-color: #495057;
  --bs-body-color-rgb: 73, 80, 87;
  --bs-body-bg: #0f0f12;
  --bs-body-bg-rgb: 15, 15, 18;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: ;
  --bs-link-color: #6e61f3;
  --bs-link-color-rgb: 110, 97, 243;
  --bs-link-decoration: none;
  --bs-link-hover-color: #584ec2;
  --bs-link-hover-color-rgb: 88, 78, 194;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff0d4;
  --bs-border-width: 0px;
  --bs-border-style: solid;
  --bs-border-color: #2b292c;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.75rem;
  --bs-border-radius-xl: 1.5rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(110, 97, 243, 0.25);
  --bs-form-valid-color: #22c55e;
  --bs-form-valid-border-color: #22c55e;
  --bs-form-invalid-color: #fa5b68;
  --bs-form-invalid-border-color: #fa5b68;

  --bs-blue-600-rgb: 34, 35, 40;
  background-color: var(--bs-dark);
  color: var(--bs-light-text-emphasis);
}

/* DARK */


.is-dark  .bg-blue-600 {
  --bs-bg-opacity: 1;

  background-color: #f9faff !important;
  background-color: rgba(var(--bs-blue-600-rgb), var(--bs-bg-opacity)) !important;

}


body.is-dark{
  --bs-heading-color: white;
}

.is-dark h1, .is-dark .h1, .is-dark h2, .is-dark h3, .is-dark h4, .is-dark h5, .is-dark h6, .is-dark .h2, .is-dark .h3, .is-dark .h4, .is-dark .h5, .is-dark .h6 {
    color: #eaeff2;
}

.is-dark .nk-section-title {
    color: #eaeff2;
}

.is-dark .nk-section-text {
    color: #a8b0c3;
}

.is-dark .nk-section-subtitle { 
    color: #4f75e7;
}

.is-dark .text-primary {
    color: #4f75e7 !important;
}

.is-dark .text-bg-primary-soft {
    color: #4f75e7 !important;
    background-color: #1d2238 !important;
}

.is-dark .text-gray-800 {
    color: #a8b0c3 !important;
}

.is-dark .nk-pricing-s2 {
    background-color: #1f2128;
}

.is-dark .nk-footer {
    background-color: #1f2128;
}

.is-dark .nk-footer-info .title { 
    color: #eaeff2;
}

.is-dark .nk-footer-text {
    color: #eaeff2;
}

.is-dark body {
    color: #a8b0c3;
}

.is-dark .nk-footer-copyright-text {
    color: #888;
}

.is-dark .nk-footer-info ul li a {
    color: #a8b0c3;
}

body.is-dark {
  --bs-heading-color: #a8b0c3;
  --bs-white-rgb: 34, 35, 40;
  --bs-card-color: #343638;
}

.is-dark hr {
    border-top: 1px solid #4a4e55;
}

.is-dark .btn-light, .is-dark .btn-outline-light {
    color: #eaeff2;
}

.is-dark .bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.is-dark .nk-header-main.has-fixed {
    box-shadow: 4px 4px 36px 0px rgba(64, 64, 64, 0.16), -4px -4px 36px 0px rgba(64, 64, 64, 0.12) !important;
    background-color: #1f2128;
}

.is-dark .nk-header-main {
    background-color: #1f2128;
}

.is-dark .nk-header-main.has-separate {
    border-bottom: 1px solid #4a4e55;
}

.is-dark .nk-nav-link {
    color: #eaeff2;
}

.is-dark .nk-nav-sub {
    background-color: #1f2128;
}

.is-dark .nk-nav-sub .nk-nav-link {
    color: #eaeff2;
}

.is-dark .form-group .form-control-wrap input {
    border: 1px solid #4a4e55;
    border-radius: 0.5rem;
    background-color: transparent;
    color: white !important;
    background-color: #1f2128;
    border: 1px solid #4a4e55;
}

.is-dark .dark-mode-toggle {
    background-color: rgba(0,0,0,0);
    background: #4a4e55;
    color: white;
}

.is-dark .dark-mode-toggle {
    background-color: rgba(0,0,0,0);
    background: #4a4e55;
    color: white;
}
.is-dark .btn-outline-light {
    --bs-btn-color: #1f2128;
    --bs-btn-border-color: #1f2128;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1f2128;
    --bs-btn-hover-border-color: #1f2128;
    --bs-btn-focus-shadow-rgb: 34, 35, 40;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1f2128;
    --bs-btn-active-border-color: #1f2128;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #1f2128;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #1f2128;
    --bs-gradient: none;
}



/* light */ 




.download-link {width:220px;}


.logo-img {
    max-width: 150px;
}

.form-control
{
color: black !important;
}

.dark-mode-toggle {
    flex-shrink: 0;
    border: none;
    background-color: rgba(0,0,0,0);
    background: #eaebee;
    color: #293a51;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: 50%;
margin-top:0.25rem;
    height: 2rem;
    width: 2rem;
}

.nk-section-title, .btn , .nk-footer-info .title, .nk-footer-info ul li a,
.nk-footer-copyright li a{
text-transform: none;
}

.nk-footer-info .title {     font-size: 1rem; }
.nk-footer-info ul li a {font-size: 16px;}
.icon_ns {
    width: 20px;
    margin-left: 5px;
    margin-top: -2px;
}


.nk-nav-mega-qr {
	left: -100px !important;
	min-width: 170px !important;
}

 .accordion-s3 {
    border: 1px solid #e5e7eb;
    padding: 0px 1.875rem;
    border-radius: 0.5rem;
}

.accordion {
    --bs-accordion-color: #0a1425;
    --bs-accordion-bg: #fff;
    --bs-accordion-transition: 0.15s ease;
    --bs-accordion-border-color: #e5e7eb;
    --bs-accordion-border-width: 1px;
    --bs-accordion-border-radius: 0.5rem;
    --bs-accordion-inner-border-radius: subtract(0.5rem, 1px);
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: #0a1425;
    --bs-accordion-btn-bg: #fff;
     --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
   --bs-accordion-btn-focus-border-color: rgba(63, 120, 224, 0.65);
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: #3f78e0;
    --bs-accordion-active-bg: #e8effb;
}

.nk-nav-med .nk-nav-link {
  padding: 0.625rem;
  border-radius: 0.5rem;
}
 

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    line-height: 1.06 !important;
}


.icon_new {
    width: 25px; 
}

.nk-footer-brand-info p.info {
    font-size: 12px;
    line-height: 1.4;
}



.nk-footer-copyright-text , .nk-footer-copyright-text a , .nk-footer-copyright li a { 
    font-size: 15px !important; 
    color: gray;
}

  .nk-footer-text { 
    font-size: 15px !important;  
}

.nk-footer-top .nk-footer-content {
    padding: 2.75rem 0px;
}

/* apps */
.apps h6, .apps  .h6 {
    font-size: 1rem !important;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;


}

.apps .fs-16 {
    font-size: 14px !important;
}

.media-lgx {
    z-index: 1;
    width: 5.5rem;
    height: 5.5rem; 
}

.nk-lang
{
min-width: 157px !important;
}

.apps-search  {width:190px;}
.apps-search input {font-size: 0.8rem;}


.apps-download .btn{ 
   padding: 0.4rem 0.95rem !important;
}

.apps-search .form-control {
    padding: 0.5rem 0.35rem;
} 

.nk-header-main , .nk-header-main.has-fixed { padding: 0.2438rem 0px; }


.card {
    --bs-card-spacer-y: 1.875rem;
    --bs-card-spacer-x: 1.875rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: 1px;
    --bs-card-border-color: #e5e7eb;
    --bs-card-border-radius: 0.75rem;
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(0.5rem - 1px);
    --bs-card-cap-padding-y: 0.9375rem;
    --bs-card-cap-padding-x: 1.875rem;
    --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.9375rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: black;
    word-wrap: break-word; 
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
}
 

.nash-app {
    margin: 2px;
    border-radius: 2.8em;
    border-width: 0;
    box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);
  max-width:144px;
  max-height:144px;
  }
 

.nash-app:hover {
   
    box-shadow: 0 1px 2px 0 rgba(20, 30, 37, .15), 0 1px 3px 1px rgba(20, 30, 37, 0.25);
 

  }


 .nash-screen {
    max-width: 250px;
max-height: 250px;
   }

.app-info, .apps .swiper-slide {
border-radius: 0.5rem;
/* margin:-10px;*/
 padding:10px;
}


.app-info:hover , .apps .swiper-slide:hover {
  color: #2b5cfd;
  background-color: rgb(99 102 241 / 4%);
}


.apps0 .nk-pricing:hover {  background-color: rgb(99 102 241 / 4%);
    border-color: #2b5cfd; }



.cat-t .card:hover { background-color: #eaefff;
}


.cat-t .card:hover { background-color: #d4dcf5;
}


.media-lgxx {
    z-index: 1;
    width: 10rem;
    height: 10rem; 
}

.media-lgxxx {
    z-index: 1;
    width: 15rem;
    height: 15rem; 
}

.nk-nav-tabs ul, .nk-nav-tabs ol {
list-style: none;
 margin: 0; 
     padding: 0;
padding-left: 0px;
}

.text-yellow0 {
    color: #f9e0ae !important;
}

.w-35 {
  width: 35% !important;
}
.w-65 {
  width: 65% !important;
}

 .star {
            color:#fdb52a;
        }
.ava {margin-bottom:0px !important;}

.ao {overflow: visible;}

/*lang*/
.modal-lang .modal-content {
 
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.modal-lang .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    border-bottom: 1px solid #dee2e6;
}

.modal-lang .modal-header h5 {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0;
}

.modal-lang .modal-header .btn-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
}

.modal-lang .modal-body {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px 0;
}

.language-list .language-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 0 calc(33.333% - 10px);
    min-width: 100px;
    max-width: 150px;
    padding: 10px 15px; 
    border-color: #d1d5db!important;
    border-radius: 0.5rem;
    text-align: center;
    color: #495057;
    font-size: 1rem;
    font-weight: 500;
    text-transform: capitalize;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
    cursor: pointer;
}

.language-list .language-btn img {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border-radius: 50%;
}
.language-list .language-btn:hover {
    background-color: rgba(99, 102, 241, 0.1);
    color: #2b5cfd;
}
.language-list .btn-primary {
    background-color: rgba(223, 223, 255, 0.8) !important;

    color: #2b5cfd; 
    font-weight: bold;
}
.language-list .btn-outline-primary {
 
    border-color: #d1d5db;
    color: #0a1425;
}
.language-list .btn-outline-primary:hover {
   
    border-color: #2b5cfd;
    color: #2b5cfd;
}
.app_search{ margin:0px;}
@media (max-width: 1400px) {
    .show-1400 {
        display: none !important;
    }
}

.width-100 {max-width:100px !important;}
.wu,.form-res {display: none;}

/* === Login Modal (Modern Redesign) === */
.login-modal-card {
    border: none;
    border-radius: 1.25rem;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

/* Декоративный градиент сверху */
.login-modal-header-accent {
    height: 4px;
    background: linear-gradient(90deg, #2b5cfd 0%, #7c3aed 50%, #ec4899 100%);
    border-radius: 1.25rem 1.25rem 0 0;
}

/* Логотип в пузырьке */
.login-modal-logo-wrap {
    display: flex;
    justify-content: center;
}
.login-modal-logo-bubble {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(43,92,253,0.08) 0%, rgba(124,58,237,0.08) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}
.login-modal-logo-bubble:hover {
    transform: scale(1.05);
}
.login-modal-logo {
    opacity: 0.9;
    transition: opacity 0.2s;
}
.login-modal-logo:hover {
    opacity: 1;
}

/* Поля ввода — тонкие, с мягким фокусом */
.form-floating-modern .form-control {
    border: 1.5px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1rem 0.875rem 0.4rem 0.875rem;
    height: auto;
    background: #f8fafc;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.form-floating-modern .form-control:focus {
    border-color: #2b5cfd;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(43, 92, 253, 0.1);
}
.form-floating-modern .form-control::placeholder {
    color: #94a3b8;
}
.form-floating-modern label {
    color: #94a3b8;
    padding-left: 0.875rem;
    transition: color 0.2s;
}
.form-floating-modern .form-control:focus ~ label {
    color: #2b5cfd;
}

/* Кнопка входа */
.btn-login-modern {
    border: none;
    border-radius: 0.75rem;
    padding: 0.8rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #2b5cfd 0%, #6366f1 100%);
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(43, 92, 253, 0.25);
}
.btn-login-modern:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(43, 92, 253, 0.35);
    color: #fff;
}
.btn-login-modern:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(43, 92, 253, 0.2);
}
.btn-login-modern:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Соцсети — стилизованные кнопки */
.social-btn {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.875rem;
    transition: all 0.25s ease;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
}
.social-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    background: #fff;
    border-color: #cbd5e1;
}
.social-btn img {
    max-width: 28px;
    height: auto;
}

/* Разделитель соцсетей */
.social-divider {
    font-size: 0.8rem;
    position: relative;
}
.social-divider::before,
.social-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: calc(50% - 100px);
    height: 1px;
    background: #e2e8f0;
}
.social-divider::before { left: 0; }
.social-divider::after { right: 0; }

/* Ссылки в модалке */
.login-modal-link {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s;
}
.login-modal-link:hover {
    color: #2b5cfd;
}

/* === User Panel — smooth transition === */
#user-panel {
    transition: opacity 0.15s ease;
}
#user-panel .auth-btn {
    white-space: nowrap;
    padding: 0 0.75rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.8125rem;
    background: rgba(43, 92, 253, 0.1);
    color: #2b5cfd;
    border: 0px;
    transition: background 0.15s, box-shadow 0.15s;
}
#user-panel .auth-btn:hover {
    background: rgba(43, 92, 253, 0.15);
    color: #2b5cfd;
    box-shadow: 0 2px 8px rgba(43, 92, 253, 0.2);
}

/* === Copy Button — icon-only with feedback === */
.js-copy {
    min-width: 36px;
    min-height: 36px;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
}
.js-copy.is-copied {
    background: #10b981;
    border-color: #10b981;
    color: #fff;
}
.js-copy.is-copied .icon::before {
    content: '\ea52'; /* ni-check icon */
}

/* === Login Modal — error messages === */
#login-message.alert-danger {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    border-radius: 0.5rem;
}
#login-message.alert-info {
    background-color: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    border-radius: 0.5rem;
}

.res-message {font-weight: 500 !important; color: #64728f; text-align: center; font-size: 1.25rem;}

.fslightbox-source {     background-color: white; }

/* ===================================
   СЛАЙДЕР СКРИНШОТОВ - FIX
   =================================== */

/* Улучшение отображения скриншотов в слайдере */
.screenshot-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    cursor: zoom-in;
    transition: transform 0.2s ease;
}

.screenshot-img:hover {
    transform: scale(1.02);
}

/* Фикс для swiper слайдера скриншотов */
.swiper.nk-swiper {
    overflow: hidden;
    width: 100%;
}

.swiper.nk-swiper .swiper-wrapper {
    display: flex;
}

.swiper.nk-swiper .swiper-slide {
    height: auto;
    flex-shrink: 0;
}

/* Адаптивность для скриншотов */
@media (max-width: 768px) {
    .screenshot-img {
        max-height: 250px;
    }

    .nk-swiper .swiper-slide {
        margin-right: 8px !important;
    }
}

/* Улучшение пагинации слайдера */
.swiper-pagination-s1 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    margin-top: 1rem !important;
}

.swiper-pagination-s1 .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 4px;
    opacity: 0.5;
    background: #2b5cfd;
}

.swiper-pagination-s1 .swiper-pagination-bullet-active {
    opacity: 1;
    background: #2b5cfd;
}

/* Фикс для лайтбокса - полноэкранный режим */
.fslightbox-container {
    background: rgba(0, 0, 0, 0.9) !important;
}

.fslightbox-image {
    max-height: 90vh !important;
    max-width: 90vw !important;
    object-fit: contain;
}

/* Индикатор загрузки для скриншотов */
.screenshot-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    background: #f5f5f5;
    border-radius: 0.5rem;
}

body.is-dark .screenshot-loading {
    background: #1f2128;
}

@media screen and (max-width: 768px) {
    .hmob {
      display: none;
    }
    .nk-banner-wrap {
      padding-top: 80px !important;
      padding-bottom: 100px !important;
    }
    .nash-big-icon {
      width: 80px !important;
      height: 80px !important;
    }
    .nash-big-icon-bg {
      width: 80px !important;
      height: 80px !important;
    }
    .nk-banner h1 {
      font-size: 1.5rem !important;
    }
    .apps-download {
      width: 100% !important;
    }
  }



  .social_sign_in {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    justify-items: center;
    margin-top: 10px;
  }
  
  .social {
    display: inline-block;
    border-radius: 12px;
    background-color: #dfdfdf;
 
    padding: 10px; 


    transition: background-color 0.3s, box-shadow 0.3s;
  }
  
  .social img { 
    height: 30px;
    /*height: 52px;*/
    display: block;
    transition: filter 0.3s;
  }
  
  .social:hover {
    filter: brightness(0.85);
  }
  
  .social.vk { background-color: #0077FF; }
  .social.yandex { background-color: #fc3f1d; }
  .social.tinkoff { background-color: #303030; }
  .social.sber { background-color: #22a136; }
  .social.google { background-color: #f2f2f2; }
  
  .social-divider {
    font-size: 14px;
    color: #888;
    margin-bottom: 8px;
    position: relative;
  }

/* Изображения новостей и подборок - cropping по центру без искажений */
.news-item img,
.featuring-item img,
.selection-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
}

/* Универсальный класс для изображений с aspect ratio 16:9 */
.img-cover-16-9 {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;
}

.img-cover-16-9 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Изображения в карточках приложений */
.app-item img,
.app-item-feat img {
    width: 100%;
    height: auto;
    object-fit: contain;
}


/* ===================================
   ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ
   =================================== */

/* Lazy loading для изображений */
img.lazy {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

img.lazy.loaded {
  opacity: 1;
}

/* Placeholder для изображений */
img.lazy,
img[data-src] {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Предзагрузка критических изображений */
.link-prefetch:hover::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgcj0iOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMmI1Y2ZkIiBzdHJva2Utd2lkdGg9IjIiIG9wYWNpdHk9IjAuNSIvPjwvc3ZnPg==') no-repeat center;
  pointer-events: none;
}

/* Оптимизация анимаций */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Баннер-нотификация: Скачайте NashStore */
.nashstore-banner-notification {
  position: fixed;
  bottom: -100px;
  left: 0;
  right: 0;
  background: linear-gradient(135deg, #2b5cfd 0%, #1e40d4 100%);
  color: white;
  padding: 16px 24px;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  z-index: 9999;
  display: none;
  animation: slideUp 0.3s ease-out forwards;
}
.nashstore-banner-notification.show { bottom: 0; }
.nashstore-banner-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.nashstore-banner-text {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
}
.nashstore-banner-text .icon {
  font-size: 24px;
}
.nashstore-banner-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nashstore-banner-close {
  background: rgba(255,255,255,0.2);
  border: none;
  color: white;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.nashstore-banner-close:hover {
  background: rgba(255,255,255,0.3);
}
@keyframes slideUp {
  from { bottom: -100px; }
  to { bottom: 0; }
}
@media (max-width: 768px) {
  .nashstore-banner-content {
    flex-direction: column;
    gap: 12px;
  }
  .nashstore-banner-text {
    flex-direction: column;
    text-align: center;
  }
  .nashstore-banner-actions {
    width: 100%;
    justify-content: center;
  }
}

/* ===================================
   МОБИЛЬНАЯ ОПТИМИЗАЦИЯ
   =================================== */

/* Touch-friendly кнопки и ссылки */
@media (max-width: 768px) {
  /* Минимальный размер touch-целей 44x44px */
  a, button, .btn, input[type="submit"], input[type="button"] {
    min-height: 44px;
    min-width: 44px;
  }

  /* Увеличенные отступы для кнопок */
  .btn {
    padding: 0.75rem 1.5rem !important;
  }

  /* Оптимизация навигации */
  .nk-header-main {
    padding: 0.5rem 0 !important;
  }

  /* Крупные элементы управления */
  .dark-mode-toggle {
    width: 2.5rem;
    height: 2.5rem;
  }

  /* Увеличенные поля для форм */
  .form-control {
    font-size: 16px; /* Предотвращает zoom на iOS */
    padding: 0.75rem 1rem;
  }

  /* Оптимизация карточек приложений */
  .nash-app {
    max-width: 120px;
    max-height: 120px;
  }

  /* Слайдеры на всю ширину */
  .swiper-init {
    width: 100%;
  }

  /* Увеличенные интервалы для читаемости */
  p, li {
    line-height: 1.6;
    font-size: 1rem;
  }

  /* Заголовки */
  h1 { font-size: 1.75rem !important; }
  h2 { font-size: 1.5rem !important; }
  h3 { font-size: 1.25rem !important; }

  /* Отступы секций */
  .nk-section {
    padding: 2rem 1rem !important;
  }

  /* Карточки с тенью для глубины */
  .card {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }

  /* Липкий CTA внизу экрана */
  .mobile-sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    padding: 1rem;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 1000;
  }
}

/* Пейзажная ориентация */
@media (max-width: 896px) and (orientation: landscape) {
  .nk-banner {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* Скрываем не критичный контент */
  .hide-on-landscape {
    display: none !important;
  }
}

/* Большие телефоны (phablets) */
@media (min-width: 576px) and (max-width: 767px) {
  .container {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Оптимизация для iPhone */
@supports (-webkit-touch-callout: none) {
  /* iOS specific fixes */
  .nk-header-main {
    position: -webkit-sticky;
    position: sticky;
  }

  /* Предотвращение случайного зума */
  input, select, textarea {
    font-size: 16px !important;
  }
}

/* Android Chrome */
@supports (-moz-appearance: none) {
  /* Android specific fixes */
  .btn {
    -webkit-tap-highlight-color: transparent;
  }
}

/* Темы для мобильных */
@media (max-width: 768px) {
  body.is-dark {
    /* Более тёмная тема для AMOLED экранов */
    --bs-body-bg: #000000;
    --bs-dark: #000000;
  }
}

/* ===================================
   КРАСОТА И UX (UI/UX IMPROVEMENTS)
   =================================== */

/* Плавные переходы для всех интерактивных элементов */
a, button, .btn, .card, .app-item, .nash-app {
  transition: all 0.2s ease-in-out;
}

/* Эффект наведения на карточки приложений */
.app-item:hover,
.nash-app:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

/* Градиентные акценты для CTA кнопок */
.btn-primary {
  background: linear-gradient(135deg, #2b5cfd 0%, #6e61f3 100%);
  border: none;
  position: relative;
  overflow: hidden;
}

.btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}

.btn-primary:hover::before {
  left: 100%;
}

/* Анимация появления контента */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.6s ease-out;
}

/* Задержка анимации для элементов списка */
.fade-in-up:nth-child(1) { animation-delay: 0.1s; }
.fade-in-up:nth-child(2) { animation-delay: 0.2s; }
.fade-in-up:nth-child(3) { animation-delay: 0.3s; }
.fade-in-up:nth-child(4) { animation-delay: 0.4s; }
.fade-in-up:nth-child(5) { animation-delay: 0.5s; }

/* Улучшенные бейджи и метки */
.badge {
  padding: 0.35rem 0.75rem;
  border-radius: 2rem;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Бейдж "Новое" */
.badge-new {
  background: linear-gradient(135deg, #22c55e 0%, #0acf83 100%);
  color: white;
  animation: pulse 2s infinite;
}

/* Бейдж "Хит" */
.badge-hot {
  background: linear-gradient(135deg, #fa5b68 0%, #ef652a 100%);
  color: white;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* Улучшенная типографика */
.text-gradient {
  background: linear-gradient(135deg, #2b5cfd 0%, #6e61f3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Карточки с эффектом стекла */
.glass-card {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

body.is-dark .glass-card {
  background: rgba(31, 33, 40, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Разделители с градиентом */
.divider-gradient {
  height: 2px;
  background: linear-gradient(90deg, transparent, #2b5cfd, transparent);
  border: none;
  margin: 2rem 0;
}

/* Улучшенные тени для глубины */
.shadow-elevation-1 {
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.shadow-elevation-2 {
  box-shadow: 0 3px 6px rgba(0,0,0,0.15), 0 2px 4px rgba(0,0,0,0.12);
}

.shadow-elevation-3 {
  box-shadow: 0 10px 20px rgba(0,0,0,0.15), 0 3px 6px rgba(0,0,0,0.1);
}

/* Анимация загрузки скелетон */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 0.5rem;
}

body.is-dark .skeleton {
  background: linear-gradient(90deg, #1f2128 25%, #2a2d35 50%, #1f2128 75%);
}

/* Улучшенные формы ввода */
.form-control:focus {
  border-color: #2b5cfd;
  box-shadow: 0 0 0 3px rgba(43, 92, 253, 0.15);
}

/* Визуальная обратная связь для кнопок */
.btn:active {
  transform: scale(0.98);
}

/* Улучшенная навигация с индикатором активной страницы */
.nk-nav-link.active {
  position: relative;
}

.nk-nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 3px;
  background: #2b5cfd;
  border-radius: 2px;
}

/* Scrollbar кастомизация */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

body.is-dark ::-webkit-scrollbar-track {
  background: #1f2128;
}

body.is-dark ::-webkit-scrollbar-thumb {
  background: #4a4e55;
}

body.is-dark ::-webkit-scrollbar-thumb:hover {
  background: #5a5e65;
}

/* Улучшенные карточки с hover-эффектом */
.card-hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

/* Индикаторы загрузки */
.spinner-gradient {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(43, 92, 253, 0.2);
  border-top-color: #2b5cfd;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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

/* Улучшенные изображения с рамкой */
.img-rounded-xl {
  border-radius: 1rem;
  overflow: hidden;
}

/* Эффект свечения для важных элементов */
.glow-effect {
  box-shadow: 0 0 20px rgba(43, 92, 253, 0.4);
}

.glow-effect:hover {
  box-shadow: 0 0 30px rgba(43, 92, 253, 0.6);
}

/* CTA Block: Скачать NashStore с QR */
.nk-cta-download {
  position: relative;
  overflow: hidden;
}

.nk-cta-download::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(43, 92, 253, 0.1) 0%, transparent 70%);
  animation: pulse-bg 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes pulse-bg {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.8;
  }
}

.nk-cta-download .btn-primary {
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
}

.nk-cta-download .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(43, 92, 253, 0.4);
}

.nk-cta-download .bg-white {
  position: relative;
  z-index: 1;
}

.nk-cta-download img {
  transition: transform 0.3s ease;
}

.nk-cta-download img:hover {
  transform: scale(1.05);
}

/* Адаптивность для CTA блока */
@media (max-width: 991.98px) {
  .nk-cta-download .text-lg-start {
    text-align: center !important;
  }
  .nk-cta-download .justify-content-lg-start {
    justify-content: center !important;
  }
}

/* Bottom Banner: Скачать NashStore */
.download-banner {
  position: fixed;
  bottom: -100%;
  left: 0;
  right: 0;
  background: linear-gradient(135deg, #2b5cfd 0%, #1e40d4 100%);
  color: white;
  padding: 1rem 0;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.download-banner.show {
  bottom: 0;
}

.download-banner .banner-app-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: white;
  padding: 4px;
}

.download-banner h5 {
  color: white !important;
  font-size: 1rem;
}

.download-banner .btn-primary {
  background: white;
  color: #2b5cfd;
  border: none;
  font-weight: 600;
  transition: all 0.3s ease;
}

.download-banner .btn-primary:hover {
  background: #f0f0f0;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.download-banner .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.5);
  color: white;
}

.download-banner .btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: white;
}

.download-banner .text-muted {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* Адаптивность для баннера */
@media (max-width: 767.98px) {
  .download-banner .banner-app-icon {
    width: 40px;
    height: 40px;
  }

  .download-banner h5 {
    font-size: 0.9rem;
  }

  .download-banner p {
    font-size: 0.75rem !important;
  }

  .download-banner .btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
  }

  .download-banner .gap-3 {
    gap: 0.75rem !important;
  }
}

/* Footer social links */
.nk-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nk-footer-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(43, 92, 253, 0.1);
  transition: all 0.3s ease;
}

.nk-footer-social-link:hover {
  background: rgba(43, 92, 253, 0.25);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(43, 92, 253, 0.2);
}

.nk-footer-social-link img {
  transition: transform 0.3s ease;
}

.nk-footer-social-link:hover img {
  transform: scale(1.1);
}

/* Home page layout - moved from inline styles */
.ns-grid-container {
    padding: 0 10px;
    padding-top: 70px;
}

.ns-banner-offset {
    margin-top: -170px;
}

@media (max-width: 768px) {
    .ns-banner-offset {
        margin-top: -80px;
    }
    .ns-grid-container {
        padding-top: 40px;
    }
}

/* ============================================================================
 * FIXES (round 2): улучшение контраста и читаемости
 * См. REPORT.md → раздел "Стили и оформление"
 * ============================================================================ */

/* /devs banner — повышаем контраст заголовка и подзаголовка
   Раньше: светлый текст на светлом фоне (issue: hero contrast). */
.nk-banner.nk-banner-codebase h1,
.nk-banner.nk-banner-codebase .display-6 {
    color: #0d1b2a !important;
    text-shadow: 0 1px 2px rgba(255,255,255,0.45);
    font-weight: 700;
}
.nk-banner.nk-banner-codebase .nk-section-subtitle {
    color: #1d4ed8 !important;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.nk-banner.nk-banner-codebase p {
    color: #1f2937 !important;
}

/* Кнопки в hero /devs — гарантируем видимость на любом фоне */
.nk-banner.nk-banner-codebase .btn.btn-dark {
    background-color: #0d1b2a !important;
    border-color: #0d1b2a !important;
    color: #ffffff !important;
}
.nk-banner.nk-banner-codebase .btn.btn-outline-dark {
    color: #0d1b2a !important;
    border-color: #0d1b2a !important;
    background: transparent;
}
.nk-banner.nk-banner-codebase .btn.btn-outline-dark:hover {
    background-color: #0d1b2a !important;
    color: #ffffff !important;
}

/* Заглушка для битых обложек новостей и приложений */
.nk-news-img.is-broken,
img.is-broken,
.nk-cover-fallback {
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    min-height: 160px;
    border-radius: 8px;
}

/* Фикс пустого hero на главной (когда .home_hero фон не загрузился) */
.nk-banner-home {
    background-color: #f8fafc;
    min-height: 480px;
}
.nk-banner-home h1 {
    color: #0d1b2a !important;
}
.nk-banner-home p {
    color: #334155 !important;
}

/* R9: убрано глобальное min-height: 60vh на .nk-section-text — било по всем страницам
   (/news, /news/store/3, /about, /contacts, /download, /search) и оставляло пустую дыру ~540px в hero.
   Для auth-страниц (если была задумка) лучше использовать отдельный класс на layout, а не информационный <p>. */
.is-auth-page main.nk-pages .nk-section-text {
    min-height: 60vh;
}

/* Подписи "(0)" к категориям — приглушенный цвет, чтобы пустые не отвлекали */
.nk-category-card .nk-category-count[data-count="0"],
.nk-category-card .nk-category-count.is-zero {
    color: #94a3b8;
    opacity: 0.7;
}

/* Поиск — пустые результаты visual */
.nk-search-empty {
    text-align: center;
    padding: 60px 20px;
    color: #64748b;
}
.nk-search-empty h3 {
    margin-bottom: 12px;
    color: #0f172a;
}

/* ============================================================================
 * FIXES (round 3): аудит nsbeta.ru — фиксы дизайна и оформления
 * ============================================================================ */

/* Раунд 3 #6: dropdown nav-link — мельче размер */
.dropdown-menu .nk-nav-link,
.nk-nav-sub .nk-nav-link,
.dropdown-menu li > a,
.nk-nav-sub li > a {
    font-size: 14px !important;
}

/* Раунд 3 #9: /games/categories — иконки приложений и категорий должны быть квадратами */
.cat-t .nk-frame,
.cat-t .app-info img,
.cat-t .nash-app,
.nk-section-categories .nash-app,
.nk-section-categories .nk-frame img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
}
.cat-t .col-12.col-md-4.col-xl-2 a > img,
.cat-t .col-xl-2 img.rounded-2 {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    max-width: 288px;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto;
    display: block;
}

/* Раунд 3 #9: счётчик "(0)" в категориях — приглушённый, чтобы пустые категории не отвлекали */
.cat-t .btn-link {
    color: #1d4ed8;
}
.cat-t .btn-link[href]:has(+ * .text-muted) {
    opacity: 0.6;
}

/* Раунд 4 #10: страница приложения — кнопка "Скопировать" — ТОЛЬКО ИКОНКА */
.app-copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #1d4ed8;
    cursor: pointer;
    transition: all .2s ease;
    flex-shrink: 0;
}
.app-copy-btn:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.app-copy-btn em.icon {
    font-size: 16px;
    color: #1d4ed8;
    line-height: 1;
}
.app-copy-btn.is-copied {
    background: #dcfce7;
    border-color: #86efac;
}
.app-copy-btn.is-copied em.icon {
    color: #15803d;
}

/* Раунд 6: мягкие синие кнопки — без бордера, более жирный текст */
.app-report-btn,
.btn.text-bg-primary-soft {
    background-color: #dbeafe !important;
    border: 0 !important;
    color: #1d4ed8 !important;
    padding: 10px 16px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
}
.app-report-btn:hover,
.btn.text-bg-primary-soft:hover {
    background-color: #bfdbfe !important;
    color: #1e40af !important;
}

/* Раунд 6: кнопка "Войти" — размер как у кнопки выбора языка */
.auth-btn {
    padding: 0.4rem 0.95rem !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    font-weight: 500;
    border-radius: 8px;
    height: auto;
    display: inline-flex;
    align-items: center;
}
.auth-btn .icon {
    font-size: 16px;
    line-height: 1;
}

/* Раунд 6: иконки приложений — квадрат 1:1, фиксированный размер */
.nash-app {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    max-width: 144px !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 22% !important;
}

/* Скрины: не плющить — фиксированное соотношение 9:16, object-fit:cover */
.nash-screen {
    aspect-ratio: 9 / 16 !important;
    width: 100% !important;
    max-width: 220px !important;
    height: auto !important;
    object-fit: cover !important;
    background-color: #f3f4f6;
}
.nash-screen.large-slide,
.swiper-slide.large-slide .nash-screen,
.swiper-slide.large-slide .screenshot-img {
    aspect-ratio: 16 / 9 !important;
    max-width: 100% !important;
}
.screenshot-img {
    aspect-ratio: 9 / 16;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    background-color: #f3f4f6;
}

/* Раунд 6: блок "Другие подборки" — если пусто, не показывать */
.featuring-widget-empty,
.featuring-list:empty,
.nk-section-featuring:has(.row.gy-5:empty),
.featuring-widget-row:empty {
    display: none !important;
}

/* Раунд 3 #11: кнопка "Скрыть разрешения" в релизах */
.release-permissions-list.is-hidden {
    display: none;
}
.toggle-perm {
    margin-top: 8px;
}

/* Раунд 3 #15: правый блок в /news/* — если пуст, скрываем */
.news-sidebar:empty,
.nk-side-empty,
.nk-news-sidebar:empty {
    display: none !important;
}

/* Раунд 6: AOS — НИКОГДА не скрываем контент через opacity:0.
   Элементы [data-aos] всегда видимы. Анимация (если AOS отработает) — только лёгкий transform.
   Это гарантирует что страница не "прыгает" и не остаётся пустой если AOS не инициализирован,
   медленно стартует, или его JS вообще не загрузился. */
[data-aos] {
    opacity: 1 !important;
    visibility: visible !important;
}
[data-aos]:not(.aos-animate) {
    transform: none !important;
}
[data-aos].aos-init {
    transition: transform .35s ease;
}
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
    }
}
/* Reservируем высоту блоков чтобы избежать layout-shift */
.nk-section-apps-list,
.nk-section-trending,
.nk-section-popular {
    min-height: 320px;
}

/* Раунд 3 #1: главная — первые 2 экрана hero и steps должны быть видимы СРАЗУ (без ждания AOS) */
.nk-pages > .nk-banner:nth-of-type(-n+3),
.nk-pages > .nk-frame:nth-of-type(-n+2),
.nk-pages section.nk-banner:nth-of-type(-n+3),
main.nk-pages > section:nth-of-type(-n+3),
.nk-banner-home,
.nk-section-banner,
.nk-section-steps,
.nk-banner.nk-banner-codebase,
.nk-banner-content.home-codebase {
    opacity: 1 !important;
    visibility: visible !important;
    display: block;
}
.nk-pages > .nk-banner:nth-of-type(-n+3) [data-aos],
main.nk-pages > section:nth-of-type(-n+3) [data-aos],
.nk-banner-home [data-aos],
.nk-section-banner [data-aos],
.nk-section-steps [data-aos],
.home-codebase [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}
/* Принудительно видимый hero */
.nk-banner-content {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Раунд 3 #22: broken section-cover изображения — скрываем и рисуем градиентный fallback */
img[alt="section-cover"],
img[alt="section-cover-children"],
img[alt="cover-frame-children"] {
    background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 50%, #ddd6fe 100%);
    border-radius: 16px;
    min-height: 200px;
    object-fit: contain;
}
img[alt="section-cover"]:not([src]),
img[alt="section-cover"][src=""] {
    display: block;
    width: 100%;
    height: 300px;
}

/* Раунд 3 #1: список приложений на главной — обрыв исправлен через сетку */
.nk-section-apps-grid .row {
    align-items: stretch;
}
.nk-section-apps-grid .app-info {
    display: flex;
    flex-direction: column;
}

/* Раунд 3 #14: рейтинг в карточке dev-страницы должен быть виден */
.nk-dev-apps .app-info .rating,
.nk-dev-apps .nk-app-rating {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    font-size: 13px;
}

/* Раунд 3 #2: непереведённые ключи [static.xxx] не показывать как сырой текст */
[data-i18n-fallback] {
    display: inline-block;
}

/* === Раунд 3 #17 — /enterprise: фикс контраста текста на тёмном фоне === */
.nk-banner-enterprise,
.nk-banner-enterprise * {
    color: #f3f4f6 !important;
}
.nk-banner-enterprise .text-muted,
.nk-banner-enterprise p,
.nk-banner-enterprise small {
    color: #d1d5db !important;
}
.nk-banner-enterprise h1,
.nk-banner-enterprise h2,
.nk-banner-enterprise h3 {
    color: #ffffff !important;
}
/* Универсальный фикс: тёмный фон + темный текст в хедерах */
[class*="bg-dark"] .text-muted,
[class*="bg-purple"] .text-muted,
[style*="background"][style*="#1a"]  .text-muted {
    color: #cbd5e1 !important;
}

/* === Раунд 3 #16 — /download: контраст subtitle === */
.nk-banner-download .text-muted,
.nk-banner-download p {
    color: #4b5563 !important;
}

/* === Раунд 3 #7,8: /devs, /about, /privacy — пустые страницы. Минимальный fallback fillet === */
.nk-pages:empty::after,
main.nk-pages:not(:has(section)):not(:has(.nk-banner))::after {
    content: "Загрузка содержимого…";
    display: block;
    text-align: center;
    padding: 80px 20px;
    color: #6b7280;
    font-size: 18px;
}

/* === Раунд 3 #13 — /news: карточки новостей без обложек — добавляем плейсхолдер === */
.news-thumb img:not([src]),
.news-thumb img[src=""],
.nk-news-thumb img:not([src]),
.nk-news-thumb img[src=""] {
    display: block;
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, #ddd6fe, #c7d2fe);
    border-radius: 8px;
}

/* === Раунд 3 — модал входа: гарантия видимости === */
.login-modal-modern.modal.show {
    display: block !important;
}
.login-modal-modern .modal-dialog {
    margin-top: 5vh;
}
.login-modal-card {
    border-radius: 16px;
    overflow: hidden;
}
.login-modal-header-accent {
    height: 6px;
    background: linear-gradient(90deg, #8b5cf6, #ec4899, #3b82f6);
}

/* === Раунд 3 #4 — search placeholder в header сейчас всегда RU из-за неперевода === */
/* Фикс — после правки переводов уже работает, но добавим стиль search input */
.app_search .form-control[placeholder]:lang(ar) {
    text-align: right;
}

/* === Enterprise: форма поверх SVG-декора === */
.nk-banner-form-wrap {
    position: relative;
    z-index: 5;
}
.nk-form-card {
    position: relative;
    z-index: 5;
}

/* === Раунд 4 #1: фикс пустого hero на главной =================
 * Корневая причина: пустой #grid-container-ns не имеет высоты,
 * а следующая секция .ns-banner-offset имеет margin-top: -170px,
 * поэтому hero визуально перекрывается. Добавляем min-height
 * к контейнеру и убираем отрицательный margin когда контейнер пуст.
 */
#grid-container-ns,
.ns-grid-container {
    min-height: 1px;
}
.ns-grid-container:empty {
    display: none;
}
.ns-grid-container:empty + .ns-banner-offset,
.ns-banner-offset {
    margin-top: 60px !important;
}
@media (max-width: 768px) {
    .ns-banner-offset {
        margin-top: 30px !important;
    }
}
/* Гарантируем видимость hero-контента */
#grid-container-next,
#grid-container-next .nk-banner-content,
#grid-container-next .nk-banner-content.home-codebase {
    opacity: 1 !important;
    visibility: visible !important;
    display: block;
    position: relative;
    z-index: 2;
}
#grid-container-next .nk-banner-content > * {
    opacity: 1 !important;
    transform: none !important;
}
#grid-container-next h1,
#grid-container-next .display-6 {
    position: relative;
    z-index: 3;
}
#grid-container-next .d-flex.gap-3 {
    position: relative;
    z-index: 3;
}
/* === Раунд 7 (баг #1, #5): убираем огромный пустой gap между hero/launcher и блоком stats =================
 * Раньше: inline margin-bottom: 70px + дубль pt-5 pt-lg-6 + nk-feature-abouts.pb-7 pb-lg-120 давали ~500px пустоты.
 * Теперь: nk-banner-launcher имеет умеренные верхний/нижний паддинги и не накладывается на стартовую секцию.
 */
.nk-banner-launcher {
    padding-top: 12px;
    padding-bottom: 24px;
    margin-bottom: 24px;
}
.nk-banner-launcher .nk-r {
    text-align: center;
}
.nk-banner-launcher .nk-banner-d {
    text-align: center;
}
@media (min-width: 992px) {
    .nk-banner-launcher .nk-r { text-align: right; }
    .nk-banner-launcher .nk-banner-d { text-align: left; }
}
.nk-banner-launcher + .nk-section.nk-feature-abouts {
    padding-top: 32px;
}
.nk-banner-launcher .nk-banner-notice {
    margin-top: 8px;
    padding-top: 0;
}
.nk-banner-launcher .nk-banner-notice .nk-section-text {
    line-height: 1.5;
    font-size: 16px;
    margin: 0;
}

/* === Раунд 7 (баг #14): /services и /service/* — слишком большие отступы =================== */
.nk-section-services-detail,
.nk-section-services {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}
.nk-section-services-detail .container,
.nk-section-services .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
@media (max-width: 768px) {
    .nk-section-services-detail,
    .nk-section-services {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }
}

/* === Раунд 7 (баг #10): кнопка Войти — стиль как у языка (transparent + dark text) ====== */
.nk-header .btn-login,
.nk-header a[href*="sign_in"],
.nk-header a[href*="/login"] {
    background: transparent !important;
    color: var(--bs-primary, #1B56D4) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
}
.nk-header .btn-login:hover,
.nk-header a[href*="sign_in"]:hover,
.nk-header a[href*="/login"]:hover {
    background: rgba(0,0,0,0.04) !important;
    color: var(--bs-primary, #1B56D4) !important;
}

/* === Раунд 7 (баг #9): хедер на планшетах — кнопки на одной строке, без переноса ===== */
@media (max-width: 991px) {
    .nk-header .nk-header-tools {
        flex-wrap: nowrap;
        gap: 8px;
    }
    .nk-header .nk-header-tools > * {
        flex-shrink: 0;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .nk-header .nk-header-tools {
        white-space: nowrap;
    }
    .nk-header .nk-header-tools .btn-login,
    .nk-header .nk-header-tools .lang-switcher {
        font-size: 14px;
        padding: 6px 12px;
    }
}

/* === Раунд 7 (баг #11): форма входа — расширяем до читаемой ширины и логотип отображаем === */
.login-form-wrap,
.nk-login-form,
.nk-auth-card {
    min-width: 360px;
    max-width: 480px;
    margin: 0 auto;
}
@media (max-width: 480px) {
    .login-form-wrap,
    .nk-login-form,
    .nk-auth-card {
        min-width: 0;
        width: 100%;
    }
}
.nk-login-form img.login-logo,
.nk-auth-card img.login-logo,
.nk-login-form .auth-logo img {
    display: block !important;
    max-width: 96px;
    height: auto;
    margin: 0 auto 16px;
}

/* === Раунд 7 (баг #12): /news/store/N — увеличиваем мелкие лого/иконки в новостях === */
.nk-section-blog-content .nk-entry img[alt*="logo"],
.nk-section-blog-content .nk-entry img[width="40"],
.nk-section-blog-content .nk-entry img[width="48"],
.nk-section-blog-content .nk-entry img[width="56"] {
    min-width: 64px;
    width: auto;
    height: auto;
    max-height: 96px;
}

/* === Раунд 8 (BUG-24): /devs — скрываем admin dropdowns/edit-widgets,
       которые могут быть инжектированы внешними расширениями или
       admin-bar'ами. Защитный CSS для непривилегированных пользователей. === */
body:not(.is-admin-authenticated) [data-admin-widget],
body:not(.is-admin-authenticated) .admin-edit-dropdown,
body:not(.is-admin-authenticated) .nk-admin-floating,
body:not(.is-admin-authenticated) [data-role="admin-edit"],
body:not(.is-admin-authenticated) .admin-context-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* === Раунд 8 (BUG-19/20): EN/DE — placeholder и UI-строки на русском === */
/* Этот fix выполнен на уровне templates/components/header.html, см. ниже. */

/* ============================================================================
 * AUDIT nsbeta: дизайн-фиксы (#449–#502)
 * ============================================================================ */

/* #462: Hero CTA кнопки — одинаковый визуальный вес */
.home-codebase .btn-primary,
.home-codebase .btn-outline-primary {
    font-weight: 600;
    padding: 0.75rem 2rem;
    border-radius: 0.625rem;
}
.home-codebase .btn-outline-primary {
    border-width: 2px;
}

/* #467: text-transform: none уже глобально, доп. для breadcrumb */
.page-header .breadcrumb-eyebrow,
.nk-section-subtitle {
    text-transform: none !important;
}

/* #470: карточки приложений одной высоты */
.apps .app-info {
    min-height: 220px;
}
.apps .app-info img.nash-app {
    width: 100% !important;
    max-width: 144px !important;
    aspect-ratio: 1 / 1;
}

/* #475: App шапка — уменьшить высоту */
.app-header-wrap {
    padding-top: 24px !important;
    padding-bottom: 16px !important;
}
.app-header-wrap .media-lgxxx {
    width: 8rem;
    height: 8rem;
}

/* #478: активный таб — усиленный акцент */
.nav-tabs .nav-link.active,
.nk-nav-tabs .nav-link.active {
    border-bottom-width: 3px !important;
    border-bottom-color: var(--bs-primary, #2b5cfd) !important;
    font-weight: 600;
}

/* #479: полузвезда рейтинга */
.rating-stars .star-half {
    position: relative;
    display: inline-block;
    color: #e5e7eb;
}
.rating-stars .star-half::before {
    content: '\2605';
    position: absolute;
    left: 0;
    overflow: hidden;
    color: #fdb52a;
}

/* #480: аватары отзывов — нормальный placeholder */
.review-card .avatar img,
.review-avatar img {
    background-color: #e5e7eb;
    border-radius: 50%;
}
.review-card .avatar img[src=""],
.review-card .avatar img:not([src]) {
    background: linear-gradient(135deg, #dbeafe, #e0e7ff);
}

/* #481: кнопки лайк/дизлайк — уменьшить */
.review-card .reactions button,
.review-actions button {
    font-size: 13px;
    padding: 4px 10px;
    min-width: auto;
}

/* #482: бейдж версии — нормальный регистр */
.release-card .release-badge,
.release-badge {
    text-transform: none !important;
}

/* #484: зелёная галочка — aria-label уже есть в шаблоне, добавим тултип стиль */
.verified-icon,
.ni-check-circle-fill[title] {
    cursor: help;
}

/* #485: Enterprise hero — разный вес CTA */
.nk-banner-enterprise .btn-primary {
    font-weight: 700;
}
.nk-banner-enterprise .btn-outline-light,
.nk-banner-enterprise a[href^="mailto"] {
    font-weight: 400;
    opacity: 0.85;
}

/* #486: Enterprise submit — не full-width */
.enterprise-form button[type="submit"],
.feedback-form button[type="submit"] {
    max-width: 280px;
}

/* #487: партнёрские лого — единая высота */
.partners-row img,
.nk-partners img,
.partner-logo {
    height: 40px;
    width: auto;
    object-fit: contain;
    border-radius: 8px;
}

/* #489: контакты — иконки все filled */
.contact-card .card-icon .icon,
.nk-section .media .icon {
    font-weight: 900;
}

/* #492: секции — единая spacing-шкала */
.nk-section {
    padding-top: 48px;
    padding-bottom: 48px;
}
@media (min-width: 992px) {
    .nk-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
}

/* #499: a11y — декоративные img с пустым alt */
img[alt="section-cover"],
img[alt="section-cover-children"] {
    aria-hidden: true;
}

/* #500: хедер адаптивность — поле поиска не обрезается */
@media (max-width: 1200px) {
    .apps-search {
        width: 160px;
    }
    .apps-search input {
        font-size: 0.75rem;
    }
}
@media (max-width: 991px) {
    .apps-search {
        display: none !important;
    }
}

/* #501: кнопка «вверх» не перекрывает карточки */
.scroll-to-top,
.nk-scroll-top {
    right: 16px !important;
    bottom: 80px !important;
    z-index: 99;
}
@media (max-width: 768px) {
    .scroll-to-top,
    .nk-scroll-top {
        right: 12px !important;
        bottom: 70px !important;
        width: 36px !important;
        height: 36px !important;
    }
}

/* ============================================================================
 * AUDIT nsbeta: дизайн-фиксы batch2 (#449–#502)
 * ============================================================================ */

/* #449: Активный пункт меню на вложенных страницах */
.nk-nav > .nk-nav-item.current-page > .nk-nav-link > .nk-nav-text {
    color: var(--bs-primary, #2b5cfd);
    font-weight: 600;
}
.nk-nav > .nk-nav-item.current-page > .nk-nav-link::after {
    display: none !important;
}
.nk-nav > .nk-nav-item.current-page > .nk-nav-link {
    position: relative;
}

/* #457: Хедер поиск — увеличить ширину на десктопе */
@media (min-width: 1201px) {
    .nk-header-action .apps-search {
        width: 280px;
    }
    .nk-header-action .apps-search input {
        font-size: 0.875rem;
    }
}

/* #458: Кнопки «Скачать» и «Войти» — согласованные стили */
.nk-header-action .auth-btn {
    font-size: 0.8125rem;
    padding: 0.5rem 1.25rem;
    border-radius: 0.5rem;
}
.nk-header-action .apps-download > .btn-primary {
    font-size: 0.8125rem;
    padding: 0.5rem 1.25rem;
    border-radius: 0.5rem;
}

/* #466: QR-карточка — согласованный стиль */
.nk-cta-download .bg-white {
    border: 1px solid rgba(0,0,0,0.08);
}
.nk-nav-mega-qr img {
    border-radius: 8px;
}

/* #468: Чипы-фильтры — увеличить gap между рядами */
.nk-section-head .nav-btn-group + .nav-btn-group {
    margin-top: 16px !important;
    padding-top: 12px;
    border-top: 1px solid rgba(0,0,0,0.06);
}
.nav-btn-group {
    gap: 8px !important;
}

/* #469: Дублирующая строка поиска /android — убрать лишний воздух */
.nk-filter-wrap {
    padding-top: 0;
    padding-bottom: 0;
}
.nk-section-pricing + .nk-section-pricing {
    padding-top: 0 !important;
}

/* #483: Dev шапка-баннер — центрировать контент */
.nk-banner-shop .nk-banner-wrap {
    max-width: 100%;
}
.nk-banner-shop .nk-banner-content {
    max-width: 800px;
    margin: 0 auto;
}

/* #476: Кнопка «...» — увеличить кликабельную зону */
.app-report-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* #477: Метаполоса — иконки все filled */
.nk-banner-career-job-details .text-primary .icon {
    font-weight: 900;
}

/* #491: CSS custom properties — системная палитра */
:root {
    --ns-primary: #2b5cfd;
    --ns-primary-soft: #e8eeff;
    --ns-accent: #6366f1;
    --ns-neutral-50: #f9fafb;
    --ns-neutral-100: #f3f4f6;
    --ns-neutral-200: #e5e7eb;
    --ns-neutral-300: #d1d5db;
    --ns-neutral-500: #6b7280;
    --ns-neutral-700: #374151;
    --ns-neutral-900: #111827;
    --ns-success: #10b981;
    --ns-warning: #f59e0b;
    --ns-danger: #ef4444;
}

/* #493: Типографическая иерархия — modular scale */
h1, .display-6 { font-size: clamp(1.75rem, 3vw + 0.5rem, 3rem); }
h2 { font-size: clamp(1.5rem, 2vw + 0.5rem, 2.25rem); }
h3 { font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.75rem); }
h4 { font-size: clamp(1.125rem, 1vw + 0.5rem, 1.5rem); }
.nk-section-title {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* #456: Соцсети в одну линию на мобильных */

/* #473: Топ badge — compact badge рядом с иконкой */
.app-number {
    font-size: 1rem !important;
}

/* #474: Топ — согласованные стили контролов */
#top-filter-form .form-select {
    border-radius: 2rem;
    border: 2px solid #dee2e6;
    font-size: 0.875rem;
    padding: 0.5rem 2rem 0.5rem 1rem;
    background-color: #fff;
}
#top-filter-form .nk-pricing-toggle label {
    font-size: 0.875rem;
    padding: 0.5rem 1.5rem;
}

/* #472: Категории — чередование цветов блоков */
.cat-t .col-12:nth-child(odd) .card {
    background-color: #e8eeff !important;
}
.cat-t .col-12:nth-child(even) .card {
    background-color: #f0fdf4 !important;
}

/* #454: Категории — поиск скрыт через шаблон (store-header.html) */
.nk-footer-social {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
@media (max-width: 576px) {
    .nk-footer-social li a {
        width: 40px;
        height: 40px;
    }
    .nk-footer-social .icon_new {
        width: 20px;
        height: 20px;
    }
}

/* #518: Permissions — длинные строки не выезжают за блок */
.nk-timeline-content {
    overflow-wrap: break-word;
    word-break: break-all;
    max-width: 100%;
}

/* #525: Кнопки лайков в отзывах — компактнее */
.review-actions .btn {
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
}

/* #524: Кнопка "Вверх" — проще и меньше */
.scroll-top {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: none !important;
    z-index: 999;
}

/* #534: App баннер — уменьшить отступ снизу в мобилке */
@media (max-width: 991px) {
    .nk-banner-wrap.pb-lg-320 {
        padding-bottom: 60px !important;
    }
}

/* #503: nk-frame-seven-a — ограничение размеров картинок */
.nk-frame-seven-a img {
    max-width: 100%;
    object-fit: contain;
}

/* #514: Скрыть mobile-sticky-cta на мобилке */
@media (max-width: 991px) {
    .mobile-sticky-cta {
        display: none !important;
    }
}

/* #513: Кнопки навигации store — компактнее на мобилке */
@media (max-width: 767px) {
    .nk-store-nav .btn,
    .nav-btn-group .btn {
        padding: 0.35rem 0.75rem;
        font-size: 0.8rem;
    }
}

/* #506: Отступ сверху на статических страницах (кроме app page с собственным pt-100) */
.nk-pages > section:first-child:not(.nk-banner-career-job-details) {
    padding-top: 120px !important;
}
@media (max-width: 991px) {
    .nk-pages > section:first-child:not(.nk-banner-career-job-details) {
        padding-top: 80px !important;
    }
}

/* Аватар с буквами (когда нет фото пользователя) */
.avatar-letters {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* #530: Кнопка «Войти» — выровнять высоту с «Язык» и «Скачать» */
.nk-header-action .auth-btn {
    padding: 0.5rem 1rem;
    line-height: 1.5;
}

/* #509: Активный пункт навигации — фоновая подсветка вместо полоски */
.nk-nav > .nk-nav-item.current-page > .nk-nav-link {
    background: rgba(43, 92, 253, 0.08);
    border-radius: 8px;
    border-bottom: none !important;
}
.nk-nav > .nk-nav-item.current-page > .nk-nav-link::after {
    display: none !important;
}
.nk-nav > .nk-nav-item.current-page.has-sub > .nk-nav-toggle::after {
    display: inline-block !important;
}

/* #547: Skeleton-анимация для иконок приложений */
.nash-app {
    background: linear-gradient(110deg, #e8eeff 30%, #f0f4ff 50%, #e8eeff 70%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s ease-in-out infinite;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 22%;
}
.nash-app.is-loaded,
.nash-app.is-broken {
    animation: none;
    background: none;
}
@keyframes skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Nav buttons — small gap between action buttons in header */
.nk-header-action .nk-btn-group > li + li {
    margin-left: 4px;
}
.nk-header-action .nk-btn-group {
    align-items: center;
}
.nk-header-action .nk-btn-group > li {
    display: flex;
    align-items: center;
}

/* #538: About — фото не заезжает на кнопки на мобилке */
@media (max-width: 767px) {
    .nk-video-img img {
        max-height: 300px;
        object-fit: contain;
    }
}

/* #536: Enterprise мобилка — увеличить иконки партнёров */
@media (max-width: 767px) {
    .nk-banner-business-solution .nk-brand img {
        min-width: 48px;
        min-height: 48px;
    }
}

/* #531: Login modal — шире, тёмные шрифты, кнопка читаемая */
.login-modal-modern .modal-dialog {
    max-width: 420px !important;
}
.login-modal-modern .modal-body {
    padding: 1.5rem 2rem !important;
}
.login-modal-modern .login-modal-logo-bubble {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}
.login-modal-modern .login-modal-logo {
    width: 70% !important;
    max-width: 180px;
}
.login-modal-modern h5,
.login-modal-modern label,
.login-modal-modern .form-floating-modern label {
    color: #1f2937 !important;
}
.login-modal-modern p {
    color: #4b5563 !important;
}
.login-modal-modern .btn-login-modern {
    background: var(--ns-primary, #2b5cfd) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.65rem 1.5rem;
    border: none;
}
.login-modal-modern .btn-login-modern:disabled {
    opacity: 0.6;
}

/* #515: App кнопки Скачать/Видео — позиционирование */
@media (min-width: 992px) {
    .nk-banner-career-job-details .col-md-2 .mt-8 {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
}
@media (max-width: 991px) {
    .nk-banner-career-job-details .col-md-2 .mt-8 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }
}

/* #508: Бургер-меню — кнопки стеком */
@media (max-width: 991px) {
    .nk-navbar-btn .nk-btn-group {
        flex-direction: column !important;
        gap: 8px;
    }
    .nk-navbar-btn .nk-btn-group > li {
        width: 100%;
    }
    .nk-navbar-btn .nk-btn-group > li > .btn,
    .nk-navbar-btn .nk-btn-group > li > a {
        width: 100%;
    }
    .nk-navbar-btn .nk-btn-group > li.d-flex {
        flex-direction: row !important;
        gap: 8px;
    }
}

/* #526: Категории мобилка — уменьшить иконки */
@media (max-width: 767px) {
    .nk-section-categories .col-12 .col-md-4 img {
        max-width: 80px;
    }
}

/* #539: Docs мобилка — отступ от шапки, компактное меню */
@media (max-width: 991px) {
    .nk-docs-content {
        padding-top: 24px;
    }
    .nk-docs-sidebar .nav-link {
        padding: 0.4rem 0.75rem;
    }
}
/* #36: Docs — название впритык к шапке, меню воздушное */
@media (max-width: 991px) {
    .nk-section.pt-120 .nk-section-head h2,
    .nk-section.pt-120 .nk-block-head h2 {
        margin-top: 0;
    }
    .nk-entry-sidebar .nk-list-link li {
        padding: 0.25rem 0;
    }
    .nk-entry-sidebar .nk-list-link a {
        padding: 0.4rem 0.75rem;
        font-size: 0.9rem;
    }
}

/* #543: Главная — кнопки hero уменьшить ~30% */
.home-codebase .btn-lg {
    font-size: 0.9rem;
    padding: 0.6rem 1.5rem;
}

/* #516: Горизонтальные скриншоты — double width */
.swiper-slide.large-slide {
    width: 50% !important;
    flex-shrink: 0;
}
@media (max-width: 575px) {
    .swiper-slide.large-slide {
        width: 100% !important;
    }
}

/* #519: Dev sort — единый стиль с поиском */
.dev-sort-dropdown .dropdown-toggle {
    border: 1px solid #e5e7eb !important;
    background: #fff;
    color: #333;
}

/* #520: Top page — фильтры */
#top-filter-form .form-select {
    text-align: left !important;
}

/* #546: Header — user-panel: фиксированная высота для предотвращения layout shift */
#user-panel {
    height: 36px;
    min-width: 80px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
#user-panel .nk-nav {
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
}
#user-panel .nk-nav .nk-nav-item {
    height: 100%;
    display: flex;
    align-items: center;
}
.nk-header .user-avatar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 0.75rem;
    border-radius: 0.5rem;
    background: var(--ns-primary-soft, rgba(43, 92, 253, 0.1));
    transition: background 0.2s;
}
.nk-header .user-avatar-btn:hover {
    background: var(--ns-primary-soft-hover, rgba(43, 92, 253, 0.18));
}
.nk-header .user-avatar-btn img.user-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}
.nk-header .user-skeleton-btn {
    display: block;
    width: 80px;
    height: 36px;
    border-radius: 0.5rem;
    background: linear-gradient(90deg, #e8ecf1 25%, #dce3ea 50%, #e8ecf1 75%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s infinite;
}
#user-panel .auth-btn {
    display: inline-flex;
    align-items: center;
    height: 36px;
    white-space: nowrap;
}
.auth-btn {
    white-space: nowrap;
}

/* #541: Главная — скрыть декоративные блюр-картинки (лишний элемент) */
.nk-frame-18 {
    overflow: hidden;
    pointer-events: none;
    max-height: 0;
}

/* #41: Утилита pb-lg-60 — отступ 60px снизу на десктопе */
@media (min-width: 992px) {
    .pb-lg-60 {
        padding-bottom: 60px !important;
    }
}

/* #520: Top — фильтры компактнее */
.nk-pricing-toggle-s1 {
    min-width: auto;
}

/* Fix 13: Screenshots — prevent full-width flash before Swiper init */
.swiper-init:not(.swiper-initialized) {
    overflow: hidden;
    display: flex;
    gap: 12px;
}
.swiper-init:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
}
.swiper-init:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 auto;
    width: 25%;
    max-width: 220px;
}
.swiper-init:not(.swiper-initialized) .swiper-slide.large-slide {
    width: 50%;
    max-width: 440px;
}
@media (max-width: 767px) {
    .swiper-init:not(.swiper-initialized) .swiper-slide {
        width: 50%;
    }
    .swiper-init:not(.swiper-initialized) .swiper-slide.large-slide {
        width: 100%;
    }
}

/* BUG-020: About page — уменьшить вертикальные пустоты между секциями */
[data-page="about"] .nk-section {
    padding-top: 32px;
    padding-bottom: 32px;
}
@media (min-width: 992px) {
    [data-page="about"] .nk-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

/* BUG-024: Меню NashStore → переименовать в навигации, дублирование с Company */

/* Баннер «Скачайте NashStore» — fixed, не двигает документ */
#nashstore-download-banner {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1000;
    display: none;
}

/* #9c: Sort dropdown — поверх футера на мобилке */
@media (max-width: 991px) {
    .search-sort-dropdown .dropdown-menu,
    .dev-sort-dropdown .dropdown-menu,
    #top-filter-form .dropdown-menu {
        z-index: 1050 !important;
        position: fixed !important;
        bottom: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 90vw;
        max-width: 320px;
    }
}

/* Task 1: breadcrumb top padding на app page */
.nk-banner-career-job-details .nk-banner-wrap.pt-100 {
    padding-top: 80px !important;
}
@media (min-width: 992px) {
    .nk-banner-career-job-details .nk-banner-wrap.pt-lg-100 {
        padding-top: 90px !important;
    }
}

/* Task 7: tab border 1px вместо 3px — убрать скачок */
.nav-tabs .nav-link.active,
.nk-nav-tabs .nav-link.active {
    border-bottom-width: 2px !important;
}

/* Task 9: Screenshots — фиксированная высота до Swiper init */
.swiper-init {
    min-height: 280px;
    overflow: hidden;
}
@media (max-width: 575px) {
    .swiper-init {
        min-height: 200px;
    }
}

/* Task 11: кнопка языка — уже горизонтальные отступы */
.language-selector .btn {
    padding-left: 0.5rem;
    padding-right: 0.75rem;
    gap: 4px;
}
.language-selector .btn .me-1 {
    margin-right: 0 !important;
}

/* Task 12: Language modal — флаги выровнены, модал уже */
.language-modal .modal-dialog {
    max-width: 480px;
}
.language-modal .btn {
    justify-content: flex-start;
    text-align: left;
}
.language-modal .btn img {
    flex-shrink: 0;
}

/* Task 17: app cards — aspect ratio на мобилке */
@media (max-width: 767px) {
    .apps.app-info img.nash-app {
        aspect-ratio: 1/1;
        object-fit: cover;
    }
}

/* Описание приложения — CSS-clamp вместо JS-вычисления высоты */
.description-container.is-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 30;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* #565: Модалка языка — шире на 25% */
.language-modal .modal-dialog {
    max-width: 600px;
}

/* #566: Иконки приложений — скруглённые в диапазоне 385-768px */
@media (min-width: 385px) and (max-width: 767px) {
    .apps.app-info img.nash-app {
        border-radius: 22% !important;
    }
}

/* #566: Иконки категорий — не расти при <1200px */
@media (max-width: 1199px) {
    .nk-section-categories .media-lgxxx img,
    .nk-cta-card .media-lgxxx img {
        max-width: 64px;
        max-height: 64px;
    }
    .nk-cta-card .media-lgxxx {
        min-width: auto;
    }
}

/* #569: Top — переключатель периода: убрать чёрный фон, компактный */
.nk-pricing-toggle-s1 {
    background: var(--ns-primary-soft, rgba(43, 92, 253, 0.08));
    border-radius: 0.5rem;
    padding: 2px;
    min-height: auto !important;
    height: auto !important;
}
.nk-pricing-toggle-s1 label {
    color: #333;
    font-size: 0.85rem;
    padding: 4px 14px;
    min-height: auto !important;
    line-height: 1.4;
    margin: 0;
}
.nk-pricing-toggle-s1 .switch-highlight {
    background: var(--ns-primary, #2b5cfd);
    border-radius: 0.375rem;
    height: auto !important;
}

/* #571: Категория — меньше отступы, убрать фиолетовый */
.nk-cta-card.bg-purple-600 {
    background: var(--ns-primary, #2b5cfd) !important;
}
.nk-cta-card .nk-banner-wrap {
    padding-top: 40px;
    padding-bottom: 40px;
}
@media (max-width: 767px) {
    .nk-cta-card .nk-banner-wrap {
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

/* #574: Разрешения — названия кодовые, описания с переносом */
.nk-timeline-content .text-gray-700 {
    font-family: monospace;
    font-size: 0.8rem;
    font-weight: 600;
    color: #555 !important;
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.nk-timeline-content > div:last-child {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

/* #563: Кнопки приложения (Скачать/Видео/Жалоба) — не разваливать в столбец */
@media (max-width: 991px) {
    .nk-banner-career-job-details .col-md-2 .mt-8 {
        flex-direction: row;
        align-items: center;
    }
    .nk-banner-career-job-details .col-md-2 .apps-download {
        margin-bottom: 0;
    }
}

/* #599: Truncate заголовков и описаний в карточках приложений */
.app-info h6,
.apps h6 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
.app-info .fs-16,
.apps .fs-16 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* #598: Карточки приложений — фиксированная высота, без наложения */
.app-info {
    overflow: hidden;
}
.app-info .text-start {
    min-height: 80px;
    max-height: 100px;
    overflow: hidden;
}

/* #601: Sticky-баннер — компенсация перекрытия контента */
body.has-nashstore-banner {
    padding-bottom: 80px;
}
@media (max-width: 575.98px) {
    body.has-nashstore-banner {
        padding-bottom: 100px;
    }
}
body.has-nashstore-banner .scroll-top {
    bottom: 90px;
}

/* #603: Типографика для /docs */
.docs-content {
    max-width: 760px;
    font-size: 1rem;
    line-height: 1.6;
    color: #1a1a1a;
}
.docs-content h1, .docs-content h2, .docs-content h3 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    line-height: 1.3;
    font-weight: 600;
}
.docs-content h1 { font-size: 2rem; }
.docs-content h2 { font-size: 1.5rem; }
.docs-content h3 { font-size: 1.25rem; }
.docs-content p { margin: 0 0 1rem; }
.docs-content ul, .docs-content ol { margin: 0 0 1rem 1.25rem; }
.docs-content li { margin: 0.25rem 0; }
.docs-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
}
.docs-content table th, .docs-content table td {
    border: 1px solid #e5e7eb;
    padding: 0.5rem 0.75rem;
    text-align: left;
}
.docs-content table th { background: #f3f4f6; font-weight: 600; }
.docs-content blockquote {
    border-left: 4px solid #e5e7eb;
    margin: 1rem 0;
    padding: 0.5rem 1rem;
    color: #4b5563;
}
.docs-content a { color: #2563eb; text-decoration: underline; }
.docs-content a:hover { color: #1e40af; }

/* Recommended apps horizontal scroll */
.ns-rec-scroll {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
    scrollbar-width: thin;
}
.ns-rec-scroll::-webkit-scrollbar { height: 6px; }
.ns-rec-scroll::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
.ns-rec-card {
    flex: 0 0 160px;
    scroll-snap-align: start;
    text-align: center;
}
.ns-rec-card img.ns-rec-icon {
    border-radius: 22%;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}
.ns-rec-card a { text-decoration: none; color: inherit; }
.ns-rec-card h6 {
    font-size: 14px;
    margin: 8px 0 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ns-rec-card p { font-size: 13px; color: #6c757d; margin: 0; }

/* Fallback background for transparent/empty app icons (#607) */
img.nash-app, .categories-grid img {
    background: #f0f2f5 url('/images/default/app.png') center/60% no-repeat;
}
