/*
 * Responsive adaptation test contour — 2026-07-24.
 * This layer changes layout behavior only. Colors, typefaces, copy and the
 * established component appearance remain owned by style.css.
 */

html,
body,
.page-shell,
main#top,
main.doc-main,
main#top.profile-main-redesign {
  width: 100% !important;
  max-width: 100% !important;
}

html {
  min-width: 0;
  overflow-x: clip;
}

body {
  min-width: 0 !important;
  overflow-x: clip;
}

.site-header {
  width: 100% !important;
  max-width: 100% !important;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

input,
select,
textarea,
button {
  min-width: 0;
  max-width: 100%;
}

.contact-chat-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
}

.contact-chat-input input {
  padding-right: 18px;
  padding-left: 18px;
}

.contact-chat-input button {
  position: static;
  width: 42px;
  height: 42px;
  transform: none;
}

:where(
  h1,
  h2,
  h3,
  p,
  li,
  a,
  span,
  .header-email,
  .footer-contacts,
  .contact-info-card,
  .doc-card,
  .doc-article-card,
  .profile-info-card
) {
  overflow-wrap: anywhere;
}

/* Keep the court-practice kicker and heading on separate, stable rows. */
#sudebnaya-praktika .section-head-cases {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#sudebnaya-praktika .section-head-cases > .eyebrow + h2 {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}

@media (max-width: 760px) {
  #sudebnaya-praktika .section-head-cases {
    align-items: center;
  }
}

/* Intermediate widths must retain the lead-card gutters on both sides. */
@media (min-width: 761px) and (max-width: 1180px) {
  .section-lead .lead-quiz-module {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* The compact desktop header still has enough room for one schedule line. */
@media (min-width: 1025px) and (max-width: 1120px) {
  .site-header .header-office div:last-child,
  .site-header.is-scrolled .header-office div:last-child {
    max-width: none;
    white-space: nowrap;
  }
}

/* Keep the square lawyer portrait whole at every non-mobile width. */
@media (min-width: 761px) {
  #pomoshch-transportnykh-yuristov .lead-intro-photo {
    align-self: start;
    aspect-ratio: 1 / 1;
  }

  #pomoshch-transportnykh-yuristov .lead-intro-photo img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
  }
}

