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

   Использование:
   1. Добавить класс .auto-grid контейнеру
   2. Добавить модификатор .auto-grid--X
      где X — количество элементов в ряду
   3. Никаких width / flex / calc не использовать

   Пример:
   <div class="auto-grid auto-grid--4">

   Поддержка:
   - CSS Grid (основной)
   - Flex fallback (через @supports)


   классы для вставки:
   auto-grid
   auto-grid--4
   auto-grid--3
   auto-grid--2
   ================================================== */



/* ==================================================
                GRID — CORE
   ================================================== */

/* grid */
.view-content,
.view-content .views-row .node .field.field--type-image.field__items {
    --cols: 1;
    --gap: 20px;
    --row-gap: 20px;
    --column-gap: 20px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}

.view-content .views-row {width: 100%;}
.view-content .views-row .node {width: 100%;}
.view-content .views-row .node .field--type-image {width: 100%;}
.view-content .views-row .node .field--type-image img {width: 100%; height: 100%; object-fit: cover;}





/* ==================================================
                GRID — MODIFIERS - for row-items
   ================================================== */

/* B E N E F I T S */
/* .view.view-benefits.view-id-benefits .view-content {
    --cols: 3;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}
.view.view-benefits.view-id-benefits .view-content .views-row {width: 100%;}
.view.view-benefits.view-id-benefits .view-content .views-row .benefit-inner {width: 100%;} */

/* C A T A L O G */
.view.view-catalogs.view-id-catalogs .view-content {
    --cols: 4;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}
.view.view-catalogs.view-id-catalogs .view-content .views-row {width: 100%;}
.view.view-catalogs.view-id-catalogs .view-content .views-row .node {width: 100%;}
.view.view-catalogs.view-id-catalogs .view-content .views-row .node .field--type-image {width: 100%; aspect-ratio: 5/5;}
.view.view-catalogs.view-id-catalogs .view-content .views-row .node .field--type-image img { width: 100%; height: 100%; object-fit: cover;}

/* C A T A L O G // P R O D U C T S */
.view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {
    --cols: 4;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}
.view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content .views-row {width: 100%;}
.view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content .views-row .node {width: 100%;}
.view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content .views-row .node .field--type-image {width: 100%; aspect-ratio: 5/5;}
.view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content .views-row .node .field--type-image img { width: 100%; height: 100%; object-fit: cover;}

/* S H A R E S */
.view.view-special-offers.view-id-special_offers .view-content {
    --cols: 2;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}
.view.view-special-offers.view-id-special_offers .view-content .views-row {width: 100%;}
.view.view-special-offers.view-id-special_offers .view-content .views-row .node {width: 100%;}
.view.view-special-offers.view-id-special_offers .view-content .views-row .node .field--type-image {width: 100%; aspect-ratio: 5/5;}
.view.view-special-offers.view-id-special_offers .view-content .views-row .node .field--type-image img { width: 100%; height: 100%; object-fit: cover;}

/* P A R T N E R S */
.view.view-partners.view-id-partners .view-content {
    --cols: 3;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}
.view.view-partners.view-id-partners .view-content .views-row {width: 100%;}
.view.view-partners.view-id-partners .view-content .views-row .node {width: 100%;}
.view.view-partners.view-id-partners .view-content .views-row .node .field--type-image {width: 100%; }
.view.view-partners.view-id-partners .view-content .views-row .node .field--type-image img { width: 100%; height: 100%; object-fit: cover;}


/* ==================================================
                GRID — MODIFIERS - for fields in row
   ================================================== */

/* P A R T N E R S */
/* .view.view-partners.view-id-partners .view-content {
    --cols: 3;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
} */
/* .view.view-partners.view-id-partners .view-content .views-row {width: 100%;} */
/* .view.view-partners.view-id-partners .view-content .views-row .node .field.field--name-field-partners-img.field--type-image.field--label-hidden.field__item img { width: 100%; height: 100%; object-fit: cover;} */





/* ==================================================
            GRID — MODIFIERS - for field  in card
   ================================================== */

/* A B O U T */
.view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items {
    --cols: 4;
    --gap: 30px;
    --row-gap: 30px;
    --column-gap: 30px;

    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}
.view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items .field__item {width: 100%;}
.view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items .field__item img { width: 100%; height: 100%; object-fit: cover;}



/* ==================================================
                GRID — RESPONSIVE
   ================================================== */

@media (max-width: 1199px) {
    /* row-items */
        /* B E N E F I T S      .view.view-benefits.view-id-benefits .view-content {--cols: 3; --column-gap: 20px; --row-gap: 20px; } */
        /* C A T A L O G        */ .view.view-catalogs.view-id-catalogs .view-content {--cols: 4; --column-gap: 20px; --row-gap: 20px; }
        /* >> P R O D U C T S   */ .view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {--cols: 3; --column-gap: 20px; --row-gap: 20px; }
        /* S H A R E S          */ .view.view-special-offers.view-id-special_offers .view-content {--cols: 2; --column-gap: 20px; --row-gap: 30px; }
        /* P A R T N E R S      */ .view.view-partners.view-id-partners .view-content {--cols: 3; --column-gap: 30px; --row-gap: 30px; }


    /* fields in row */
        /* P A R T N E R S .view.view-partners.view-id-partners .view-content {--cols: 6; --column-gap: 20px; --row-gap: 20px; } */
    
    
    /* fields in card */
    .view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items
     {--cols: 4; --column-gap: 20px; --row-gap: 20px; }
}

