/* R50 — final signature microdesign.
   Preserves the approved structures while refining typography, colour and editorial detail. */

:root {
  --ac-font-display: "Newsreader", Georgia, serif;
  --ac-font-ui: "Manrope", Arial, sans-serif;
  --font-editorial: var(--ac-font-display);
  --font-ui: var(--ac-font-ui);
  --ac26-serif: var(--ac-font-display);
  --ac26-sans: var(--ac-font-ui);
  --r50-paper: #f8f4ec;
  --r50-paper-deep: #eee6d9;
  --r50-ivory: #fcfaf6;
  --r50-ink: #16252c;
  --r50-graphite: #3e4d52;
  --r50-muted: #687276;
  --r50-bronze: #9a7247;
  --r50-champagne: #c9ad82;
  --r50-line: rgba(22, 37, 44, .15);
}

html { text-rendering: optimizeLegibility; }
body { font-family: var(--ac-font-ui); }
body.ac26-page {
  --r14-serif: var(--ac-font-display);
  --r14-sans: var(--ac-font-ui);
  --r14-ink: var(--r50-ink);
  --r14-paper: var(--r50-ivory);
  --r14-ivory: var(--r50-paper);
  --r14-stone: var(--r50-paper-deep);
  --r14-bronze: var(--r50-bronze);
  --r14-line: var(--r50-line);
  --r14-dark: #112128;
}

::selection { color: var(--r50-ink); background: rgba(201, 173, 130, .42); }
:focus-visible { outline-color: var(--r50-bronze); outline-offset: 4px; }

body.ac29-r14 .site-header {
  background: rgba(248, 244, 236, .92) !important;
  border-bottom-color: rgba(22, 37, 44, .11) !important;
  box-shadow: 0 10px 32px rgba(22, 37, 44, .025);
}
body.ac29-r14 .site-brand__wordmark strong {
  font-family: var(--ac-font-display) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
}
body.ac29-r14 .site-nav a,
body.ac29-r14 .site-mobile-nav a,
body.ac29-r14 .site-header__cta {
  font-family: var(--ac-font-ui) !important;
}
body.ac29-r14 .site-nav a {
  position: relative;
  text-decoration: none;
}
body.ac29-r14 .site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  border-top: 1px solid var(--r50-bronze);
  transition: right .24s ease;
}
body.ac29-r14 .site-nav a:hover::after,
body.ac29-r14 .site-nav a:focus-visible::after,
body.ac29-r14 .site-nav a[aria-current="page"]::after { right: 0; }
body.ac29-r14 .site-header__cta,
body.ac29-r14 .ac26-btn,
body.ac29-r14 .p2-btn {
  transition: transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease;
}
body.ac29-r14 .site-header__cta:hover,
body.ac29-r14 .ac26-btn:hover,
body.ac29-r14 .p2-btn:hover { transform: translateY(-1px); }

/* Publications hub: a quiet magazine index, with a distinct image for every principal guide. */
.ac49-hub {
  --ac49-ivory: var(--r50-paper-deep);
  --ac49-paper: var(--r50-ivory);
  --ac49-ink: var(--r50-ink);
  --ac49-muted: var(--r50-muted);
  --ac49-bronze: var(--r50-bronze);
  --ac49-line: var(--r50-line);
  --ac49-dark: #112128;
}
.ac49-hub-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(201, 173, 130, .2), transparent 28%),
    linear-gradient(145deg, var(--r50-paper-deep), var(--r50-ivory) 62%) !important;
}
.ac49-hub-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -7%;
  bottom: -88px;
  width: min(44vw, 620px);
  height: 210px;
  border-top: 1px solid rgba(154, 114, 71, .42);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: rotate(-7deg);
}
.ac49-hub h1,
.ac49-hub h2,
.ac49-row-title { font-family: var(--ac-font-display) !important; }
.ac49-hub-hero h1 {
  font-weight: 500 !important;
  letter-spacing: -.052em !important;
  line-height: .92 !important;
}
.ac49-hub-kicker,
.ac49-row-num { font-family: var(--ac-font-ui) !important; }
.ac49-editorial-row {
  position: relative;
  transition: padding-left .22s ease, color .22s ease;
}
.ac49-editorial-row::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  border-bottom: 1px solid var(--r50-bronze);
  transition: width .3s ease;
}
.ac49-editorial-row:hover::after,
.ac49-editorial-row:focus-visible::after { width: 100%; }
.ac49-editorial-row:hover .ac49-row-arrow,
.ac49-editorial-row:focus-visible .ac49-row-arrow { transform: translateX(4px); }
.ac49-row-arrow { transition: transform .22s ease; }

