.c2-category-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px !important;
  overflow: visible !important;
}

.c2-category-card {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 164px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid rgba(255, 255, 255, .62) !important;
  border-radius: 18px !important;
  background: #0d0f12 !important;
  color: #fff !important;
  text-align: left !important;
  isolation: isolate;
  box-shadow: 0 12px 28px rgba(14, 18, 24, .13) !important;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  grid-column: span 3;
}

.c2-category-grid:has(> .c2-category-card:nth-child(5):last-child) > .c2-category-card {
  grid-column: span 4;
}

.c2-category-grid:has(> .c2-category-card:nth-child(5):last-child) > .c2-category-card:nth-last-child(-n + 2) {
  grid-column: span 6;
}

.c2-category-grid:has(> .c2-category-card:nth-child(7):last-child) > .c2-category-card:nth-last-child(-n + 3) {
  grid-column: span 4;
}

.c2-category-card-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  transition: transform .24s ease;
}

.c2-category-card-shade {
  display: none;
}

.c2-category-card-copy {
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: flex-start;
  gap: 6px !important;
  width: 78%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  padding: 15px 18px 18px !important;
  color: #fff !important;
  text-align: left !important;
}

.c2-category-card-logo {
  display: block;
  width: auto;
  max-width: 146px;
  height: 40px;
  object-fit: contain;
  object-position: left center;
  padding: 3px 7px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
}

.c2-category-card-accessible-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.c2-category-card-copy strong {
  color: #fff !important;
  font-size: 23px;
  font-weight: 900;
  line-height: 1.06;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .78);
}

.c2-category-card-copy > span {
  color: #fff !important;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.22;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .86);
}

.c2-category-card-copy small {
  display: none !important;
}