/* Tablet composition: compact header, predominantly single-column content. */
@media (min-width: 761px) and (max-width: 1024.99px) {
  .site-header .header-inner,
  .site-header.is-scrolled .header-inner {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto 54px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 8px 12px;
    width: min(calc(100% - 40px), var(--container));
    padding: 10px 0;
  }

  .site-header .brand,
  .site-header.is-scrolled .brand {
    display: inline-flex;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    justify-content: flex-start;
    min-width: 0;
    width: 100%;
    padding: 0;
  }

  .site-header .brand-picture,
  .site-header.is-scrolled .brand-picture {
    width: min(100%, 252px);
  }

  .site-header .brand-logo,
  .site-header.is-scrolled .brand-logo {
    width: 100%;
    max-width: 252px;
  }

  .site-header .header-office,
  .site-header .header-contact,
  .site-header.is-scrolled .header-office,
  .site-header.is-scrolled .header-contact {
    display: none !important;
  }

  .site-header .header-compact-actions,
  .site-header.is-scrolled .header-compact-actions {
    display: inline-flex !important;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: auto;
    min-height: 42px;
    gap: 7px;
    margin: 0;
    padding: 0;
    transform: none;
  }

  .site-header .header-compact-action,
  .site-header .header-compact-action:first-child,
  .site-header.is-scrolled .header-compact-action,
  .site-header.is-scrolled .header-compact-action:first-child {
    display: inline-flex !important;
    width: 42px;
    height: 42px;
    border-radius: 11px;
  }

  .site-header .header-compact-action img,
  .site-header.is-scrolled .header-compact-action img {
    width: 26px;
    height: 26px;
  }

  .site-header .nav-toggle,
  .site-header.is-scrolled .nav-toggle {
    display: inline-flex !important;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 54px;
    height: 54px;
    border-radius: 15px;
  }

  .site-header .site-nav,
  .site-header.is-scrolled .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-height: calc(var(--responsive-viewport-height, 100dvh) - 88px);
    margin: 8px 0 0;
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(17, 24, 39, 0.1);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 38px rgba(17, 24, 39, 0.1);
    text-align: center;
  }

  .site-header .site-nav:not(.is-open),
  .site-header.is-scrolled .site-nav:not(.is-open) {
    display: none !important;
  }

  .site-header .site-nav.is-open,
  .site-header.is-scrolled .site-nav.is-open {
    display: grid !important;
    gap: 0;
  }

  .site-header .site-nav > a,
  .site-header.is-scrolled .site-nav > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px;
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
    color: #0f172a;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
  }

  .site-header .site-nav > a:last-of-type,
  .site-header.is-scrolled .site-nav > a:last-of-type {
    border-bottom: 0;
  }

  .site-header .site-nav-mobile-meta,
  .site-header.is-scrolled .site-nav-mobile-meta {
    display: grid;
    justify-items: center;
    width: 100%;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
  }

  .site-header .site-nav-phone,
  .site-header.is-scrolled .site-nav-phone {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    border-radius: 14px;
    font-size: 1rem;
    text-align: center;
    box-shadow: none;
  }

  .rights-hero .rights-hero-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "copy"
      "form" !important;
    gap: 24px;
    width: 100%;
    max-width: none;
  }

  .rights-hero-left {
    grid-area: copy;
    min-width: 0;
  }

  .rights-hero-inline-form {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    grid-area: form;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .rights-hero .rights-hero-inline-form .consent-check,
  .rights-hero .rights-hero-inline-form .consent-check span {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  .rights-hero .rights-hero-inline-form .consent-check {
    width: 100%;
  }

  .rights-hero-mobile-cta {
    display: none !important;
  }

  .rights-hero-title-line,
  .rights-hero-title-accent {
    white-space: normal;
  }

  .hero-advantages-grid,
  .rights-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-advantages-grid > :last-child:nth-child(odd),
  .rights-services-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, calc((100% - 18px) / 2));
  }

  main#top .trust-proof-slide-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: start;
    gap: 24px;
    min-height: 0;
    padding: 30px 48px 62px;
  }

  main#top .trust-proof-copy {
    justify-self: center;
    max-width: 720px;
  }

  main#top .trust-proof-visual {
    width: 100%;
    min-width: 0;
  }

  .lead-layout,
  #pomoshch-transportnykh-yuristov .lead-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .lead-layout > *,
  .lead-copy,
  .lead-intro-layout,
  .lead-quiz-module {
    width: 100%;
    max-width: 100%;
  }

  #pomoshch-transportnykh-yuristov .lead-intro-main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px;
  }

  #pomoshch-transportnykh-yuristov .lead-intro-photo {
    align-self: auto;
    justify-self: center;
    width: min(100%, 520px);
    aspect-ratio: 1 / 1;
  }

  #pomoshch-transportnykh-yuristov .lead-intro-photo img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
  }

  #pomoshch-transportnykh-yuristov .lead-intro-main-copy,
  #pomoshch-transportnykh-yuristov .lead-intro-bottom,
  .lead-reasons {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .lead-reasons li,
  .lead-reasons li:last-child {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }

  .quiz-layout,
  .section-lead .lead-quiz-module .quiz-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0;
    min-height: 0 !important;
    padding: 0 0 20px;
  }

  .quiz-panel,
  .quiz-stage,
  .quiz-side,
  .quiz-side-card {
    width: 100%;
    min-width: 0;
    min-height: 0 !important;
  }

  #ekspress-otsenka-shtrafa .quiz-topline,
  #ekspress-otsenka-shtrafa .quiz-stage,
  #ekspress-otsenka-shtrafa .quiz-footer {
    padding-right: 24px;
    padding-left: 24px;
  }

  .quiz-side {
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start;
    gap: 16px;
    padding: 24px;
  }

  .quiz-side-banners {
    width: min(100%, 620px);
    justify-self: center;
  }

  .quiz-side-banners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .quiz-result-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #rezultaty-na-saytah-sudov .court-results-intro {
    margin-top: 18px !important;
  }

  .pricing-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .pricing-installment-note {
    position: static !important;
    inset: auto !important;
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    width: min(100%, 540px);
    margin: 16px auto 0;
  }

  .pricing-head-free-note {
    grid-column: auto;
    grid-row: auto;
  }

  .pricing-calculator,
  .pricing-tariffs,
  .pricing-fleet {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #cases-grid.cases-grid,
  .court-results-grid,
  #nash-podkhod .reason-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #nash-podkhod .reason-grid > .reason-card-accent {
    grid-column: auto !important;
  }

  #cases-grid .case-card {
    justify-items: center;
    text-align: center;
  }

  #nashi-yuristy .expert-card,
  .experts-stack .expert-card {
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) !important;
    min-height: 0;
    height: auto;
  }

  #nashi-yuristy .expert-media,
  .experts-stack .expert-media {
    min-height: 100%;
    aspect-ratio: auto;
    border-right: 1px solid rgba(17, 24, 39, 0.1);
    border-bottom: 0;
  }

  #nashi-yuristy .expert-picture,
  #nashi-yuristy .expert-photo,
  .experts-stack .expert-picture,
  .experts-stack .expert-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .guarantees-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .guarantees-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, calc((100% - 18px) / 2));
  }

  #nashi-garantii .guarantees-head,
  #chastye-voprosy .faq-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
    gap: 16px;
  }

  #nashi-garantii .guarantees-head > .eyebrow,
  #nashi-garantii .guarantees-head > h2,
  #chastye-voprosy .faq-head > .eyebrow,
  #chastye-voprosy .faq-head > h2 {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left;
  }

  .faq-accordion {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .contact-card-redesign,
  .contact-intro {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .contact-card-redesign .contact-intro p:not(.eyebrow) {
    grid-column: 1;
    grid-row: auto;
  }

  .contact-list-redesign {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas:
      "phone email"
      "address address"
      "hours note";
  }

  #kontakty .contact-info-card--wide {
    grid-column: 1 / -1;
  }

  .contact-map-frame {
    height: 230px;
  }

  .footer-main {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }

  .footer-brand-block,
  .footer-nav,
  .footer-contacts {
    justify-items: center;
    max-width: 680px;
  }

  .footer-bottom,
  .footer-legal {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .site-footer {
    padding-bottom: 118px;
  }

  .cookie-popup {
    left: 16px;
    right: auto;
    bottom: 16px;
    width: min(360px, calc(100% - 404px));
  }

  .cookie-popup__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
  }

  .cookie-popup__button {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  .modal-dialog,
  .modal-dialog-form,
  .modal-dialog-success,
  .modal-dialog-doc-preview {
    max-width: calc(100% - 32px);
    max-height: calc(var(--responsive-viewport-height, 100dvh) - 32px);
    overflow: auto;
  }

  #doc-preview-modal .modal-dialog-doc-preview {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin-right: auto;
    margin-left: auto;
  }
}