@media (min-width: 861px) {
  .ac49-editorial-row.r50-has-thumb {
    grid-template-columns: 76px minmax(0, 1fr) 118px 28px;
    align-items: center;
  }
  .ac49-editorial-row.r50-has-thumb::before {
    content: "";
    grid-column: 3;
    grid-row: 1;
    width: 118px;
    aspect-ratio: 3 / 2;
    background-image: linear-gradient(rgba(22, 37, 44, .08), rgba(22, 37, 44, .08)), var(--r50-thumb);
    background-size: cover;
    background-position: center;
    filter: saturate(.72) contrast(.98);
    box-shadow: inset 0 0 0 1px rgba(22, 37, 44, .12);
    transition: filter .25s ease, transform .25s ease;
  }
  .ac49-editorial-row.r50-has-thumb:hover::before,
  .ac49-editorial-row.r50-has-thumb:focus-visible::before {
    filter: saturate(.9) contrast(1.02);
    transform: translateY(-2px);
  }
  .ac49-editorial-row.r50-has-thumb > .ac49-row-num { grid-column: 1; }
  .ac49-editorial-row.r50-has-thumb > span:nth-of-type(2) { grid-column: 2; }
  .ac49-editorial-row.r50-has-thumb > .ac49-row-arrow { grid-column: 4; }
}

.r50-thumb-p01 { --r50-thumb: url('/assets/publication-p01-poprire-cont-bancar.webp'); }
.r50-thumb-p02 { --r50-thumb: url('/assets/publication-p02-amenda-rutiera.webp'); }
.r50-thumb-p03 { --r50-thumb: url('/assets/publication-p03-mostenire-legala.webp'); }
.r50-thumb-p04 { --r50-thumb: url('/assets/publication-p04-copil-dupa-despartire.webp'); }
.r50-thumb-p05 { --r50-thumb: url('/assets/publication-p05-cumparare-imobil.webp'); }
.r50-thumb-p06 { --r50-thumb: url('/assets/publication-p06-audit-juridic-website.webp'); }
.r50-thumb-p07 { --r50-thumb: url('/assets/publication-p07-verificare-contract.webp'); }
.r50-thumb-p08 { --r50-thumb: url('/assets/publication-p08-redactare-contract.webp'); }
.r50-thumb-p09 { --r50-thumb: url('/assets/publication-p09-recuperare-datorie.webp'); }
.r50-thumb-p10 { --r50-thumb: url('/assets/publication-p10-notificare-juridica.webp'); }
.r50-thumb-p11 { --r50-thumb: url('/assets/publication-p11-act-primit-raspuns.webp'); }
.r50-thumb-p12 { --r50-thumb: url('/assets/publication-p12-modificari-firma-onrc.webp'); }
.r50-thumb-p13 { --r50-thumb: url('/assets/publication-p13-zbor-intarziat-anulat.webp'); }
.r50-thumb-p14 { --r50-thumb: url('/assets/publication-p14-retur-14-zile.webp'); }
.r50-thumb-p15 { --r50-thumb: url('/assets/publication-p15-restante-asociatie.webp'); }
.r50-thumb-p16 { --r50-thumb: url('/assets/publication-p16-despagubire-rca.webp'); }
.r50-thumb-p17 { --r50-thumb: url('/assets/publication-p17-inregistrare-marca.webp'); }
.r50-thumb-p18 { --r50-thumb: url('/assets/publication-p18-evacuare.webp'); }
.r50-thumb-p19 { --r50-thumb: url('/assets/publication-p19-decizie-concediere.webp'); }
.r50-thumb-p20 { --r50-thumb: url('/assets/publication-p20-problema-juridica.webp'); }