.c2-category-card:hover { transform: translateY(-3px); border-color: #ffd129 !important; }
.c2-category-card:hover .c2-category-card-image { transform: scale(1.025); }
.c2-category-card.is-active { border-color: #ffd129 !important; box-shadow: 0 0 0 3px rgba(255, 209, 41, .2), 0 14px 32px rgba(14, 18, 24, .18) !important; }
.c2-category-card.is-active::after { content: '✓'; position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #ffd129; color: #111318; font-weight: 950; }
.c2-category-card:focus-visible { outline: 3px solid #111318 !important; outline-offset: 3px; }

.c2-catalog-journey {
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(0, 2fr);
  gap: 18px;
  align-items: center;
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid #e2e4e8;
  border-left: 5px solid #ffd129;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(17, 19, 24, .06);
}

.c2-catalog-journey__intro { display: grid; gap: 4px; }
.c2-catalog-journey__intro strong { color: #111318; font-size: 15px; font-weight: 950; }
.c2-catalog-journey__intro span { color: #666a72; font-size: 12px; font-weight: 700; line-height: 1.35; }
.c2-catalog-journey__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.c2-catalog-journey__step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 1px 9px; align-items: center; min-height: 58px; padding: 8px 10px; border-radius: 12px; background: #f6f7f9; }
.c2-catalog-journey__number { grid-row: 1 / span 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #ffd129; color: #111318; font-size: 12px; font-weight: 950; }
.c2-catalog-journey__step strong { color: #111318; font-size: 12px; font-weight: 950; line-height: 1.15; }
.c2-catalog-journey__step small { color: #696d75; font-size: 10px; font-weight: 750; line-height: 1.2; }

.ccast-pack-search[data-rp-catalog-search],
.ctl-code-search[data-rp-catalog-search],
.cfv-code-search[data-rp-catalog-search],
.cbb-code-search[data-rp-catalog-search],
.cyu-code-search[data-rp-catalog-search],
.clo-code-search[data-rp-catalog-search],
.cmafra-code[data-rp-catalog-search] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  padding: 7px 11px !important;
  border: 1px solid #d7aa00 !important;
  border-radius: 10px !important;
  background: #ffd129 !important;
  color: #111318 !important;
  box-shadow: 0 5px 13px rgba(190, 145, 0, .16);
  text-align: center !important;
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.ccast-pack-search[data-rp-catalog-search]:hover,
.ctl-code-search[data-rp-catalog-search]:hover,
.cfv-code-search[data-rp-catalog-search]:hover,
.cbb-code-search[data-rp-catalog-search]:hover,
.cyu-code-search[data-rp-catalog-search]:hover,
.clo-code-search[data-rp-catalog-search]:hover,
.cmafra-code[data-rp-catalog-search]:hover { transform: translateY(-2px); background: #ffdc55 !important; box-shadow: 0 8px 18px rgba(190, 145, 0, .24); }

.ccast-pack-search[data-rp-catalog-search]:focus-visible,
.ctl-code-search[data-rp-catalog-search]:focus-visible,
.cfv-code-search[data-rp-catalog-search]:focus-visible,
.cbb-code-search[data-rp-catalog-search]:focus-visible,
.cyu-code-search[data-rp-catalog-search]:focus-visible,
.clo-code-search[data-rp-catalog-search]:focus-visible,
.cmafra-code[data-rp-catalog-search]:focus-visible { outline: 3px solid #111318 !important; outline-offset: 3px !important; }

@media (max-width: 980px) {
  .c2-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c2-category-grid > .c2-category-card { grid-column: auto !important; }
  .c2-catalog-journey { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .c2-category-grid { grid-template-columns: 1fr; }
  .c2-category-card { min-height: 148px !important; }
  .c2-category-card-copy { width: 82%; min-height: 0 !important; padding: 14px 16px 16px !important; }
  .c2-category-card-logo { height: 34px; max-width: 138px; }
  .c2-category-card-copy strong { font-size: 21px; }
  .c2-category-card-copy > span { font-size: 15px; }
  .c2-catalog-journey { gap: 12px; padding: 14px; }
  .c2-catalog-journey__steps { grid-template-columns: 1fr; }
  .c2-catalog-journey__step { min-height: 52px; }
}

/* Cristiano 2026-10-01: uniform category tiles and translucent backgrounds. */
:is(.three-m-shell,.varta-shell) .c2-category-grid,
.cph-shell .cph-category-grid,.ctu-shell .ctu-category-grid {
  grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))!important;
  grid-auto-rows:220px;gap:12px!important;
}
:is(.three-m-shell,.varta-shell) .c2-category-grid > .c2-category-card,
.cph-shell .cph-category,.ctu-shell .ctu-category {
  grid-column:auto!important;height:220px!important;min-height:220px!important;
  width:100%;box-sizing:border-box;background:#fff!important;color:#172535!important;
  border:2px solid #d6dde5!important;border-radius:18px;
}
:is(.three-m-shell,.varta-shell) .c2-category-card-image,
.cph-shell .cph-category-image,.ctu-shell .ctu-category-image {opacity:.22!important;}
.ctu-shell .ctu-category:after {background:none;}
:is(.three-m-shell,.varta-shell) .c2-category-card-copy,
.cph-shell .cph-category-copy,.ctu-shell .ctu-category-copy {
  inset:0!important;width:100%!important;max-width:none!important;height:100%;
  padding:16px!important;box-sizing:border-box;gap:7px!important;overflow-wrap:anywhere;
}
:is(.three-m-shell,.varta-shell) .c2-category-card-copy strong,
.cph-shell .cph-category-copy strong,.ctu-shell .ctu-category-copy strong {
  color:#172535!important;text-shadow:none!important;font-size:21px;line-height:1.15;
}
:is(.three-m-shell,.varta-shell) .c2-category-card-copy > span,
.cph-shell .cph-category-copy > span,.ctu-shell .ctu-category-copy > span {
  color:#33465a!important;text-shadow:none!important;font-size:14px;line-height:1.3;
}
:is(.three-m-shell,.varta-shell) .c2-category-card.is-active,
.cph-shell .cph-category.is-active,.ctu-shell .ctu-category.is-active {
  border-color:#e1af00!important;box-shadow:0 0 0 2px #ffdc6570!important;
}

/* Main catalog directory: equal tiles in aligned columns, including the last row. */
.ccat-filter-grid {grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:164px;gap:12px;}
.ccat-filter-grid > .ccat-filter {grid-column:auto;height:164px;min-height:164px;box-sizing:border-box;background:#fff;border-color:#d6dde5;}
.ccat-filter-grid .ccat-filter-photo {opacity:.8;transition:opacity .2s ease,filter .2s ease,transform .2s ease;}
.ccat-filter-grid .ccat-filter-copy {width:100%;padding:18px 20px;}
.ccat-filter-grid .ccat-filter-copy strong {color:#fff!important;text-shadow:0 2px 6px #000,0 0 14px #000!important;}
.ccat-filter-grid .ccat-filter-description {color:#fff!important;text-shadow:0 2px 6px #000,0 0 12px #000!important;}
.ccat-filter-grid .ccat-filter.is-active {border-color:#e1af00;}
@media(max-width:980px){.ccat-filter-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.ccat-filter-grid {grid-template-columns:1fr;}}

.ccat-filter-grid > .ccat-filter:hover,
.ccat-filter-grid > .ccat-filter:focus-visible {
  border-color:#f0bd16;
  box-shadow:0 0 0 3px rgba(255,209,41,.35),0 0 24px rgba(255,194,0,.40);
  transform:translateY(-2px);
}
.ccat-filter-grid .ccat-filter:hover .ccat-filter-photo,
.ccat-filter-grid .ccat-filter:focus-visible .ccat-filter-photo {
  opacity:1;filter:saturate(1.08) brightness(1.12);transform:scale(1.025);
}
@media(prefers-reduced-motion:reduce){
 .ccat-filter-grid > .ccat-filter,.ccat-filter-grid .ccat-filter-photo {transition:none;}
 .ccat-filter-grid > .ccat-filter:hover,.ccat-filter-grid > .ccat-filter:focus-visible {transform:none;}
}