/* Shared quality pass for the 11 regenerated case studies. Existing template structure is preserved. */
body.case-detail-v2 {
  --case-accent: #315cf5;
  --case-soft: #eef3ff;
  --case-ink: #30333f;
  --case-radius: 24px;
}

body.case-detail-v2[data-case-brand="fayni-lyody"] { --case-accent: #1757bd; --case-soft: #eef5ff; }
body.case-detail-v2[data-case-brand="nfm-agro-crm"] { --case-accent: #c21d23; --case-soft: #fff1f1; }
body.case-detail-v2[data-case-brand="uamade"] { --case-accent: #6c3aa0; --case-soft: #f6effb; }
body.case-detail-v2[data-case-brand="w8shipping-support"] { --case-accent: #e3004f; --case-soft: #fff0f5; }
body.case-detail-v2[data-case-brand="finboto"] { --case-accent: #008a76; --case-soft: #eaf8f5; }
body.case-detail-v2[data-case-brand="medhouse-club"] { --case-accent: #238f84; --case-soft: #ecf8f6; }
body.case-detail-v2[data-case-brand="veres-chatbot"] { --case-accent: #17763e; --case-soft: #edf7ef; }
body.case-detail-v2[data-case-brand="rehau-chatbot"] { --case-accent: #d9272e; --case-soft: #fff0f0; }
body.case-detail-v2[data-case-brand="virtualnyi-druh-selia"] { --case-accent: #6655c7; --case-soft: #f2f0ff; }
body.case-detail-v2[data-case-brand="kleiberit"] { --case-accent: #d1aa00; --case-soft: #fff9dc; }
body.case-detail-v2[data-case-brand="astra-dent"] { --case-accent: #245dcb; --case-soft: #edf4ff; }

body.case-detail-v2 main img {
  max-width: 100%;
}

body.case-detail-v2 .main-case__image,
body.case-detail-v2 .about-case__image,
body.case-detail-v2 .solution-case__image,
body.case-detail-v2 .system-case__image,
body.case-detail-v2 [class*="__image-wrap"] {
  overflow: hidden;
  border-radius: var(--case-radius);
}

body.case-detail-v2 :is(.astra-about__body-container, .astra-task-solution__body-container) {
  overflow: hidden;
  border-radius: var(--case-radius);
}

body.case-detail-v2 :is(.astra-task-solution__img, .astra-bot__img, .astra-bot__item, .astra-admin__item) {
  overflow: hidden;
  border-radius: calc(var(--case-radius) - 4px);
}

body.case-detail-v2 :is(.astra-task-solution__img, .astra-bot__img, .astra-bot__item, .astra-admin__item) :is(picture, img) {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

body.case-detail-v2 .astra-task-solution__text {
  max-width: 72ch;
}

body.case-detail-v2 :is(.astra-about__header, .astra-task-solution__header, .astra-bot__header, .astra-admin__header, .astra-functionality__header) {
  scroll-margin-top: 96px;
}

body.case-detail-v2 .other-projects .info__item.case-card-v2 {
  box-shadow: 0 16px 38px rgba(28, 39, 62, .1);
}

/* Legacy related grids expose only three named areas on mobile. The v2-only
   sets use an explicit responsive grid so the fourth recommendation remains
   visible without touching protected Jewelry/The Pod cards. */
body.case-detail-v2 .other-projects .info__items:has(> .case-card-v2):not(:has(> .portfolio-jewerly)):not(:has(> .pod)) {
  display: grid;
  grid-template: none / repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: auto;
  gap: 28px;
}

body.case-detail-v2 .other-projects .info__items:has(> .case-card-v2):not(:has(> .portfolio-jewerly)):not(:has(> .pod)) > .info__item {
  grid-area: auto !important;
}

body.case-detail-v2 :is(h1, h2, h3) {
  text-wrap: balance;
}

body.case-detail-v2 :is(p, li) {
  text-wrap: pretty;
}

body.case-detail-v2 :is(a, button, input, textarea, select):focus-visible {
  outline-color: var(--case-accent);
}

@media (max-width: 768px) {
  body.case-detail-v2 {
    --case-radius: 16px;
  }
  body.case-detail-v2 main {
    overflow-x: clip;
  }

  body.case-detail-v2 .other-projects .info__items:has(> .case-card-v2):not(:has(> .portfolio-jewerly)):not(:has(> .pod)) {
    grid-template: none / 1fr !important;
    gap: 20px;
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  body.case-detail-v2 .other-projects .info__items:has(> .case-card-v2):not(:has(> .portfolio-jewerly)):not(:has(> .pod)) {
    grid-template: none / repeat(2, minmax(0, 1fr)) !important;
    gap: 22px;
  }
}
