/* =========================================================
   CRDGAME — THE LATEST / ALL MATERIALS
   File: /file/pages/crd-all-materials.css
   Version: 20260906-8

   Based on measured VULKK /the-latest geometry:
   desktop content 1140px / 3 cols / 12 cards / visible card 340px
   ========================================================= */


/* =========================================================
   PAGE-ONLY GLOBAL BLOCKS
   /the-latest must contain only the material grid + pagination.
   Hide the global module hero from AHEADER and the footer CTA.
   ========================================================= */

html body.page-all-materials .crd-module-hero,
html body.page-all-materials .crd-module-hero--generic,
html body.page-all-materials .crd-module-hero--news,
html body.page-all-materials .crd-module-hero--publ,
html body.page-all-materials .crd-module-hero--forum,
html body.page-all-materials section.crd-module-hero {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

html body.page-all-materials .crd-global-cta {
  display: none !important;
}

body.page-all-materials #sidebar {
  display: none !important;
}

body.page-all-materials .wrapper.main_wrapper,
body.page-all-materials #casing,
body.page-all-materials #content,
body.page-all-materials #content > section {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  float: none !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.page-all-materials #casing {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.crd-all-materials-page {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

/* Реальный верхний отступ после глобальной навигации.
   Селектор намеренно сильнее общего reset #content > section. */
html body.page-all-materials #content > section.crd-all-materials-page {
  padding: 0 20px 72px !important;
}

#crdAllMaterials {
  --caf-scroll-offset: 118px;
  --caf-gold: #ae8954;
  --caf-gold-light: #d7b06f;
  --caf-gold-hover: #e1c083;
  --caf-text: #e8dcc8;
  --caf-text-soft: #c5b8aa;
  --caf-muted: #756a5c;
  --caf-card-bg: rgba(20, 17, 13, .78);

  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 147px !important;
  color: var(--caf-text);
  font-family: 'Open Sans', Arial, sans-serif;
  box-sizing: border-box;
}

#crdAllMaterials,
#crdAllMaterials * {
  box-sizing: border-box;
}

/* =========================================================
   GRID — VULKK geometry: 1140 / 3 x 380 outer columns.
   20px side padding on each article creates visible 340px cards
   and a visual 40px gap between card faces.
   ========================================================= */

#crdAllMaterials .caf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
}

#crdAllMaterials .caf-card {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0 20px 40px;
  color: var(--caf-text);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

#crdAllMaterials .caf-card-shell {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  background: var(--caf-card-bg);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

/* =========================================================
   MEDIA — measured on VULKK: 339.95 x 203 px desktop
   ========================================================= */

#crdAllMaterials .caf-media {
  position: relative;
  display: block;
  width: 100%;
  height: 203px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: inherit;
  text-decoration: none !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(174, 137, 84, .12), transparent 46%),
    #0b0907;
}

#crdAllMaterials .caf-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  filter: brightness(.93) saturate(.93) contrast(1.03);
  transform: scale(1.001);
  transition: transform .28s ease, filter .28s ease;
}

#crdAllMaterials .caf-card:hover .caf-media img {
  transform: scale(1.022);
  filter: brightness(.99) saturate(.96) contrast(1.03);
}

#crdAllMaterials .caf-media--empty::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 45%, rgba(174, 137, 84, .13), transparent 44%),
    linear-gradient(135deg, #17110c, #0b0907);
}

/* Category/game label: bottom-left over image, square corners. */
#crdAllMaterials .caf-category {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 4px 8px 5px;
  overflow: hidden;
  color: #e8dcc8;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .1px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  background: rgba(12, 10, 8, .78);
  border-radius: 0;
}

/* =========================================================
   CARD BODY
   VULKK measured text column: 309.95px inside 339.95px face
   => 15px horizontal padding.
   ========================================================= */

#crdAllMaterials .caf-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 11px 15px 12px;
}

#crdAllMaterials .caf-title {
  display: -webkit-box;
  min-height: 80px;
  margin: 0 0 10px;
  padding: 0;
  overflow: hidden;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.26;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#crdAllMaterials .caf-title a,
#crdAllMaterials .caf-title a:link,
#crdAllMaterials .caf-title a:visited {
  display: block;
  margin: 0;
  padding: 0;
  color: var(--caf-gold-light);
  text-decoration: none !important;
  background: none !important;
}

#crdAllMaterials .caf-title a:hover,
#crdAllMaterials .caf-title a:active {
  color: var(--caf-gold-hover);
}

#crdAllMaterials .caf-excerpt {
  display: -webkit-box;
  min-height: 134px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--caf-text);
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.72;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

#crdAllMaterials .caf-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin-top: auto;
  padding: 15px 0 0;
  color: var(--caf-muted);
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
}

#crdAllMaterials .caf-author {
  color: var(--caf-gold);
}

#crdAllMaterials .caf-date {
  color: var(--caf-muted);
}

