/* Obal jen kvůli container query: rozložení se řídí šířkou místa,
   které sekce na stránce skutečně má, ne šířkou okna. */
.tcmqi-dov-wrap {
  container-type: inline-size;
  width: 100%;
}
.tcmqi-dov-wrap[hidden] { display: none !important; }
.elementor-widget:has(> .tcmqi-dov-wrap[hidden]),
.elementor-widget:has(> .elementor-widget-container > .tcmqi-dov-wrap[hidden]) { display: none; }

.tcmqi-dov {
  --tcmqi-dov-bg: #efefef;
  --tcmqi-dov-heading: #B59D7D;
  --tcmqi-dov-text: #6f6a66;
  display: grid;
  /* 1. sloupec = nadpis (nikdy užší než jeho nejdelší slovo, max. 55 % šířky),
     2. sloupec = text ve zbylém místě */
  grid-template-columns: fit-content(55%) minmax(0, 1fr);
  align-items: center;
  column-gap: 1.75rem;
  row-gap: 0.35rem;
  max-width: 912px;
  margin: 0 auto;
  padding: 2.25rem clamp(1.5rem, 9cqi, 5.5rem);
  background: var(--tcmqi-dov-bg);
  border-radius: 32px;
  box-sizing: border-box;
}
.tcmqi-dov .tcmqi-dov__heading {
  min-width: min-content !important;
  max-width: none;
  margin: 0;
  padding: 0;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: normal;
  white-space: normal;
  color: var(--tcmqi-dov-heading);
}
.tcmqi-dov .tcmqi-dov__text {
  min-width: 0;
  max-width: 28em;
  font-family: 'Nunito', 'Nunito Sans', sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--tcmqi-dov-text);
}
.tcmqi-dov .tcmqi-dov__text p { margin: 0 0 0.6em; }
.tcmqi-dov .tcmqi-dov__text p:last-child { margin-bottom: 0; }
.tcmqi-dov .tcmqi-dov__text a { color: var(--tcmqi-dov-heading); font-weight: 700; }

/* Úzké místo (mobil, úzký sloupec): nadpis nad textem */
@container (max-width: 560px) {
  .tcmqi-dov {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .tcmqi-dov .tcmqi-dov__heading {
    min-width: 0 !important;
    font-size: clamp(38px, 14cqi, 48px);
    overflow-wrap: break-word;
  }
  .tcmqi-dov .tcmqi-dov__text { max-width: none; }
}

/* Starší prohlížeče bez container queries */
@supports not (container-type: inline-size) {
  .tcmqi-dov { padding: 2.25rem 2rem; }
  @media (max-width: 767px) {
    .tcmqi-dov { grid-template-columns: minmax(0, 1fr); }
    .tcmqi-dov .tcmqi-dov__heading { min-width: 0 !important; overflow-wrap: break-word; }
    .tcmqi-dov .tcmqi-dov__text { max-width: none; }
  }
}