/* The 900/901 component boundary prevents narrow card columns. */
@media (min-width: 761px) and (max-width: 900px) {
  .hero-advantages-grid,
  .rights-services-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-advantages-grid > :last-child:nth-child(odd),
  .rights-services-grid > :last-child:nth-child(odd) {
    grid-column: auto;
    width: 100%;
  }
}

/* Desktop begins strictly at 1025px; the full email returns at 1181px. */
@media (min-width: 1025px) and (max-width: 1180px) {
  .header-contact-email-row .header-email {
    position: relative;
    width: 36px;
    height: 36px;
  }

  .header-contact-email-row .header-email span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .header-contact-email-row .header-contact-icon {
    width: 18px;
    height: 16px;
    flex-basis: 18px;
  }
}

@media (min-width: 1181px) {
  .header-contact-email-row .header-email {
    width: auto;
    height: auto;
  }

  .header-contact-email-row .header-email span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: nowrap;
  }
}

/* Mobile landscape and the test-contour desktop-mode emulation. */
@media (orientation: landscape) and (max-height: 620px) and (max-width: 1024.99px) {
  .site-header .header-inner,
  .site-header.is-scrolled .header-inner {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto 52px;
    grid-template-rows: auto auto;
    gap: 6px 10px;
    width: min(calc(100% - 24px), var(--container));
    padding: 8px 0;
  }

  .site-header .brand,
  .site-header.is-scrolled .brand {
    display: inline-flex;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    padding: 0;
  }

  .site-header .brand-picture,
  .site-header.is-scrolled .brand-picture {
    width: min(100%, 236px);
  }

  .site-header .brand-logo,
  .site-header.is-scrolled .brand-logo {
    width: 100%;
    max-width: 236px;
  }

  .site-header .header-office,
  .site-header .header-contact,
  .site-header.is-scrolled .header-office,
  .site-header.is-scrolled .header-contact {
    display: none !important;
  }

  .site-header .header-compact-actions,
  .site-header.is-scrolled .header-compact-actions {
    display: inline-flex !important;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: auto;
    min-height: 38px;
    gap: 6px;
    margin: 0;
    transform: none;
  }

  .site-header .header-compact-action,
  .site-header .header-compact-action:first-child,
  .site-header.is-scrolled .header-compact-action,
  .site-header.is-scrolled .header-compact-action:first-child {
    display: inline-flex !important;
    width: 38px;
    height: 38px;
    border-radius: 10px;
  }

  .site-header .header-compact-action img,
  .site-header.is-scrolled .header-compact-action img {
    width: 23px;
    height: 23px;
  }

  .site-header .nav-toggle,
  .site-header.is-scrolled .nav-toggle {
    display: inline-flex !important;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }

  .site-header .site-nav,
  .site-header.is-scrolled .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-height: calc(var(--responsive-viewport-height, 100dvh) - 72px);
    margin: 0;
    overflow-y: auto;
  }

  .header-contact-email-row,
  .header-email {
    display: none !important;
  }

  .contact-widget {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    width: 64px;
    height: 64px;
  }

  .contact-widget-launcher,
  .contact-chat,
  .contact-widget-reminder {
    display: none !important;
  }

  .contact-mobile-quiz-button {
    position: relative;
    display: block;
    width: 64px;
    height: 64px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    font: inherit;
    background: transparent;
    box-shadow: 0 14px 30px rgba(17, 24, 39, 0.24);
    cursor: pointer;
  }

  .contact-mobile-quiz-button-face {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    transition: opacity 0.22s ease, transform 0.22s ease;
  }

  .contact-mobile-quiz-button-face--avatar {
    background: #e9eef4;
    animation: responsiveLandscapeQuizAvatar 6s infinite;
  }

  .contact-mobile-quiz-button-face--avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 34%;
  }

  .contact-mobile-quiz-button-face--cta {
    padding: 0 8px;
    color: #fff;
    text-align: center;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.14;
    background: #14c90b;
    animation: responsiveLandscapeQuizCta 6s infinite;
  }

  .cookie-popup {
    left: 16px;
    right: auto;
    bottom: max(16px, env(safe-area-inset-bottom));
    width: min(360px, calc(100% - 120px));
  }

  .cookie-popup__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .cookie-popup__button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
  }

  .site-footer {
    padding-bottom: 96px;
  }
}