@media (max-width: 991px) {
    /* row-items */
        /* B E N E F I T S      .view.view-benefits.view-id-benefits .view-content {--cols: 2; --column-gap: 20px; --row-gap: 20px; } */
        /* C A T A L O G        */ .view.view-catalogs.view-id-catalogs .view-content {--cols: 2; --column-gap: 20px; --row-gap: 20px; }
        /* >> P R O D U C T S   */ .view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {--cols: 3; --column-gap: 20px; --row-gap: 20px; }
        /* S H A R E S          */ .view.view-special-offers.view-id-special_offers .view-content {--cols: 2; --column-gap: 20px; --row-gap: 30px; }
        /* P A R T N E R S      */ .view.view-partners.view-id-partners .view-content {--cols: 3; --column-gap: 30px; --row-gap: 30px; }


    /* fields in row */
        /* P A R T N E R S .view.view-partners.view-id-partners .view-content {--cols: 3; --column-gap: 20px; --row-gap: 20px; } */
    
    
    /* fields in card */
    .view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items
     {--cols: 4; --column-gap: 15px; --row-gap: 15px; }
}

@media (max-width: 767px) {
    /* row-items */
        /* B E N E F I T S      .view.view-benefits.view-id-benefits .view-content {--cols: 2; --column-gap: 20px; --row-gap: 20px; } */
        /* C A T A L O G        */ .view.view-catalogs.view-id-catalogs .view-content {--cols: 2; --column-gap: 15px; --row-gap: 15px; }
        /* >> P R O D U C T S   */ .view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {--cols: 2; --column-gap: 20px; --row-gap: 20px; }
        /* S H A R E S          */ .view.view-special-offers.view-id-special_offers .view-content {--cols: 1; --column-gap: 20px; --row-gap: 30px; }
        /* P A R T N E R S      */ .view.view-partners.view-id-partners .view-content {--cols: 2; --column-gap: 30px; --row-gap: 30px; }


    /* fields in row */
        /* P A R T N E R S .view.view-partners.view-id-partners .view-content {--cols: 3; --column-gap: 15px; --row-gap: 15px; } */
    
    
    /* fields in card */
    .view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items
     {--cols: 3; --column-gap: 15px; --row-gap: 15px; }
}

@media (max-width: 575px) {
    /* row-items */
        /* B E N E F I T S      .view.view-benefits.view-id-benefits .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; } */
        /* C A T A L O G        */ .view.view-catalogs.view-id-catalogs .view-content {--cols: 2; --column-gap: 15px; --row-gap: 15px; }
        /* >> P R O D U C T S   */ .view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; }
        /* S H A R E S          */ .view.view-special-offers.view-id-special_offers .view-content {--cols: 1; --column-gap: 20px; --row-gap: 30px; }
        /* P A R T N E R S      */ .view.view-partners.view-id-partners .view-content {--cols: 2; --column-gap: 30px; --row-gap: 30px; }


    /* fields in row */
        /* P A R T N E R S .view.view-partners.view-id-partners .view-content {--cols: 3; --column-gap: 15px; --row-gap: 15px; } */
    
    
    /* fields in card */
    .view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items
     {--cols: 3; --column-gap: 10px; --row-gap: 10px; }
}

@media (max-width: 460px) {
    /* row-items */
        /* B E N E F I T S      .view.view-benefits.view-id-benefits .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; } */
        /* C A T A L O G        */ .view.view-catalogs.view-id-catalogs .view-content {--cols: 1; --column-gap: 15px; --row-gap: 30px; }
        /* >> P R O D U C T S   */ .view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; }
        /* S H A R E S          */ .view.view-special-offers.view-id-special_offers .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; }
        /* P A R T N E R S      */ .view.view-partners.view-id-partners .view-content {--cols: 1; --column-gap: 30px; --row-gap: 30px; }


    /* fields in row */
        /* P A R T N E R S .view.view-partners.view-id-partners .view-content {--cols: 2; --column-gap: 10px; --row-gap: 10px; } */
    
    
    /* fields in card */
    .view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items
     {--cols: 2; --column-gap: 10px; --row-gap: 10px; }
}

@media (max-width: 350px) {
    /* row-items */
        /* B E N E F I T S      .view.view-benefits.view-id-benefits .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; } */
        /* C A T A L O G        */ .view.view-catalogs.view-id-catalogs .view-content {--cols: 1; --column-gap: 15px; --row-gap: 30px; }
        /* >> P R O D U C T S   */ .view.view-tovary-index-svarog.view-id-tovary_index_svarog .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; }
        /* S H A R E S          */ .view.view-special-offers.view-id-special_offers .view-content {--cols: 1; --column-gap: 20px; --row-gap: 20px; }
        /* P A R T N E R S      */ .view.view-partners.view-id-partners .view-content {--cols: 1; --column-gap: 30px; --row-gap: 30px; }


    /* fields in row */
        /* P A R T N E R S .view.view-partners.view-id-partners .view-content {--cols: 2; --column-gap: 10px; --row-gap: 10px; } */
    
    
    /* fields in card */
    .view.view-about.view-id-about .view-content .views-row .node.node--type-about.node--view-mode-default .field.field--name-field-about-photo-set.field--type-image.field--label-hidden.field__items
     {--cols: 2; --column-gap: 10px; --row-gap: 10px; }
}


/* ==================================================
                GRID — FALLBACK (NO GRID SUPPORT)
   ================================================== */
@supports not (display: grid) {
    .view-content,
    .auto-grid {
        display: flex;
        flex-wrap: wrap;
        gap: var(--gap);
    }

    .view-content > *,
    .view-content .views-row .node .field.field--type-image.field__items > *,
    .auto-grid > * {
        flex: 0 0 calc(100% / var(--cols));
    }
}







