@import url("https://vyzivne.com/wp-content/uploads/elementor/google-fonts/css/urbanist.css");

:root {
  --vc-green: #77c04b;
  --vc-green-dark: #63a73c;
  --vc-teal: #083941;
  --vc-deep: #06333a;
  --vc-ink: #25383b;
  --vc-text: #546062;
  --vc-muted: #758286;
  --vc-paper: #ffffff;
  --vc-paper-soft: #fbfbfb;
  --vc-line: #e8e8e8;
  --vc-line-dark: #cbd6d5;
  --vc-accent-soft: #eef7e9;
  --vc-orange: #ff5e2e;
  --vc-shadow: 0 18px 44px rgba(8, 57, 65, 0.1);
}

* {
  box-sizing: border-box;
}

html {
  background: #eef2f1;
}

body {
  margin: 0;
  color: var(--vc-teal);
  background: #eef2f1;
  font-family: "Urbanist", Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.vc-prototype-password-shell {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
  background: #eef2f1;
}

.vc-prototype-password-shell .post-password-form {
  width: min(440px, 100%);
  margin: 0;
  border-top: 5px solid var(--vc-green);
  background: #fff;
  padding: 32px;
  box-shadow: var(--vc-shadow);
  color: var(--vc-text);
}

.vc-prototype-password-shell input[type="password"] {
  width: 100%;
  height: 48px;
  border: 1px solid var(--vc-line-dark);
  margin: 12px 0;
  padding: 0 12px;
}

.vc-prototype-password-shell input[type="submit"] {
  border: 0;
  background: var(--vc-green);
  padding: 12px 18px;
  color: var(--vc-teal);
  cursor: pointer;
  font: 700 15px/1.3 "Urbanist", Arial, sans-serif;
}

a {
  color: var(--vc-deep);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover,
a:focus-visible {
  color: var(--vc-green-dark);
}

.vc-screen-toolbar {
  display: flex;
  width: min(210mm, calc(100% - 32px));
  margin: 20px auto 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.vc-screen-toolbar a {
  color: var(--vc-teal);
}

.vc-screen-only {
  display: inline;
}

.vc-checklist-document {
  padding: 0 0 48px;
}

.vc-document {
  width: min(210mm, calc(100% - 32px));
  margin: 20px auto 0;
}

.vc-page {
  position: relative;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto 24px;
  padding: 17mm 17mm 15mm;
  overflow: hidden;
  background: var(--vc-paper);
  box-shadow: var(--vc-shadow);
  page-break-after: always;
}

.vc-page:last-child {
  page-break-after: auto;
}

.vc-cover {
  display: flex;
  min-height: 297mm;
  flex-direction: column;
  justify-content: space-between;
  padding: 18mm 18mm 16mm;
  background:
    linear-gradient(135deg, rgba(119, 192, 75, 0.08), transparent 42%),
    var(--vc-paper);
}

.vc-cover::after {
  position: absolute;
  right: -34mm;
  bottom: -40mm;
  width: 105mm;
  height: 105mm;
  border: 1px solid rgba(119, 192, 75, 0.3);
  border-radius: 50%;
  box-shadow: 0 0 0 14mm rgba(119, 192, 75, 0.06), 0 0 0 28mm rgba(119, 192, 75, 0.04);
  content: "";
}

.vc-brand-row,
.vc-page-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.vc-brand-logo {
  display: block;
  width: 52mm;
  height: auto;
}

.vc-cover .vc-brand-logo {
  width: min(100%, 102mm);
  background: transparent;
  object-fit: contain;
}

.vc-cover .vc-brand-row {
  justify-content: flex-end;
}

.vc-brand-tag,
.vc-page-label,
.vc-eyebrow {
  color: var(--vc-green-dark);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vc-page-label {
  color: var(--vc-muted);
  text-align: right;
}

.vc-cover-main {
  position: relative;
  z-index: 1;
  max-width: 155mm;
  margin: auto 0;
  padding: 11mm 0 8mm;
}

.vc-eyebrow {
  margin: 0 0 8mm;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
}

h1 {
  max-width: 165mm;
  font-size: clamp(32px, 5.2vw, 58px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

h1 span {
  color: var(--vc-green-dark);
}

.vc-cover h1 {
  font-size: clamp(22px, 3vw, 31px) !important;
  line-height: 1.05 !important;
}

.vc-cover-title-main,
.vc-cover-title-author,
.vc-cover-title-site {
  display: block;
}

.vc-cover h1 .vc-cover-title-author {
  margin: 0.48em 0 0.34em;
  color: var(--vc-teal);
  font-size: 0.62em !important;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.2 !important;
  text-transform: none;
}

.vc-cover h1 .vc-cover-title-site {
  color: var(--vc-green-dark);
}

.vc-cover-subtitle {
  max-width: 165mm;
  margin: 10mm 0 0;
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: clamp(42px, 5.8vw, 68px) !important;
  font-weight: 600;
  line-height: 0.98 !important;
}

.vc-cover-copy {
  max-width: 132mm;
  margin: 10mm 0 0;
  font-size: 17px;
  line-height: 1.65;
}

.vc-cover-statement {
  max-width: 132mm;
  margin: 12mm 0 0;
  padding: 7mm 8mm;
  border-left: 4px solid var(--vc-green);
  background: var(--vc-accent-soft);
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.3;
}

.vc-author-block {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12mm;
  border-top: 1px solid var(--vc-line-dark);
  padding-top: 6mm;
}

.vc-author-name {
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.vc-author-role {
  color: var(--vc-muted);
  font-size: 14px;
  line-height: 1.4;
}

.vc-author-site {
  color: var(--vc-green-dark);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

.vc-page-header {
  min-height: 11mm;
  margin-bottom: 9mm;
  border-bottom: 1px solid var(--vc-line);
  padding-bottom: 5mm;
}

.vc-page-header .vc-brand-logo {
  width: 44mm;
}

.vc-page-body {
  position: relative;
  z-index: 1;
}

.vc-chapter {
  margin: 0 0 9mm;
}

.vc-chapter + .vc-chapter {
  border-top: 1px solid var(--vc-line);
  padding-top: 8mm;
}

.vc-chapter-heading {
  display: flex;
  align-items: baseline;
  gap: 11px;
  margin: 0 0 4mm;
  break-after: avoid;
  page-break-after: avoid;
}

.vc-chapter-number {
  flex: 0 0 auto;
  color: var(--vc-green-dark);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.vc-chapter h2,
.vc-next h2 {
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.vc-chapter h3 {
  margin: 6mm 0 2.5mm;
  color: var(--vc-teal);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.vc-chapter p {
  margin: 0 0 4mm;
}

.vc-intro {
  max-width: 155mm;
  color: var(--vc-muted);
}

.vc-checklist {
  display: grid;
  gap: 2.2mm;
  margin: 3mm 0 5mm;
  padding: 0;
  list-style: none;
}

.vc-checklist li {
  display: grid;
  grid-template-columns: 7mm minmax(0, 1fr);
  gap: 3mm;
  align-items: start;
  break-inside: avoid;
  page-break-inside: avoid;
}

.vc-checkbox {
  display: block;
  width: 6mm;
  height: 6mm;
  border: 1.3px solid var(--vc-teal);
  background: #fff;
}

.vc-checklist li strong {
  color: var(--vc-ink);
  font-weight: 600;
}

.vc-data-field {
  display: flex;
  min-height: 12mm;
  align-items: flex-end;
  gap: 4mm;
  margin: 5mm 0;
  border-bottom: 1.5px solid var(--vc-teal);
  padding: 0 0 2mm;
  color: var(--vc-ink);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.vc-data-field .vc-fill-line {
  flex: 1 1 auto;
  min-width: 35mm;
  color: transparent;
  user-select: none;
}

.vc-data-field .vc-fill-line::after {
  display: block;
  border-bottom: 0;
  content: "";
}

.vc-notes {
  margin: 6mm 0 0;
  break-inside: avoid;
  page-break-inside: avoid;
}

.vc-notes-title,
.vc-open-title {
  margin: 0 0 2.5mm;
  color: var(--vc-green-dark);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.vc-note-lines {
  display: grid;
  gap: 6mm;
  padding: 2mm 0 1mm;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 5.5mm, var(--vc-line-dark) 5.5mm, var(--vc-line-dark) 5.75mm);
}

.vc-note-lines span {
  display: block;
  height: 5.5mm;
}

.vc-callout {
  margin: 5mm 0 6mm;
  border-left: 4px solid var(--vc-green);
  background: var(--vc-accent-soft);
  padding: 5mm 6mm;
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  break-inside: avoid;
  page-break-inside: avoid;
}

.vc-open-fields {
  display: grid;
  gap: 5mm;
  margin: 5mm 0 0;
  break-inside: avoid;
  page-break-inside: avoid;
}

.vc-open-field {
  break-inside: avoid;
  page-break-inside: avoid;
}

.vc-open-lines {
  display: grid;
  gap: 5.5mm;
  min-height: 18mm;
  padding: 1mm 0 0;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 5mm, var(--vc-line-dark) 5mm, var(--vc-line-dark) 5.25mm);
}

.vc-open-lines span {
  display: block;
  height: 5mm;
}

.vc-link-note {
  display: inline-flex;
  align-items: center;
  gap: 2mm;
  margin: 1mm 0 3mm;
  color: var(--vc-deep);
  font-size: 14px;
  font-weight: 600;
}

.vc-link-note::after {
  color: var(--vc-green-dark);
  content: "↗";
}

.vc-small-note {
  margin-top: -2mm !important;
  color: var(--vc-muted);
  font-size: 13px;
  font-style: italic;
}

.vc-next {
  margin-top: 4mm;
}

.vc-next-intro {
  max-width: 156mm;
  margin: 4mm 0 7mm !important;
  color: var(--vc-muted);
  font-size: 18px;
}

.vc-paths {
  display: grid;
  gap: 5mm;
  margin: 0 0 8mm;
}

.vc-path {
  display: grid;
  grid-template-columns: 11mm minmax(0, 1fr);
  gap: 5mm;
  align-items: start;
  border-top: 1px solid var(--vc-line-dark);
  padding-top: 5mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

.vc-path-index {
  display: grid;
  width: 10mm;
  height: 10mm;
  place-items: center;
  border-radius: 50%;
  background: var(--vc-accent-soft);
  color: var(--vc-green-dark);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.vc-path h3 {
  margin: 0 0 1.5mm;
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.vc-path p {
  margin: 0 0 2mm;
  font-size: 15px;
  line-height: 1.45;
}

.vc-path strong {
  color: var(--vc-teal);
}

.vc-cta-link,
.vc-cta-slot {
  display: inline-block;
  margin-top: 1mm;
  border-bottom: 2px solid var(--vc-green);
  padding: 1mm 0;
  color: var(--vc-deep);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.vc-cta-slot {
  border-bottom-color: var(--vc-line-dark);
  color: var(--vc-muted);
}

.vc-seminars {
  margin: 4mm 0 0;
  border-top: 1px solid var(--vc-line);
  padding-top: 4mm;
  color: var(--vc-muted);
  font-size: 14px;
}

.vc-disclaimer {
  margin-top: 8mm;
  border-top: 1px solid var(--vc-line-dark);
  padding-top: 4mm;
  color: var(--vc-muted);
  font-size: 11px;
  line-height: 1.45;
}

.vc-footer-meta {
  position: absolute;
  right: 17mm;
  bottom: 8mm;
  left: 17mm;
  display: flex;
  justify-content: space-between;
  color: var(--vc-muted);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.vc-footer-meta strong {
  color: var(--vc-green-dark);
}

.vc-footer-author {
  display: grid;
  gap: 2px;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.vc-footer-author-name {
  color: var(--vc-teal);
  font-size: 12px;
  font-weight: 700;
}

.vc-footer-author-role {
  color: var(--vc-muted);
  font-size: 10px;
}

.vc-keep-together {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Jednotný typografický systém: Urbanist, jedna barva a jedna velikost
   pro běžný obsah. Velikostní hierarchie zůstává pouze u nadpisů a metadat. */
body,
button,
input,
textarea,
select {
  color: var(--vc-teal);
  font-family: "Urbanist", Arial, Helvetica, sans-serif;
}

.vc-cover-copy,
.vc-author-role,
.vc-chapter p,
.vc-checklist,
.vc-data-field,
.vc-callout,
.vc-link-note,
.vc-next-intro,
.vc-path p,
.vc-cta-link,
.vc-cta-slot,
.vc-seminars {
  color: var(--vc-teal);
  font-size: 16px;
}

.vc-brand-tag,
.vc-page-label,
.vc-eyebrow,
.vc-chapter-number,
.vc-notes-title,
.vc-open-title,
.vc-author-site,
.vc-footer-meta,
.vc-footer-meta strong,
h1 span {
  color: var(--vc-teal);
}

@media (max-width: 900px) {
  .vc-screen-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .vc-document {
    width: 100%;
    margin-top: 14px;
  }

  .vc-page {
    width: calc(100% - 28px);
    min-height: auto;
    margin: 0 14px 18px;
    padding: 34px 26px 48px;
  }

  .vc-cover {
    min-height: 780px;
    padding: 34px 26px 42px;
  }

  .vc-footer-meta {
    right: 26px;
    bottom: 22px;
    left: 26px;
  }
}

@media (max-width: 560px) {
  body {
    font-size: 16px;
  }

  .vc-page {
    width: calc(100% - 16px);
    margin-right: 8px;
    margin-left: 8px;
    padding: 24px 19px 44px;
  }

  .vc-cover {
    min-height: 720px;
    padding: 24px 19px 38px;
  }

  .vc-brand-tag {
    max-width: 34%;
    font-size: 8px;
  }

  .vc-footer-author-name {
    font-size: 7.5pt;
  }

  .vc-footer-author-role {
    font-size: 6.5pt;
  }

  .vc-cover .vc-brand-logo {
    width: min(100%, 82mm);
  }

  .vc-page-header .vc-brand-logo {
    width: 40mm;
  }

  h1 {
    font-size: 38px;
  }

  .vc-cover h1 {
    font-size: 24px !important;
  }

  .vc-cover-subtitle {
    font-size: 44px !important;
  }

  .vc-cover-copy {
    font-size: 16px;
  }

  .vc-cover-statement {
    font-size: 18px;
  }

  .vc-author-block {
    align-items: flex-start;
    flex-direction: column;
    gap: 4mm;
  }

  .vc-author-site {
    align-self: flex-end;
  }

  .vc-chapter h2,
  .vc-next h2 {
    font-size: 24px;
  }

  .vc-chapter + .vc-chapter {
    padding-top: 7mm;
  }

  .vc-data-field {
    display: block;
    padding-bottom: 8px;
  }

  .vc-data-field .vc-fill-line {
    display: block;
    height: 8px;
    margin-top: 7px;
    border-bottom: 1.5px solid var(--vc-teal);
  }

  .vc-path {
    grid-template-columns: 9mm minmax(0, 1fr);
    gap: 4mm;
  }

  .vc-path-index {
    width: 8mm;
    height: 8mm;
    font-size: 13px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  html,
  body {
    background: #fff;
  }

  body {
    font-size: 11.5pt;
  }

  .vc-screen-only,
  .vc-screen-toolbar {
    display: none !important;
  }

  .vc-checklist-document {
    padding: 0;
  }

  .vc-document {
    width: auto;
    margin: 0;
  }

  .vc-page {
    width: 210mm;
    min-height: 297mm;
    margin: 0;
    padding: 17mm 17mm 15mm;
    box-shadow: none;
  }

  .vc-cover {
    min-height: 297mm;
    padding: 18mm 18mm 16mm;
  }

  .vc-page,
  .vc-chapter,
  .vc-path,
  .vc-callout,
  .vc-notes,
  .vc-open-field,
  .vc-keep-together {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  h1,
  h2,
  h3,
  h4,
  .vc-chapter-heading {
    break-after: avoid;
    page-break-after: avoid;
  }

  a {
    color: inherit;
  }

  .vc-link-note::after {
    content: "";
  }
}

/* The live brief targets a compact, writable A4 handout. These print-only
   dimensions keep the full content inside the requested 5–8 sheet range. */
@media print {
  body {
    font-size: 9.2pt;
    line-height: 1.28;
  }

  .vc-page {
    padding: 12mm 13mm 10mm;
  }

  .vc-cover {
    padding: 14mm 15mm 12mm;
  }

  .vc-cover .vc-brand-logo {
    width: 88mm;
  }

  .vc-cover h1 {
    font-size: 23pt !important;
  }

  .vc-cover-subtitle {
    font-size: 50pt !important;
  }

  .vc-brand-tag,
  .vc-page-label,
  .vc-eyebrow {
    font-size: 8px;
  }

  .vc-page-header {
    min-height: 8mm;
    margin-bottom: 4mm;
    padding-bottom: 3mm;
  }

  .vc-page-header .vc-brand-logo {
    width: 38mm;
  }

  .vc-chapter {
    margin-bottom: 4mm;
  }

  .vc-chapter + .vc-chapter {
    padding-top: 4mm;
  }

  .vc-chapter-heading {
    gap: 7px;
    margin-bottom: 2mm;
  }

  .vc-chapter-number {
    font-size: 9px;
  }

  .vc-chapter h2,
  .vc-next h2 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }

  .vc-chapter h3 {
    margin: 3mm 0 1mm;
    font-size: 11pt !important;
    line-height: 1.3 !important;
  }

  .vc-chapter p {
    margin-bottom: 2mm;
  }

  .vc-intro {
    max-width: none;
  }

  .vc-checklist {
    gap: 0.8mm;
    margin: 1.5mm 0 2.5mm;
  }

  .vc-checklist li {
    grid-template-columns: 5mm minmax(0, 1fr);
    gap: 2mm;
  }

  .vc-checkbox {
    width: 4.2mm;
    height: 4.2mm;
  }

  .vc-data-field {
    min-height: 7mm;
    margin: 2.5mm 0;
    padding-bottom: 1mm;
    font-size: 9.5pt;
  }

  .vc-callout {
    margin: 2.5mm 0 3mm;
    padding: 3mm 4mm;
    font-size: 10pt;
  }

  .vc-notes {
    margin-top: 3mm;
  }

  .vc-notes-title,
  .vc-open-title {
    margin-bottom: 1mm;
    font-size: 8.5pt;
  }

  .vc-note-lines {
    gap: 3mm;
    padding-top: 1mm;
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 3mm, var(--vc-line-dark) 3mm, var(--vc-line-dark) 3.15mm);
  }

  .vc-note-lines span {
    height: 3mm;
  }

  .vc-open-fields {
    gap: 2.5mm;
    margin-top: 3mm;
  }

  .vc-open-lines {
    gap: 3mm;
    min-height: 10mm;
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 3mm, var(--vc-line-dark) 3mm, var(--vc-line-dark) 3.15mm);
  }

  .vc-open-lines span {
    height: 3mm;
  }

  .vc-link-note {
    margin: 0 0 1.5mm;
    font-size: 8.5pt;
  }

  .vc-next-intro {
    margin: 2mm 0 3mm !important;
    font-size: 10pt;
  }

  .vc-paths {
    gap: 2.5mm;
    margin-bottom: 3mm;
  }

  .vc-path {
    grid-template-columns: 7mm minmax(0, 1fr);
    gap: 3mm;
    padding-top: 2.5mm;
  }

  .vc-path-index {
    width: 6.5mm;
    height: 6.5mm;
    font-size: 9pt;
  }

  .vc-path h3 {
    margin-bottom: 0.8mm;
    font-size: 11pt !important;
    line-height: 1.25 !important;
  }

  .vc-path p {
    margin-bottom: 1mm;
    font-size: 8.5pt;
  }

  .vc-cta-link,
  .vc-cta-slot {
    font-size: 8.5pt;
  }

  .vc-seminars {
    margin-top: 2.5mm;
    padding-top: 2.5mm;
    font-size: 8.5pt;
  }

  .vc-disclaimer {
    margin-top: 2mm;
    padding-top: 1.5mm;
    font-size: 7pt;
    line-height: 1.3;
  }

  .vc-footer-meta {
    right: 13mm;
    bottom: 5mm;
    left: 13mm;
    font-size: 8px;
  }

  .vc-footer-author-name {
    font-size: 7.5pt;
  }

  .vc-footer-author-role {
    font-size: 6.5pt;
  }

  .vc-cover-copy,
  .vc-author-role,
  .vc-chapter p,
  .vc-checklist,
  .vc-data-field,
  .vc-callout,
  .vc-link-note,
  .vc-next-intro,
  .vc-path p,
  .vc-cta-link,
  .vc-cta-slot,
  .vc-seminars {
    color: var(--vc-teal);
    font-size: 9.2pt;
  }
}
