/* =======================================================
   === COLOR SYSTEM (Industrial Theme) ===
======================================================= */

:root {

    /* === BRAND === */
    --color-primary: #ffb00d;
    --color-primary-green: #458500;
    --color-primary-dark: #000;
    --color-primary-light: rgb(107, 107, 107);

    --color-secondary: #f8f8f8;
    --color-secondary-dark: #cccccc;

    /* === EQUIPMENT (Yellow Machines) === */
    --color-equipment-yellow: #ffc400;
    --color-equipment-dark: #D9A800;

    /* === CTA === */
    --color-cta: #E67E22;
    --color-cta-hover: #FF8C42;
    --color-cta-active: #CC6F1C;

    /* === BACKGROUNDS === */
    --color-bg-primary: #eeeeee;
    --color-bg-main: #ffffff;
    --color-bg-section: #ffffff;
    --color-bg-alt: #eaeaea;
    /*--color-bg-footer: #0F2E3A;*/

    /* === TEXT === */
    --color-text-primary: #1E2A32;
    --color-text-secondary: #5A6A73;
    --color-text-muted: #c4c4c4;
    --color-text-light: #ffffff;

    /* === UI === */
    --color-border: #E0E0E0;
    --color-border-strong: #C4C4C4;

    --shadow-card: 0 4px 12px rgba(0,0,0,0.08);
    --shadow-strong: 0 6px 20px rgba(0,0,0,0.15);

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;

    /* === SPACING SYSTEM === */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 40px;
    --space-xxl: 64px;

    /* === FONTS === */
    /*--font-impact: Oswald, Impact, sans-serif;*/

    /* === FONT-SIZE === */
    --fs-base: clamp(1rem, 1vw + 0.5rem, 1.125rem);
    --fs-sm: clamp(0.8rem, 1vw, 0.9rem);
    --fs-h1: clamp(1.5rem, 3vw, 2.2rem);
    --fs-h2: clamp(1.25rem, 2.5vw, 2rem);
    --fs-h3: clamp(1.17rem, 2vw, 1.8rem);
    --fs-h4: clamp(1.1rem, 1.8vw, 1.6rem);

    /* === CONTROL ELEMENTS === */
    --control-h-md: 43.6px;

    /* === TRANSITIONS === */
    --transition: all 0.2s ease;
}

/* === RESET === */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =======================================================
   === BASE LAYOUT ===
======================================================= */

body {
  font-family: system, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif;
  font-size: var(--fs-base);
  line-height: 1.6;
  background: var(--color-bg-main);
  color: var(--color-text-primary);
}

hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 15px 0;
}

hr.bold {
  border: none;
  border-top: 3px solid var(--color-border);
  margin: 15px 0;
}

img{
  max-width:100%;
  height:auto;
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.site-main {
  padding: var(--space-xl) 0;
}

/* =======================================================
   === TYPOGRAPHY ===
======================================================= */

h1 {
  /*font-size: 30px;*/
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: var(--space-lg);
}

h1 span::before {

  content: "► ";
  color: var(--color-primary);
}


h1 span{
  display:block;
  font-size: var(--fs-h2);
  color: var(--color-text-secondary);
}

h2 {
  /*font-size: 26px;*/
  font-size: var(--fs-h2);
  font-weight: 600;
  /*margin-bottom: var(--space-md);*/
}

h3 {
  font-size: 22px;
  font-weight: 600;
  /*margin-bottom: var(--space-sm);*/
}

h4 {
  font-size: 18px;
  font-weight: 600;
  /*margin-bottom: var(--space-sm);*/
}

h1,h2,h3,h4{
  text-transform: none;
  line-height: 1.2;
}

p {
  text-align: justify;
  margin-bottom: var(--space-md);
}

ul {
  list-style-position: inside;
}

ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: item;
}

ol li {
  counter-increment: item;
  margin: 0 0 12px 0;
  padding-left: 40px; /* Отступ для кружка */
  position: relative;
}

ol li::before {
  content: counter(item);
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  background-color: var(--color-primary);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 14px;
  font-weight: bold;
}

/* Всё содержимое li отображается как обычный блок */
ol li * {
  display: inline; /* strong и другие теги остаются в строке */
}

blockquote{
  color: var(--color-primary-light);
  font-style: italic;
  line-height:1.3;
  padding-left:1rem;
  margin:.5rem 0;
  border-left: 4px solid var(--color-primary);
}

.lead {
  font-size: 1.1em;
  font-weight: bold;
}