/* Individual publication palettes: one restrained accent family, never a rainbow. */
body.r50-publication {
  --r50-accent: #957049;
  --r50-accent-soft: rgba(149, 112, 73, .16);
  --ac49-paper: var(--r50-ivory);
  --ac49-ink: var(--r50-ink);
  --ac49-soft: #5f6565;
  --ac49-bronze: var(--r50-accent);
  --ac49-line: var(--r50-line);
  background:
    radial-gradient(circle at 8% 10%, var(--r50-accent-soft), transparent 23%),
    var(--r50-ivory);
  color: var(--r50-ink);
}
body.r50-p01, body.r50-p07, body.r50-p08 { --r50-accent: #94704a; --r50-accent-soft: rgba(148,112,74,.15); }
body.r50-p02, body.r50-p06, body.r50-p12 { --r50-accent: #58727a; --r50-accent-soft: rgba(88,114,122,.14); }
body.r50-p03, body.r50-p15 { --r50-accent: #6f745b; --r50-accent-soft: rgba(111,116,91,.14); }
body.r50-p04, body.r50-p19 { --r50-accent: #7d5d5d; --r50-accent-soft: rgba(125,93,93,.13); }
body.r50-p05, body.r50-p17 { --r50-accent: #8c704c; --r50-accent-soft: rgba(140,112,76,.14); }
body.r50-p09, body.r50-p11 { --r50-accent: #7a5852; --r50-accent-soft: rgba(122,88,82,.13); }
body.r50-p10, body.r50-p14 { --r50-accent: #956a52; --r50-accent-soft: rgba(149,106,82,.13); }
body.r50-p13, body.r50-p16 { --r50-accent: #526d78; --r50-accent-soft: rgba(82,109,120,.13); }
body.r50-p18, body.r50-p20 { --r50-accent: #74685a; --r50-accent-soft: rgba(116,104,90,.13); }

body.r50-publication .ac26-article-hero {
  background: linear-gradient(145deg, var(--r50-paper) 0%, var(--r50-ivory) 58%) !important;
}
body.r50-publication .ac26-article-hero::before {
  content: attr(data-folio);
  position: absolute;
  z-index: 6;
  left: 17px;
  top: 50%;
  writing-mode: vertical-rl;
  transform: translateY(-50%) rotate(180deg);
  font: 650 10px/1 var(--ac-font-ui);
  letter-spacing: .2em;
  color: var(--r50-accent);
}
body.r50-publication .r50-folio-mobile { display: none; }
body.r50-publication .ac26-article-hero__copy {
  border-left-color: color-mix(in srgb, var(--r50-accent) 46%, transparent) !important;
}
body.r50-publication .ac26-article-hero h1,
body.r50-publication .ac26-article-section h2,
body.r50-publication .ac26-article-section h3,
body.r50-publication .ac26-law-note strong {
  font-family: var(--ac-font-display) !important;
}
body.r50-publication .ac26-article-hero h1 {
  font-weight: 500 !important;
  letter-spacing: -.052em !important;
  line-height: .9 !important;
  text-wrap: balance;
}
body.r50-publication .ac26-article-hero h1 em {
  color: var(--r50-accent);
  font-style: italic;
  font-weight: 400 !important;
}
body.r50-publication .ac26-lead {
  max-width: 38ch !important;
  font-family: var(--ac-font-display) !important;
  font-size: clamp(20px, 1.6vw, 25px) !important;
  line-height: 1.46 !important;
  color: #3d4a4e !important;
}
body.r50-publication .ac26-eyebrow {
  font-family: var(--ac-font-ui) !important;
  color: var(--r50-accent) !important;
}
body.r50-publication .ac26-meta {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, auto));
  width: max-content;
  max-width: 100%;
  gap: 0 !important;
  margin-top: 28px;
  border-top: 1px solid var(--r50-line);
  color: #626c6f !important;
  font: 550 12.5px/1.45 var(--ac-font-ui) !important;
}
body.r50-publication .ac26-meta > span {
  position: relative;
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 10px 18px 9px 0 !important;
  border-left: 0 !important;
}
body.r50-publication .ac26-meta > span + span {
  padding-left: 18px !important;
  border-left: 1px solid var(--r50-line) !important;
}
body.r50-publication .ac26-meta > span::before {
  content: "";
  width: 4px;
  height: 4px;
  flex: 0 0 auto;
  margin-right: 9px;
  background: var(--r50-accent);
  transform: rotate(45deg);
}

body.r50-publication .ac26-article-hero__visual {
  isolation: isolate;
  background: #d9d1c6;
}
body.r50-publication .ac26-article-hero__visual img {
  filter: saturate(.76) contrast(1.01) brightness(.94) !important;
  transform: scale(1.004);
}
body.r50-publication .ac26-article-hero__visual::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 52%, rgba(16, 29, 35, .13)),
    radial-gradient(circle at 78% 24%, rgba(255, 255, 255, .2), transparent 31%);
}

body.r50-publication .ac26-article-summary {
  position: relative;
  margin-top: 24px;
  border-color: var(--r50-line) !important;
  background: rgba(255, 255, 255, .18);
}
body.r50-publication .ac26-article-summary::before {
  content: "ESENȚIAL";
  position: absolute;
  left: 0;
  top: -25px;
  font: 650 9px/1 var(--ac-font-ui);
  letter-spacing: .2em;
  color: var(--r50-accent);
}
body.r50-publication .ac26-article-summary > div { position: relative; }
body.r50-publication .ac26-article-summary b {
  font-family: var(--ac-font-display) !important;
  font-weight: 500 !important;
  color: var(--r50-accent) !important;
}
body.r50-publication .ac26-article-summary span {
  font-family: var(--ac-font-display) !important;
  font-weight: 500 !important;
  color: var(--r50-ink);
}

body.r50-publication .ac26-article-body {
  background:
    linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(22, 37, 44, .022) 50%, transparent calc(50% + 1px)),
    var(--r50-ivory);
}
body.r50-publication .ac26-article-section {
  border-bottom-color: var(--r50-line) !important;
}
body.r50-publication .ac26-article-section::before {
  color: var(--r50-accent) !important;
  font-family: var(--ac-font-display) !important;
  font-weight: 400 !important;
}
body.r50-publication .ac26-article-section::after {
  content: "";
  position: absolute;
  left: -118px;
  top: 52px;
  width: 28px;
  border-top: 1px solid color-mix(in srgb, var(--r50-accent) 68%, transparent);
}
body.r50-publication .ac26-article-section > h2 {
  max-width: 20ch;
  font-size: clamp(31px, 2.7vw, 40px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.027em !important;
  text-wrap: balance;
}
body.r50-publication .ac26-article-main p,
body.r50-publication .ac26-article-main li {
  font-family: var(--ac-font-display) !important;
  font-size: 18.5px !important;
  font-weight: 400;
  line-height: 1.7 !important;
  color: #37474d !important;
}
body.r50-publication .ac26-article-main strong { color: var(--r50-ink); }
body.r50-publication .ac26-article-main > .ac26-article-section:first-child > p:first-of-type::first-letter {
  float: left;
  margin: .08em .12em 0 0;
  font: 500 3.4em/.78 var(--ac-font-display);
  color: var(--r50-accent);
}
body.r50-publication .ac26-article-main a:not(.ac26-btn) {
  color: var(--r50-ink);
  text-decoration-color: color-mix(in srgb, var(--r50-accent) 70%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.r50-publication .ac26-inline-note,
body.r50-publication .article-callout {
  position: relative;
  margin: 34px 0 !important;
  padding: 22px 24px !important;
  border: 0 !important;
  border-block: 1px solid var(--r50-line) !important;
  background: linear-gradient(90deg, var(--r50-accent-soft), transparent 74%) !important;
  color: #3f4b4f !important;
}
body.r50-publication .ac26-inline-note::before,
body.r50-publication .article-callout::before {
  content: "";
  position: absolute;
  left: 0;
  top: -3px;
  width: 7px;
  height: 7px;
  background: var(--r50-accent);
  transform: rotate(45deg);
}
body.r50-publication .ac26-law-note {
  border-left-color: var(--r50-line) !important;
}
body.r50-publication .ac26-law-note::before {
  content: "";
  display: block;
  width: 30px;
  margin-bottom: 20px;
  border-top: 2px solid var(--r50-accent);
}
body.r50-publication .ac26-law-note p {
  font-family: var(--ac-font-display) !important;
}
body.r50-publication .ac26-thread::before { border-top-color: var(--r50-accent) !important; }
body.r50-publication .ac26-thread::after { border-color: var(--r50-accent) !important; }
body.r50-publication .ac26-cta-band {
  background:
    radial-gradient(circle at 88% 20%, rgba(201, 173, 130, .12), transparent 28%),
    #112128 !important;
}
body.r50-publication .ac26-cta-band h2,
body.r50-publication .ac26-cta-band .ac26-title { font-family: var(--ac-font-display) !important; }

@media (max-width: 900px) {
  body.r50-publication .ac26-article-hero::before {
    display: none;
  }
  body.r50-publication .r50-folio-mobile {
    display: inline-flex;
    align-items: center;
    width: max-content;
    margin: 0 0 23px;
    padding-bottom: 8px;
    border-bottom: 1px solid color-mix(in srgb, var(--r50-accent) 52%, transparent);
    color: var(--r50-accent);
    font: 650 9.5px/1 var(--ac-font-ui);
    letter-spacing: .18em;
  }
  body.r50-publication .ac26-article-section::after { left: -82px; }
}

@media (max-width: 700px) {
  body.r50-publication .ac26-article-hero__copy { padding-bottom: 38px !important; }
  body.r50-publication .ac26-article-hero h1 {
    font-size: clamp(48px, 13vw, 61px) !important;
    line-height: .93 !important;
  }
  body.r50-publication .ac26-lead {
    max-width: 32ch !important;
    font-size: 20px !important;
    line-height: 1.48 !important;
  }
  body.r50-publication .ac26-meta {
    grid-template-columns: 1fr 1fr;
    width: 100%;
    margin-top: 24px;
  }
  body.r50-publication .ac26-meta > span {
    min-height: 40px;
    padding: 9px 10px 8px 0 !important;
  }
  body.r50-publication .ac26-meta > span + span { padding-left: 12px !important; }
  body.r50-publication .ac26-meta > span:nth-child(3) {
    grid-column: 1 / -1;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--r50-line);
  }
  body.r50-publication .ac26-article-summary {
    margin-top: 30px;
    background: transparent;
  }
  body.r50-publication .ac26-article-summary > div {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 9px;
    padding: 21px 0 !important;
  }
  body.r50-publication .ac26-article-summary b {
    margin: 2px 0 0 !important;
    font-size: 24px !important;
  }
  body.r50-publication .ac26-article-summary span {
    font-size: 18px !important;
    line-height: 1.38 !important;
  }
  body.r50-publication .ac26-article-main p,
  body.r50-publication .ac26-article-main li {
    font-size: 17.5px !important;
    line-height: 1.68 !important;
  }
  body.r50-publication .ac26-article-section::after { display: none; }
  body.r50-publication .ac26-article-section > h2 {
    max-width: none;
    font-size: 31px !important;
  }
  body.r50-publication .ac26-inline-note,
  body.r50-publication .article-callout { padding: 19px 17px !important; }
}

@media (max-width: 420px) {
  body.r50-publication .ac26-meta { font-size: 12px !important; }
  body.r50-publication .ac26-meta > span::before { width: 3px; height: 3px; margin-right: 7px; }
  body.r50-publication .r50-folio-mobile { margin-bottom: 20px; font-size: 9px; letter-spacing: .16em; }
}

@media (prefers-reduced-motion: reduce) {
  body.ac29-r14 .site-nav a::after,
  body.ac29-r14 .site-header__cta,
  body.ac29-r14 .ac26-btn,
  body.ac29-r14 .p2-btn,
  .ac49-editorial-row,
  .ac49-editorial-row::after,
  .ac49-row-arrow,
  .ac49-editorial-row.r50-has-thumb::before { transition: none !important; }
}

/* R50 QA fix — homepage desktop hero must clear the absolute header.
   A legacy AC29 !important shorthand was overriding the later canonical desktop spacing. */
@media (min-width:1101px) {
  body.ac29-r14.home-page .ac26-hero__copy {
    padding-top: 110px !important;
    padding-left: 44px !important;
  }
}


/* R50 QA fix — confirmation pages keep the document scene on mobile, but the
   image must not compete with confirmation copy or action labels. */
@media (max-width:700px) {
  body.ac29-r14.thank-you-page main {
    background:
      linear-gradient(180deg, rgba(251,248,242,.97) 0%, rgba(251,248,242,.95) 62%, rgba(251,248,242,.92) 100%),
      url('/assets/editorial-documents-2026.webp') center/cover no-repeat !important;
  }
  body.ac29-r14.thank-you-page .article > p,
  body.ac29-r14.thank-you-page .thank-you-detail p,
  body.ac29-r14.thank-you-page .notice {
    text-shadow: none !important;
  }
}

/* R50.1 — production intermediate-width shell hardening.
   Restores the canonical 1040px shell breakpoint after page-level legacy overrides. */
@media (max-width: 1040px) {
  body .site-header__inner {
    grid-template-columns: auto 1fr auto !important;
    gap: 14px !important;
  }
  body .site-nav,
  body .site-header__cta,
  body .ac41-search {
    display: none !important;
  }
  body .site-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    margin-left: auto !important;
  }

  body .ac29-r18-footer__row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand social"
      "nav nav"
      "location location" !important;
    gap: 14px 20px !important;
    align-items: center !important;
    width: 100% !important;
  }
  body .ac29-r18-footer__brand { grid-area: brand !important; }
  body .ac29-r18-footer__social {
    grid-area: social !important;
    justify-self: end !important;
  }
  body .ac29-r18-footer__nav {
    grid-area: nav !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    white-space: normal !important;
    gap: 10px 18px !important;
    width: 100% !important;
  }
  body .ac29-r18-footer__location {
    grid-area: location !important;
    border-left: 0 !important;
    padding-left: 0 !important;
    max-width: 420px !important;
  }
  body .ac29-r18-footer__bottom {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px 20px !important;
  }
  body .ac29-r18-footer__bottom > p,
  body .ac29-r18-footer__bottom > div {
    min-width: 0 !important;
  }
}

/* R50.1 — narrow footer correction: do not keep the intermediate two-column footer on phones. */
@media (max-width: 820px) {
  body .ac29-r18-footer__row {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "nav"
      "social"
      "location" !important;
    gap: 14px !important;
    align-items: start !important;
  }
  body .ac29-r18-footer__social {
    justify-self: start !important;
  }
  body .ac29-r18-footer__bottom {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
  }
  body .ac29-r18-footer__bottom > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
  }
}

/* R50.1 — specificity shield for page families that force desktop shell with !important. */
@media (max-width: 1040px) {
  body.ac42-canonical-shell.ac26-page .site-header__inner {
    grid-template-columns: auto 1fr auto !important;
    gap: 14px !important;
  }
  body.ac42-canonical-shell.ac26-page .site-nav,
  body.ac42-canonical-shell.ac26-page .site-header__cta,
  body.ac42-canonical-shell.ac26-page .ac41-search {
    display: none !important;
  }
  body.ac42-canonical-shell.ac26-page .site-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    margin-left: auto !important;
  }

  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand social"
      "nav nav"
      "location location" !important;
    gap: 14px 20px !important;
    align-items: center !important;
    width: 100% !important;
  }
  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__brand { grid-area: brand !important; }
  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__social {
    grid-area: social !important;
    justify-self: end !important;
  }
  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__nav {
    grid-area: nav !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    white-space: normal !important;
    gap: 10px 18px !important;
    width: 100% !important;
  }
  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__location {
    grid-area: location !important;
    border-left: 0 !important;
    padding-left: 0 !important;
    max-width: 420px !important;
  }
}
@media (max-width: 820px) {
  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__row {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "nav"
      "social"
      "location" !important;
    gap: 14px !important;
    align-items: start !important;
  }
  body.ac42-canonical-shell.ac26-page .ac29-r18-footer__social { justify-self: start !important; }
}

/* R50.1 — editorial typography integrity.
   Headings must never fall back to foundation's emergency anywhere wrapping:
   no detached punctuation, no one-letter word fragments, no arbitrary splits. */
body.ac26-page :is(h1,h2,h3,h4,.ac26-display,.ac26-title,.ac26-subtitle),
body.ac42-canonical-shell :is(h1,h2,h3,h4) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance;
}