#crdAllMaterials .caf-meta-sep {
  display: inline-block;
  margin: 0 9px;
  color: rgba(174, 137, 84, .55);
}

#crdAllMaterials .caf-author:empty,
#crdAllMaterials .caf-author:empty + .caf-meta-sep {
  display: none;
}

/* =========================================================
   PAGINATION — same visual system as CRDGAME news/publ archive.
   34x34 square controls, gold active page, thin separator above.
   ========================================================= */

#crdAllMaterials .caf-pages {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin: 30px auto 0;
  padding: 22px 0 0;
  text-align: center;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(174, 137, 84, .18);
  box-shadow: none;
}

#crdAllMaterials .caf-page,
#crdAllMaterials .caf-page:link,
#crdAllMaterials .caf-page:visited,
#crdAllMaterials .caf-page--current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  height: 34px;
  min-height: 34px;
  max-height: 34px;
  margin: 0;
  padding: 0;
  color: #8e8578;
  background: rgba(20, 17, 13, .32) !important;
  border: 1px solid rgba(174, 137, 84, .24) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Russo One', 'Open Sans', Arial, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
}

#crdAllMaterials .caf-page--current {
  color: #15100a;
  background: linear-gradient(180deg, #c9a261, #ae8954) !important;
  border-color: #d7b06f !important;
}

#crdAllMaterials a.caf-page:hover,
#crdAllMaterials a.caf-page:active {
  color: #f0e7d8;
  background: rgba(174, 137, 84, .12) !important;
  border-color: rgba(215, 176, 111, .54) !important;
}

#crdAllMaterials .caf-page--prev,
#crdAllMaterials .caf-page--next {
  width: 42px;
  min-width: 42px;
  max-width: 42px;
  color: var(--caf-gold);
  font-size: 15px;
}

#crdAllMaterials .caf-page-gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 34px;
  margin: 0;
  padding: 0 4px;
  color: #6f675d;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: 'Russo One', 'Open Sans', Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 2px;
}

@media (max-width: 768px) {
  #crdAllMaterials .caf-pages {
    margin-top: 28px;
    padding-top: 20px;
    gap: 8px;
  }
}

/* This page intentionally has no buttons. Neutralize accidental injected buttons. */
#crdAllMaterials button,
#crdAllMaterials input,
#crdAllMaterials select,
#crdAllMaterials form,
#crdAllMaterials [data-feed-retry],
#crdAllMaterials [data-feed-status],
#crdAllMaterials [data-feed-snapshot],
#crdAllMaterials .caf-head,
#crdAllMaterials .caf-toolbar,
#crdAllMaterials .caf-notice {
  display: none !important;
}

#crdAllMaterials [data-feed-error] {
  margin: 20px 20px 0;
  color: #8f8374;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

#crdAllMaterials [hidden] {
  display: none !important;
}

/* =========================================================
   RESPONSIVE — follows VULKK breakpoints:
   768–1024 = 2 columns, <=767 = 1 column.
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {
  .crd-all-materials-page {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #crdAllMaterials {
    max-width: 760px;
  }

  #crdAllMaterials .caf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #crdAllMaterials .caf-media {
    height: 187px;
  }
}

@media (max-width: 767px) {
  .crd-all-materials-page {
    padding: 0 14px 52px !important;
  }

  #crdAllMaterials {
    --caf-scroll-offset: 88px;
    max-width: 560px;
  }

  #crdAllMaterials .caf-grid {
    grid-template-columns: 1fr;
  }

  #crdAllMaterials .caf-card {
    padding: 0 0 24px;
  }

  #crdAllMaterials .caf-media {
    height: auto;
    min-height: 180px;
    aspect-ratio: 16 / 9;
  }

  #crdAllMaterials .caf-title,
  #crdAllMaterials .caf-excerpt {
    min-height: 0;
  }

  #crdAllMaterials .caf-title {
    font-size: 20px;
    -webkit-line-clamp: 4;
  }

  #crdAllMaterials .caf-excerpt {
    font-size: 14px;
    line-height: 1.65;
    -webkit-line-clamp: 5;
  }

  #crdAllMaterials .caf-meta {
    margin-top: 14px;
  }
}

@media (max-width: 420px) {
  .crd-all-materials-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #crdAllMaterials .caf-card-body {
    padding-left: 13px;
    padding-right: 13px;
  }

  #crdAllMaterials .caf-title {
    font-size: 19px;
  }

  #crdAllMaterials .caf-page,
  #crdAllMaterials .caf-page--current,
  #crdAllMaterials .caf-page-gap {
    padding-left: 4px;
    padding-right: 4px;
    font-size: 12px;
  }
}


@media (max-width: 767px) {
  #crdAllMaterials {
    padding-top: calc(var(--tn-mobile-height, 56px) + 28px) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #crdAllMaterials .caf-media img {
    transition: none !important;
  }
}