.text-secondary { color: var(--color-text-secondary); }
.text-muted { color: var(--color-text-muted); }

/* === LINKS === */
a {
  color: var(--color-text-primary);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
  transition: var(--transition);
}

a:hover {
  text-decoration: none;
}

/* === BUTTONS === */
.btn-primary, .btn-secondary, .btn-primary-dark {
  background-color: var(--color-primary);
  color: var(--color-primary-dark);
  /*font-family: Roboto, sans-serif;*/
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 10rem;
  margin: 0;
  padding: 0.25rem 1.4rem;
  font-size: 1rem;
  min-height: 3rem;
  font-weight: bold;
  text-transform: uppercase;
  display: inline-flex;
  transition: background-color 300ms ease-in-out, color 300ms ease-in-out, 300ms ease-in-out border;
  text-align: center;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  line-height: 1rem;
  max-width: 15.625rem;
  cursor: pointer;
  position: relative;
  z-index: 0;
  overflow: hidden;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

.btn-primary:hover {
    color: var(--color-primary);
    background: var(--color-primary-dark);
}

.btn-secondary{
    background-color: var(--color-secondary);
    border: 1px solid var(--color-secondary-dark);
}

.btn-secondary:hover{
    background-color: var(--color-secondary-dark);
}

.btn-primary-dark{
    color: var(--color-text-light);
    background-color: var(--color-primary-dark);
    border: 1px solid var(--color-primary-dark);
}

.btn-primary-dark:hover{
    color: var(--color-primary-dark);
    background-color: var(--color-bg-main);
}

a.btn-primary, a.btn-primary-dark, a.btn-secondary{
    text-decoration: none;
}

/* =======================================================
   === CARDS ===
======================================================= */

.card {
  background: var(--color-bg-section);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  margin-bottom: var(--space-lg);
}

/* =======================================================
   === FORMS ===
======================================================= */

input, textarea, select {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-strong);
  font-size: 16px;
  margin-bottom: var(--space-md);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(26,95,122,0.2);
}

/* =======================================================
   === TABLES (Specs) ===
======================================================= */

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-lg);
}

th {
  background: var(--color-bg-alt);
  text-align: left;
  padding: 12px;
}

td {
  padding: 12px;
  border-bottom: 1px solid var(--color-border);
}

/* =======================================================
   === STATUS BADGES ===
======================================================= */

.badge-success {
  background: #2E7D32;
  color: white;
  padding: 4px 8px;
  border-radius: var(--radius-sm);
  font-size: 14px;
}

.badge-warning {
  background: #F9A825;
  color: white;
  padding: 4px 8px;
  border-radius: var(--radius-sm);
}

.badge-info {
  background: var(--color-primary-light);
  color: white;
  padding: 4px 8px;
  border-radius: var(--radius-sm);
}

/* =======================================================
   === HEADER (Fixed Industrial) ===
======================================================= */
.site-header {
  background: var(--color-primary);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: var(--shadow-strong);
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
}

.logo a {
  font-weight: bold;
  font-size: 27px;
  letter-spacing: 0.1em;
  color: #000;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: none;
  -webkit-text-stroke: 10px #FFFFFF; /* Толщина и цвет обводки */
  text-stroke: 10px #FFFFFF; /* Толщина и цвет обводки (стандартное свойство) */
  paint-order: stroke fill;
}

.logo a:hover{
  border-bottom: none;
}

.nav ul {
  display: flex;
  gap: 30px;
  list-style: none;
}

.nav a, .nav span {
  color: var(--color-primary-dark);
  /*color: var(--color-text-primary);*/
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.5px;
  border-bottom: none;
  text-decoration: none;
}

.nav span.active{
  -webkit-text-stroke: 6px #FFFFFF; /* Толщина и цвет обводки */
  text-stroke: 6px #FFFFFF; /* Толщина и цвет обводки (стандартное свойство) */
  paint-order: stroke fill;
}

.nav a:hover {
  color: var(--color-text-light);
  border-bottom: none;
}