/* HOME — retain the split editorial hero on compact tablets, but scale the
   display word to the real copy column so “întâmplat?” remains one unit. */
@media (min-width:821px) and (max-width:900px) {
  body.ac29-r14.home-page .ac26-hero .ac26-display {
    width: auto !important;
    max-width: 100% !important;
    font-size: clamp(78px, 9.6vw, 86px) !important;
    line-height: .87 !important;
  }
}

/* HOME — R27 jumps to the large desktop display at 1160px. Keep the first
   20px of that range fractionally smaller so terminal punctuation cannot orphan. */
@media (min-width:1160px) and (max-width:1179px) {
  body.ac29-r14.home-page .ac26-hero .ac26-display {
    font-size: 114px !important;
  }
}

/* R50.1 — keep Romanian hyphen/dash compounds intact in editorial headings. */
body.ac26-page :is(h1,h2,h3,h4) .ac-keep-token,
body.ac42-canonical-shell :is(h1,h2,h3,h4) .ac-keep-token {
  white-space: nowrap !important;
}

/* R50.1 — short UI/editorial labels are semantic units, not emergency wrap zones. */
body.ac26-page :is(
  .ac26-situation strong,
  .ac26-btn,
  .p2-btn,
  .site-nav a,
  .site-mobile-nav a,
  .site-header__cta,
  .site-menu-toggle,
  summary
) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* R50.1 — emphasized labels and FAQ controls must wrap between words only. */
body.ac26-page :is(strong,summary,button) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
body.ac26-page :is(strong,summary,button) .ac-keep-token {
  white-space: nowrap !important;
}