@keyframes responsiveLandscapeQuizAvatar {
  0%,
  46%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50%,
  96% {
    opacity: 0;
    transform: scale(0.94);
  }
}

@keyframes responsiveLandscapeQuizCta {
  0%,
  46%,
  100% {
    opacity: 0;
    transform: scale(0.94);
  }

  50%,
  96% {
    opacity: 1;
    transform: scale(1);
  }
}

html.is-mobile-desktop-mode .contact-widget {
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  width: 64px;
  height: 64px;
}

html.is-mobile-desktop-mode .contact-widget-launcher,
html.is-mobile-desktop-mode .contact-chat,
html.is-mobile-desktop-mode .contact-widget-reminder {
  display: none !important;
}

html.is-mobile-desktop-mode .contact-mobile-quiz-button {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.24);
}

html.is-mobile-desktop-mode .cookie-popup {
  left: 16px;
  right: auto;
  width: min(360px, calc(100% - 120px));
}

/* Narrow-phone hardening without introducing an artificial 320px floor. */
@media (max-width: 760px) {
  html,
  body,
  .page-shell,
  main#top,
  .site-header {
    width: 100% !important;
    max-width: 100% !important;
  }

  .container,
  .hero-grid {
    width: min(calc(100% - 28px), var(--container));
    max-width: calc(100% - 28px);
  }

  .rights-hero-title-line,
  .rights-hero-title-accent,
  .cases-inline-form-title-line {
    white-space: normal;
  }

  #cases-grid.cases-grid,
  .court-results-grid,
  .guarantees-grid,
  .faq-accordion,
  .contact-list-redesign,
  .footer-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .footer-main,
  .footer-brand-block,
  .footer-nav,
  .footer-contacts,
  .footer-bottom,
  .footer-legal {
    justify-items: center;
    align-items: center;
    text-align: center;
  }

  .footer-bottom,
  .footer-legal {
    flex-direction: column;
  }

  .site-footer {
    padding-bottom: 118px;
  }

  .modal-dialog,
  .modal-dialog-form,
  .modal-dialog-success,
  .modal-dialog-doc-preview {
    width: min(100%, calc(100% - 20px));
    max-width: calc(100% - 20px);
    max-height: calc(var(--responsive-viewport-height, 100dvh) - 20px);
    overflow: auto;
  }

  #doc-preview-modal .modal-dialog-doc-preview {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    margin-right: auto;
    margin-left: auto;
  }

  #doc-preview-modal .doc-preview-nav {
    width: 38px;
    height: 38px;
  }
}