.nav-toggle {
  display: none;
  font-size: 22px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

/* =======================================================
   === FOOTER ===
======================================================= */

.site-footer {
  background: var(--color-primary-dark);
  border-top: var(--space-xs) solid var(--color-primary);
  color: var(--color-text-light);
  padding: var(--space-sm) 0;
  /*margin-top: var(--space-xxl);*/
  text-align: center;
  font-size: 14px;
}

.site-footer .container{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 768px) {
  .site-footer .container {
    flex-direction: column;
    align-items: flex-start;
  }
}

.site-footer a {
  color: var(--color-equipment-yellow);
  text-decoration: none;
  text-transform: uppercase;
  font-weight: bold;
}

.site-footer a:hover{
  color: var(--color-text-light);
}

.site-footer p {
  margin: 0;
  padding: 0;
}

.site-footer svg {
  margin-left: var(--space-sm);
  width: var(--space-lg);
  height: var(--space-lg);
  fill: var(--color-primary);
  transition: var(--transition);
}

.site-footer svg:hover {
  fill: var(--color-text-light);
}

.footer-menu {
  margin: 1rem 0;
  display: flex;
  align-items: center;   /* вертикально по центру */
  gap: 16px;             /* расстояние между пунктами */
}

/* мобильная версия */
@media (max-width: 768px) {
  .footer-menu {
    flex-direction: column;  /* элементы друг под другом */
    align-items: flex-start; /* выравнивание по левому краю (или center) */
  }
}

/* =======================================================
   === BREADCRUMBS ===
======================================================= */
.breadcrumbs {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-bottom: var(--space-lg);
}

.breadcrumbs ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.breadcrumbs li + li::before {
  content: "›";
  margin: 0 8px;
  color: var(--color-text-muted);
}

.breadcrumbs a {
  color: var(--color-text-secondary);
}

/*
.breadcrumbs a:hover {
  color: var(--color-primary);
}
*/
.breadcrumbs span[aria-current="page"] {
  font-weight: 600;
  color: var(--color-text-primary);
}

/* =======================================================
   === MOBILE NAVIGATION ===
======================================================= */
@media (max-width: 768px) {
  .nav {
    position: absolute;
    top: 70px;
    right: 0;
    background: var(--color-bg-section);
    width: 220px;
    padding: 20px;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-strong);
    display: none;
  }
  .nav ul {
    flex-direction: column;
    gap: 20px;
  }
  .nav a {
    color: var(--color-text-primary);
  }
  .nav.nav-open {
    display: block;
  }
  .nav-toggle {
    display: block;
  }
}

/* =======================================================
   === CONTAINERS ===
======================================================= */
.container-start-center {
    display: flex;
    justify-content: flex-start; /* по горизонтали влево */
    align-items: center;         /* по вертикали по центру */
    gap: var(--space-sm);
}

/* =======================================================
   === GRID SYSTEM 2 COLUMNS ===
======================================================= */
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
}

.grid-container.align-items-start {
  align-items: start;
}

@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: 1fr;
  }
}

/* =======================================================
   === 2 CELL ===
======================================================= */
.block {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr; /* первая авто, вторая остаток */
  align-items: center; /* вертикальное выравнивание */
  column-gap: 16px; /* расстояние между элементами */
}

/* мобильная версия */
@media (max-width: 768px) {

  .block {
    grid-template-columns: 1fr;
    justify-items: center; /* центрирование по горизонтали */
    text-align: center;
    row-gap: 10px;
  }

}

/* =======================================================
   === BASE GRID SYSTEM ===
======================================================= */
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-lg);
}

.v-image-card .card {
    padding:0;
    background-color: var(--color-bg-primary);
}

.v-image-card .card img{
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    max-width:100%;
    height:auto;
}

.v-image-card-content{
    padding: 20px;
}

.v-image-card-content.space-sm{
    padding: var(--space-sm);
    margin: calc(var(--space-sm) * -1) 0 0 0;
    line-height: 1;
}

/* === TEXT ALIGNMENT === */
.ta-left{
  text-align: left;
}

/* === TEXT DECORATION === */
.td-none{
  text-decoration: none;
}

/* =======================================================
   === MAIN GRID SYSTEM ===
======================================================= */

.gridcontainer {
  display: grid;
  gap: var(--space-md);
}

.gridcontainer .card {
  margin-bottom: 0;
}


@media (min-width: 768px) {
  .gridcontainer {
    grid-template-columns: repeat(3, 1fr);
  }
  
  /* 4 элемента: последний на всю ширину */
  .gridcontainer:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .gridcontainer:has(> :nth-child(4):last-child) > :last-child {
    grid-column: span 3;
  }
  
  /* 5 элементов: последние два на всю ширину */
  .gridcontainer:has(> :nth-child(5):last-child) > :nth-last-child(-n+2) {
    grid-column: span 3;
  }
}

@media (max-width: 767px) {
  .gridcontainer {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Нечётное количество: последний на всю ширину */
  .gridcontainer:has(> :last-child:nth-child(odd)) > :last-child {
    grid-column: span 2;
  }
}
