/* Ordinace – barevné podstránky 1.0.0.
   Scoped to the existing subpage wrapper; homepage and saved content stay intact. */
.ng-page-main {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 38px 0 76px;
  background: linear-gradient(to bottom, #eaf4ed 0, #eaf4ed 326px, #f7f6f0 326px);
}
.ng-page-main::before,
.ng-page-main::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
}
.ng-page-main::before {
  width: 420px;
  height: 420px;
  top: -200px;
  right: max(-120px, calc((100% - 1100px) / 2 - 160px));
  background: #f8dbc8;
}
.ng-page-main::after {
  box-sizing: border-box;
  width: 196px;
  height: 196px;
  top: 218px;
  left: max(-86px, calc((100% - 1100px) / 2 - 115px));
  border: 30px solid #f5d982;
}
.ng-page-main > :is(.ng-breadcrumb, .wp-block-post-title, .wp-block-query-title, .wp-block-post-content, .wp-block-query) {
  width: min(1100px, calc(100% - 80px));
  max-width: none;
  margin-inline: auto;
}
.ng-page-main > .ng-breadcrumb {
  margin-bottom: 22px !important;
  color: #526158;
  font-size: 12px;
  line-height: 1.8;
}
.ng-page-main > .ng-breadcrumb a {
  display: inline-block;
  border-radius: 30px;
  background: #f9e8b2;
  padding: 5px 13px;
  margin-right: 7px;
  color: #365344;
  font-weight: 600;
  text-underline-offset: .2em;
}
.ng-page-main > :is(.wp-block-post-title, .wp-block-query-title) {
  margin-top: 0;
  margin-bottom: 30px;
  color: #a44330;
  font-size: clamp(38px, 4.6vw, 60px);
  line-height: 1.12;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.ng-page-main > :is(.wp-block-post-content, .wp-block-query) {
  position: relative;
  margin-top: 0;
  padding: 38px 44px 44px;
  background: #fff;
  border: 1px solid #ceded0;
  border-radius: 20px;
  box-shadow: 0 12px 36px #234f3b0c;
}
.ng-page-main > :is(.wp-block-post-content, .wp-block-query)::before {
  content: "";
  position: absolute;
  left: 44px;
  top: -1px;
  width: 67px;
  height: 5px;
  border-radius: 0 0 3px 3px;
  background: #f0c655;
  pointer-events: none;
}
.ng-page-main .wp-block-post-content h2 {
  color: #233e35;
  font-size: clamp(27px, 3vw, 34px);
  line-height: 1.22;
}
.ng-page-main .wp-block-post-content > h2:not(:first-child) { margin-top: 36px; }
.ng-page-main .ng-content-note {
  padding: 17px 20px;
  background: #fff4d7;
  border-left: 4px solid #e9bd55;
  border-radius: 0 12px 12px 0;
  color: #4f593e;
  line-height: 1.7;
}
.ng-page-main :is(.ng-price-table, .ng-content-table) {
  border: 1px solid #d9e5da;
  border-radius: 12px;
  overflow-x: auto;
  background: #fff;
}
.ng-page-main :is(.ng-price-table, .ng-content-table) table { margin: 0; }
.ng-page-main :is(.ng-price-table, .ng-content-table) thead { border: 0; }
.ng-page-main :is(.ng-price-table, .ng-content-table) th {
  background: #e7f2e9;
  color: #285b48;
  font-weight: 650;
  letter-spacing: .035em;
  padding-block: 15px;
}
.ng-page-main :is(.ng-price-table, .ng-content-table) td { border-color: #e3ece4; }
.ng-page-main :is(.ng-price-table, .ng-content-table) tbody tr:nth-child(odd) { background: #f3f8f3; }
.ng-page-main :is(.ng-price-table, .ng-content-table) tbody tr:nth-child(even) { background: #fff; }
.ng-page-main :is(.ng-price-table, .ng-content-table) tbody tr:last-child td { border-bottom: 0; }
.ng-page-main .ng-price-table td:last-child { color: #a44330; }
.ng-page-main .ng-detail,
.ng-page-main .ng-directory .ng-detail {
  margin: 12px 0;
  padding: 0;
  border: 1px solid #d5e3d7;
  border-radius: 14px;
  background: #f2f7f2;
}
.ng-page-main .ng-detail summary {
  padding: 18px 20px;
  min-height: 56px;
  line-height: 1.4;
  color: #285b48;
  border-radius: 13px;
}
.ng-page-main .ng-detail summary::marker { color: #a44330; }
.ng-page-main .ng-detail[open] {
  background: #fffdf7;
  border-color: #e8d4bc;
}
.ng-page-main .ng-detail[open] > summary {
  background: #faebde;
  border-bottom: 1px solid #eadbcb;
  border-radius: 13px 13px 0 0;
}
.ng-page-main .ng-detail > p { margin: 16px 20px; }
.ng-page-main .ng-detail > :is(ul, ol) { margin: 16px 20px 20px; }
.ng-page-main .ng-detail .ng-document-list { padding: 0; }
.ng-page-main .ng-document-list li {
  border-color: #e0e8dd;
  padding-block: 5px;
}
.ng-page-main .ng-document-list a {
  display: inline-block;
  padding-block: 10px;
  min-height: 44px;
  text-decoration-thickness: 1px;
}
.ng-page-main :is(.ng-service-list, .ng-link-list) li::marker { color: #a44330; }
.ng-page-main .ng-gallery-grid { gap: 22px; }
.ng-page-main .ng-gallery-image {
  padding: 8px;
  border: 1px solid #dbe7dc;
  border-radius: 16px;
  background: #f3f8f3;
}
.ng-page-main .ng-gallery-image img { border-radius: 10px; }
.ng-page-main .ng-gallery-image .wp-element-caption { padding: 3px 3px 2px; }
.ng-page-main :is(.ng-original-images, .ng-person-photos, .ng-archive-hero) img {
  border: 5px solid #eaf4ed;
  border-radius: 14px;
}
.ng-page-main .ng-archive-hero { padding: 16px; background: #f8eadf; border-radius: 16px; }
.ng-page-main .ng-button-secondary .wp-block-button__link { background: #fff7e4; border-color: #e6d4a7; }
.ng-page-main :is(a, summary, button):focus-visible { outline: 3px solid #aa6f11; outline-offset: 3px; }
@media (max-width: 760px) {
  .ng-page-main { padding: 28px 0 46px; background: linear-gradient(to bottom, #eaf4ed 0, #eaf4ed 310px, #f7f6f0 310px); }
  .ng-page-main > :is(.ng-breadcrumb, .wp-block-post-title, .wp-block-query-title, .wp-block-post-content, .wp-block-query) { width: calc(100% - 36px); }
  .ng-page-main::before { width: 300px; height: 300px; top: -170px; right: -160px; }
  .ng-page-main::after { width: 150px; height: 150px; border-width: 25px; left: -80px; top: 220px; }
  .ng-page-main > .ng-breadcrumb { font-size: 11px; margin-bottom: 20px !important; }
  .ng-page-main > :is(.wp-block-post-title, .wp-block-query-title) { font-size: clamp(35px, 8.6vw, 46px); margin-bottom: 26px; }
  .ng-page-main > :is(.wp-block-post-content, .wp-block-query) { padding: 27px 18px 30px; border-radius: 17px; }
  .ng-page-main > :is(.wp-block-post-content, .wp-block-query)::before { left: 20px; }
  .ng-page-main .ng-content-note { padding: 14px 15px; font-size: 13px; }
  .ng-page-main .ng-detail summary { padding: 16px; }
  .ng-page-main .ng-detail > p { margin: 14px 16px; }
  .ng-page-main .ng-detail > :is(ul, ol) { margin: 14px 16px 18px; }
  .ng-page-main .ng-directory .ng-detail summary { font-size: 22px; }
  .ng-page-main .ng-gallery-grid { gap: 12px; }
  .ng-page-main .ng-gallery-image { padding: 5px; border-radius: 12px; }
  .ng-page-main .ng-gallery-image img { border-radius: 8px; }
  .ng-page-main .ng-archive-hero { padding: 10px; }
}
@media print {
  .ng-page-main { width: 100%; margin: 0; padding: 12px 0; background: #fff; overflow: visible; }
  .ng-page-main::before, .ng-page-main::after,
  .ng-page-main > :is(.wp-block-post-content, .wp-block-query)::before { display: none; }
  .ng-page-main > :is(.ng-breadcrumb, .wp-block-post-title, .wp-block-query-title, .wp-block-post-content, .wp-block-query) { width: 100%; }
  .ng-page-main > :is(.wp-block-post-content, .wp-block-query) { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .ng-page-main .ng-detail { break-inside: avoid; }
}