/* R50.1 — canonical no-break token utility, used only on audited editorial/UI compounds. */
body.ac26-page .ac-keep-token,
body.ac42-canonical-shell .ac-keep-token {
  white-space: nowrap !important;
}

/* R50.1 — allow single-column article grids to shrink without forcing text fragmentation. */
body.ac26-page .ac26-article-section {
  grid-template-columns: minmax(0, 1fr) !important;
  min-width: 0 !important;
}

/* R50.1 — FAQ marker gets its own shrink-safe column; text never needs emergency word splitting. */
body.ac26-page .ac26-faq summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  min-width: 0 !important;
}
body.ac26-page .ac26-faq summary::after {
  align-self: center;
}

/* R50.1 — true narrow-screen shrinkability for legacy editorial grids. */
@media (max-width: 360px) {
  body.ac29-r14.home-page .ac26-hero__grid,
  body.ac29-r14.home-page .ac41-real-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.ac29-r14.home-page .ac26-hero__copy,
  body.ac29-r14.home-page .ac26-hero__visual,
  body.ac29-r14.home-page .ac41-real-main,
  body.ac29-r14.home-page .ac41-real-quote {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
  body.ac29-r14.home-page .ac26-hero .ac26-display {
    font-size: 74px !important;
    line-height: .89 !important;
  }
}

@media (max-width: 480px) {
  body.ac29-r14.about-page .ac29-r18-about-principle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.ac29-r14.about-page .ac29-r18-about-principle-grid > * {
    min-width: 0 !important;
  }
}

/* R50.1 — the three explanatory steps are a vertical reading sequence on narrow phones. */
@media (max-width: 480px) {
  body.ac29-r14.legal-question-page main > .ac26-section:nth-of-type(2) .ac26-sequence__items {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.ac29-r14.legal-question-page main > .ac26-section:nth-of-type(2) .ac26-sequence__item {
    min-width: 0 !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 480px) {
  body.ac29-r14.legal-question-page section[aria-labelledby="qsteps-title"] .ac26-sequence {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    min-width: 0 !important;
  }
  body.ac29-r14.legal-question-page section[aria-labelledby="qsteps-title"] .ac26-sequence__items {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    width: 100% !important;
  }
}
@media (max-width: 480px) {
  body.legal-question-page section[aria-labelledby="qsteps-title"] .ac26-sequence {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    min-width: 0 !important;
  }
  body.legal-question-page section[aria-labelledby="qsteps-title"] .ac26-sequence__items {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.legal-question-page section[aria-labelledby="qsteps-title"] .ac26-sequence__item {
    min-width: 0 !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* R50.1 — tablet sequence shrink safety.
   Keep editorial process strips inside the compact-shell viewport without
   re-enabling arbitrary word splitting. */
@media (max-width: 1040px) {
  body.ac26-page .ac26-sequence {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    min-width: 0 !important;
  }
  body.ac26-page .ac26-sequence__items {
    min-width: 0 !important;
    width: 100% !important;
  }
  body.ac26-page .ac26-sequence__item {
    min-width: 0 !important;
  }
}

/* R50.1 — About/practice rail: prevent title-to-cell collision in the compact-desktop range.
   Give the editorial label a slightly wider rail and keep the six practice cells balanced. */
@media (min-width: 901px) and (max-width: 1279px) {
  body.ac29-r14.about-page .ac29-r18-about-domains > .ac26-container {
    grid-template-columns: 30% 70% !important;
  }
  body.ac29-r14.about-page .ac29-r31-domain-intro {
    left: 30% !important;
  }
  body.ac29-r14.about-page .ac29-r18-domain-head > div:first-child {
    padding-left: 55px !important;
    padding-right: 16px !important;
  }
  body.ac29-r14.about-page .ac29-r18-domain-head .ac26-title {
    font-size: clamp(22px, 2.15vw, 27px) !important;
    max-width: none !important;
    white-space: nowrap !important;
  }
}
