/* Category presentation only; native AJAX containers and product behavior remain intact. */
.csn-category {
  --csn-night: #071425;
  --csn-surface: #10283f;
  --csn-cyan: #68e7f5;
  --csn-ink: #edf6ff;
  --csn-muted: #c2d6e7;
  min-width: 0;
  padding-block: 12px 48px;
}
.csn-category .category__header {
  padding: clamp(24px, 4vw, 48px);
  margin-bottom: 32px;
  border: 1px solid #34566f;
  border-radius: 18px;
  background: radial-gradient(ellipse at top right, #194b5c, transparent 70%), var(--csn-night);
  color: var(--csn-ink);
  overflow-wrap: anywhere;
}
.csn-category .category__header h1 {
  color: var(--csn-ink);
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  line-height: 1.18;
  letter-spacing: -.025em;
  margin-bottom: 24px;
}
.csn-category .category__description {
  color: var(--csn-muted);
  font-size: 1rem;
  line-height: 1.8;
  max-width: 75ch;
}
.csn-category .category__description p:last-child { margin-bottom: 0; }
.csn-category .category__description a { color: var(--csn-cyan); text-underline-offset: 4px; }
.csn-category .category__cover { margin-top: 24px; border-radius: 12px; overflow: hidden; }
.csn-category .category__cover-image { width: 100%; height: auto; }
.csn-category .products__selection { gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.csn-category #js-product-list > .products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.csn-category #js-product-list > .products > .product-miniature {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
}
.csn-category #js-product-list > .products > .product-miniature:only-child { grid-column: 1 / -1; }
.csn-category .product-miniature .product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: linear-gradient(145deg, var(--csn-surface), #0a1c30);
  border: 1px solid #34566f;
  border-radius: 16px;
  box-shadow: 0 12px 32px #07142514;
}
.csn-category .product-miniature .product-miniature__top { background: #132e47; }
.csn-category .product-miniature .product-miniature__image-container { max-width: 220px; margin-inline: auto; }
.csn-category .product-miniature .product-miniature__image { object-fit: contain; }
.csn-category .product-miniature .product-miniature__bottom {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 24px;
  padding: clamp(24px, 3vw, 36px);
  min-width: 0;
}
.csn-category .product-miniature .product-miniature__infos { flex: 1; }
.csn-category .product-miniature .product-miniature__title {
  display: block;
  color: var(--csn-ink);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.4;
  overflow-wrap: anywhere;
  /* Override the native thumbnail title clamp for service names. */
  -webkit-line-clamp: unset;
  white-space: normal;
  max-height: none;
}
.csn-category .product-miniature .product-miniature__title:hover { color: var(--csn-cyan); }
.csn-category .csn-product-summary {
  margin: 16px 0 24px;
  color: var(--csn-muted);
  font-size: 1rem;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.csn-category .product-miniature .product-miniature__price {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1.3;
  color: var(--csn-cyan);
  font-weight: 750;
}
.csn-category .product-miniature .product-miniature__prices { margin-top: 24px; color: var(--csn-muted); }
.csn-category .product-miniature .product-miniature__regular-price { color: var(--csn-muted); }
.csn-category .csn-offer-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  min-height: 48px;
  padding: 13px 20px;
  border: 1px solid var(--csn-cyan);
  border-radius: 9px;
  background: var(--csn-cyan);
  color: #062031;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.5;
}
.csn-category .csn-offer-link:hover { background: #a6f4ff; border-color: #a6f4ff; color: #062031; }
.csn-category .csn-offer-link:focus-visible,
.csn-category .product-miniature__title:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.csn-category .category__description a:focus-visible { outline: 3px solid var(--csn-cyan); outline-offset: 4px; }
.csn-category .product-miniature .product-miniature__form { flex-wrap: wrap; gap: 12px; }
.csn-category .products__pagination { margin-top: 32px; }
.csn-category .category__footer { margin-top: 32px; line-height: 1.8; }
@media (min-width: 992px) {
  .csn-category #js-product-list > .products > .product-miniature:only-child .product-miniature__inner {
    display: grid;
    grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);
  }
  .csn-category #js-product-list > .products > .product-miniature:only-child .product-miniature__top {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 280px;
  }
  .csn-category #js-product-list > .products > .product-miniature:only-child .product-miniature__title { font-size: 1.85rem; }
}
@media (max-width: 767px) {
  .csn-category #js-product-list > .products { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .csn-category .category__header { margin-bottom: 24px; border-radius: 14px; }
  .csn-category .product-miniature .product-miniature__bottom { padding: 24px; }
}