/* Tablet section headers use the same centered composition as mobile. */
@media (min-width: 761px) and (max-width: 1024.99px) {
  #ekspress-otsenka-shtrafa .quiz-topline {
    justify-content: center;
    text-align: center;
  }

  #ekspress-otsenka-shtrafa .quiz-topline-accent {
    text-align: center;
  }

  #ekspress-otsenka-shtrafa [data-quiz-question] {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  #ekspress-otsenka-shtrafa .quiz-side-card--accent .quiz-side-list {
    justify-items: center;
  }

  #ekspress-otsenka-shtrafa .quiz-side-card--accent .quiz-side-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 10px;
    width: fit-content;
    max-width: 100%;
    padding-left: 0;
    text-align: left;
  }

  #ekspress-otsenka-shtrafa .quiz-side-card--accent .quiz-side-list li::before {
    position: static;
    grid-column: 1;
  }

  .hero-panel-head,
  .promo-copy,
  .section-head.situations-head,
  .section-cases .section-head-cases,
  .lead-copy,
  .reasons-hero,
  .court-results-head,
  .section-head-team,
  .guarantees-head,
  .faq-head,
  .contact-intro,
  .pricing-head,
  .rights-services-head {
    justify-items: center;
    text-align: center !important;
  }

  .hero-panel-head > .eyebrow,
  .promo-copy > .eyebrow,
  .section-head.situations-head > .eyebrow,
  .section-cases .section-head-cases > .eyebrow,
  .lead-copy > .eyebrow,
  .reasons-hero > .eyebrow,
  .court-results-head > .eyebrow,
  .section-head-team > .eyebrow,
  .guarantees-head > .eyebrow,
  .faq-head > .eyebrow,
  .contact-intro > .eyebrow,
  .pricing-head > .eyebrow,
  .rights-services-head > .eyebrow {
    justify-self: center;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  .hero-panel-head > :is(h1, h2, p:not(.eyebrow)),
  .promo-copy > :is(h1, h2, p:not(.eyebrow)),
  .section-head.situations-head > :is(h1, h2, p:not(.eyebrow)),
  .section-cases .section-head-cases > :is(h1, h2, p:not(.eyebrow)),
  .lead-copy > :is(h1, h2, p:not(.eyebrow)),
  .reasons-hero > :is(h1, h2, p:not(.eyebrow)),
  .court-results-head > :is(h1, h2, p:not(.eyebrow)),
  .section-head-team > :is(h1, h2, p:not(.eyebrow)),
  .guarantees-head > :is(h1, h2, p:not(.eyebrow)),
  .faq-head > :is(h1, h2, p:not(.eyebrow)),
  .contact-intro > :is(h1, h2, p:not(.eyebrow)),
  .pricing-head > :is(h1, h2, p:not(.eyebrow)),
  .rights-services-head > :is(h1, h2, p:not(.eyebrow)) {
    justify-self: center;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }
}

/* Let every court-result title define its card height instead of clipping. */
.court-result-card:not([open]) summary {
  height: auto;
}

.court-result-title {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Center the content of every contact card at every breakpoint. */
#kontakty .contact-info-card {
  justify-items: center;
  text-align: center;
}

#kontakty .contact-info-card > :is(h3, p, a),
#kontakty .contact-info-icon {
  justify-self: center;
  text-align: center;
}

#kontakty .contact-map-frame {
  justify-self: stretch;
  width: 100%;
}
