/* Z Natmasters Smeta — public context renderer.
 * Public Content has one compact two-column composition; editor styles do not own this surface. */
.znms-context-public,.znms-context-public *{box-sizing:border-box}
.znms-context-public:not(.znms-context-public--content){width:100%;max-width:100%;min-width:0;margin:24px 0;background:transparent}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__head{display:flex;align-items:flex-start;gap:10px;padding:0 0 12px;border:0;border-bottom:1px solid #dce5eb;background:transparent}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__head>span{flex:0 0 auto;font-size:21px;line-height:1}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__head>div{min-width:0}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__head h2{margin:0;color:#173f68;font-size:19px;line-height:1.22;overflow-wrap:anywhere}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__head p{margin:4px 0 0;color:#60778b;font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__body{min-width:0;padding:0}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public{display:grid;width:100%;max-width:100%;min-width:0;gap:18px;padding:0}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public .nmsm-products-head{display:none}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public .nmsm-estimate-cat{width:100%;max-width:100%;min-width:0;margin:0;border:0;border-radius:0;background:transparent;overflow:visible}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public .nmsm-estimate-cat-title{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:7px;margin:0 0 8px;padding:8px 12px;border:1px solid #b8d5ee;border-radius:4px;background:linear-gradient(135deg,#e9f4ff 0%,#dceefe 55%,#eaf6ff 100%);color:#204e78;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-cat-title .nmsm-caret{display:none}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-cat-title strong{min-width:0;color:#0f4678;font-size:15px;font-weight:800;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-cat-title .nmsm-count{flex:0 0 auto;color:#53779a;font-size:11px;font-weight:700}
.znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public .nmsm-products-list{display:grid;width:100%;max-width:100%;min-width:0;gap:0;margin:0;border:0;border-radius:0;background:transparent;overflow:visible}
/* Fallback renderer if Catalog shared-card API is unavailable. */
.znms-context-public:not(.znms-context-public--content) .znms-product-card-row:not(.znm-shared-product-card){display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;margin:0 0 9px;padding:10px;border:1px solid #d9e4ec;border-radius:10px;background:#fff}
.znms-context-public:not(.znms-context-public--content) .znms-product-card-row:not(.znm-shared-product-card)>img{display:block;width:84px;height:84px;object-fit:cover;border-radius:7px}
.znms-context-public:not(.znms-context-public--content) .znms-product-card-row:not(.znm-shared-product-card) h3{margin:0 0 5px;font-size:16px;line-height:1.25}
.znms-context-public:not(.znms-context-public--content) .znms-product-card-row:not(.znm-shared-product-card) p{margin:4px 0;color:#607184;font-size:12px;line-height:1.35}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__total{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:10px;padding:10px 0 0;border:0;border-top:1px solid #dce5eb;background:transparent;color:#173f68;text-align:right}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__total>span{display:block;max-width:100%;font-size:clamp(10px,2.7vw,13px);font-weight:800;line-height:1.3;white-space:normal}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__total b{display:inline;font-size:inherit;font-weight:900;white-space:nowrap}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__total small{display:block;max-width:100%;color:#6a7d8d;font-size:11px;font-weight:500;line-height:1.3}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__total .znms-context-public__work-time{color:#496779;font-weight:650}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__owner-link{color:#0b63ce;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__owner-link:hover,.znms-context-public:not(.znms-context-public--content) .znms-context-public__owner-link:focus-visible{color:#084d9d;text-decoration-thickness:2px}
.znms-context-public:not(.znms-context-public--content) .znms-context-public__owner-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:699px){
  .znms-context-item.has-image>summary{grid-template-columns:52px minmax(0,1fr) max-content;gap:3px 8px}
  .znms-context-item--static.has-image{grid-template-columns:52px minmax(0,1fr) max-content;gap:8px}
  .znms-context-item__image{width:52px;height:52px}
  .znms-context-item.has-image .znms-context-item__details{padding-left:60px}

  .znms-context-public:not(.znms-context-public--content){margin:18px 0}
  .znms-context-public:not(.znms-context-public--content) .znms-context-public__head{gap:8px;padding-bottom:10px}
  .znms-context-public:not(.znms-context-public--content) .znms-context-public__head>span{font-size:19px}
  .znms-context-public:not(.znms-context-public--content) .znms-context-public__head h2{font-size:17px}
  .znms-context-public:not(.znms-context-public--content) .znms-context-public__head p{font-size:11.5px}
  .znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public{gap:13px}
  .znms-context-public:not(.znms-context-public--content) .nmsm-estimate-catalog-view.is-context-links.is-public .nmsm-estimate-cat-title{min-height:32px;margin-bottom:7px;padding:7px 9px}
  .znms-context-public:not(.znms-context-public--content) .nmsm-estimate-cat-title strong{font-size:14px}
}
@media(max-width:360px){.znms-context-public:not(.znms-context-public--content) .znms-context-public__head p{display:none}.znms-context-public:not(.znms-context-public--content) .znms-context-public__total>span{font-size:9.6px}}

/* Content composition: two explicit semantic columns.
 * Left wrapper owns media + unit price; right wrapper owns product information and line amount. */
.znms-context-public--content{
  margin:0;
  color:var(--znm-ui-color-text,#16293d);
  font-family:var(--znm-ui-font-family,system-ui,sans-serif);
}
.znms-context-public--content .znms-context-public__head{
  display:block;
  padding:0 0 11px;
  border-bottom:1px solid var(--znm-ui-color-border,#d9e1e8);
}
.znms-context-public--content .znms-context-public__head>div{min-width:0}
.znms-context-public--content .znms-context-public__head h2{
  margin:0;
  color:var(--znm-ui-color-text,#16293d);
  font-size:21px;
  font-weight:750;
  line-height:1.22;
}
.znms-context-public--content .znms-context-public__head p{
  margin:6px 0 0;
  color:var(--znm-ui-color-text-secondary,#667789);
  font-size:12.5px;
  font-weight:var(--znm-ui-font-weight-body,550);
  line-height:1.45;
}
.znms-context-public--content .znms-context-public__body{padding:0}
.znms-context-public--content .is-content-compact{display:grid;gap:9px;padding:9px 0 0}
.znms-context-public--content .is-content-compact .nmsm-estimate-cat{margin:0;border:0;background:transparent}
.znms-context-public--content .znms-context-public__category{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  column-gap:6px;
  row-gap:3px;
  margin:0 0 5px;
  padding:8px 10px;
  border:1px solid #d7e1e9;
  border-radius:6px;
  background:#e9f0f5;
  color:var(--znm-ui-color-text,#16293d);
  min-height:44px;
  cursor:pointer;
  list-style:none;
}
.znms-context-public--content .znms-context-public__category::-webkit-details-marker{display:none}
.znms-context-public--content .znms-context-public__category::before{content:'›';font-size:20px;line-height:1;transition:transform .15s}
.znms-context-public--content details[open]>.znms-context-public__category::before{transform:rotate(90deg)}
.znms-context-public--content .znms-context-public__category strong{
  min-width:0;
  font-size:15.5px;
  font-weight:800;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.znms-context-public--content .znms-context-public__category small{font-size:11px;font-weight:650;line-height:1.3;color:var(--znm-ui-color-accent,#1f5fae)}
.znms-context-public--content .znms-context-public__category .znms-context-public__collapse-hint{display:none}
.znms-context-public--content details[open]>.znms-context-public__category .znms-context-public__expand-hint{display:none}
.znms-context-public--content details[open]>.znms-context-public__category .znms-context-public__collapse-hint{display:inline}
.znms-context-public--content .znms-context-public__category>.nmsm-count{
  display:grid;
  min-width:28px;
  height:28px;
  place-items:center;
  padding:0 7px;
  border:1px solid #c8d5df;
  border-radius:999px;
  background:#fff;
  color:#315d83;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.znms-context-public--content .is-content-compact .nmsm-products-list{display:grid;gap:0;margin:0}

.znms-context-public--content .znms-context-item{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  column-gap:18px;
  align-items:start;
  min-width:0;
  margin:0;
  padding:10px 0 9px;
  border:0;
  border-bottom:1px solid var(--znm-ui-color-border,#d9e1e8);
  background:transparent;
}
.znms-context-public--content .znms-context-item:last-child{border-bottom:0}
.znms-context-public--content .znms-context-item__media{
  display:grid;
  width:120px;
  min-width:0;
  gap:5px;
  justify-items:center;
  align-content:start;
}
.znms-context-public--content .znms-context-item__image{
  display:block;
  width:120px;
  height:120px;
  overflow:hidden;
  border:1px solid var(--znm-ui-color-border,#d9e1e8);
  border-radius:6px;
  background:var(--znm-ui-color-surface-soft,#f1f4f6);
  line-height:0;
}
.znms-context-public--content .znms-context-item__image img{display:block;width:100%;height:100%;object-fit:cover}
.znms-context-public--content .znms-context-item__image--placeholder{display:grid;place-items:center;color:var(--znm-ui-color-text-secondary,#667789)}
.znms-context-public--content .znms-context-item__image--placeholder svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;opacity:.5}

.znms-context-public--content .znms-context-item__copy{
  display:block;
  min-width:0;
  text-align:left;
}
.znms-context-public--content .znms-context-item__title{
  display:block;
  min-width:0;
  color:var(--znm-ui-color-text,#16293d);
  font-size:18px;
  font-weight:800;
  line-height:1.28;
  overflow-wrap:anywhere;
}
.znms-context-public--content .znms-context-item__title a{color:inherit;text-decoration:none}
.znms-context-public--content .znms-context-item__title a:hover,
.znms-context-public--content .znms-context-item__title a:focus-visible{
  color:var(--znm-ui-color-accent,#1f5fae);
  text-decoration:underline;
  text-underline-offset:3px;
}
.znms-context-public--content .znms-context-item__description{
  margin:4px 0 0;
  color:var(--znm-ui-color-text-secondary,#667789);
  font-size:12.5px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.znms-context-public--content .znms-context-item__composition-line{
  margin-top:1px;
  color:var(--znm-ui-color-text-secondary,#667789);
  font-size:11.8px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.znms-context-public--content .znms-context-item__composition-line strong{
  color:#687b8b;
  font-weight:700;
}
.znms-context-public--content .znms-context-item__title + .znms-context-item__composition-line{margin-top:2px}
.znms-context-public--content .znms-context-item__description + .znms-context-item__composition-line{margin-top:5px}

/* Left product column: image, then compact price per unit. */
.znms-context-public--content .znms-context-item__price{
  display:flex;
  width:100%;
  min-width:0;
  align-items:baseline;
  justify-content:center;
  gap:2px;
  text-align:center;
  white-space:nowrap;
}
.znms-context-public--content .znms-context-item__price strong{
  color:var(--znm-ui-color-text,#16293d);
  font-size:18px;
  font-weight:850;
  line-height:1.1;
}
.znms-context-public--content .znms-context-item__price span{
  color:var(--znm-ui-color-text-secondary,#667789);
  font-size:11.5px;
  font-weight:600;
  line-height:1.2;
}

/* Quantity and total belong to the information column, not to the media column. */
.znms-context-public--content .znms-context-item__amount{
  margin-top:5px;
  color:#40586d;
  font-size:12px;
  font-weight:650;
  line-height:1.3;
}
.znms-context-public--content .znms-context-item__amount strong{
  color:var(--znm-ui-color-text,#16293d);
  font-size:13.5px;
  font-weight:800;
}

.znms-context-public__total--content{
  display:flex;
  width:100%;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  margin-top:10px;
  padding:8px 0 0;
  border-top:4px solid #c5a15c;
  background:transparent;
  color:var(--znm-ui-color-text,#16293d);
  text-align:right;
}
.znms-context-public__total-note{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  color:var(--znm-ui-color-text-secondary,#667789);
  font-size:11.8px;
  font-weight:550;
  line-height:1.3;
  text-align:right;
}
.znms-context-public__work-duration{margin:2px 0 8px}
.znms-context-public__total-note--lead + .znms-context-public__total-sum{margin-top:8px}
.znms-context-public__total-sum{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  color:var(--znm-ui-color-text,#16293d);
  font-size:17px;
  font-weight:800;
  line-height:1.22;
  text-align:right;
}
.znms-context-public__per-area{
  display:block;
  width:100%;
  margin:2px 0 0;
  padding:0;
  color:#5f7284;
  font-size:12.5px;
  font-weight:800;
  line-height:1.22;
  text-align:right;
}
.znms-context-public__price-date{
  display:block;
  width:100%;
  margin:4px 0 0;
  padding:0;
  color:#7a8792;
  font-size:11.2px;
  font-weight:500;
  line-height:1.3;
  text-align:right;
}

@media(max-width:620px){
  .znms-context-public--content .znms-context-item{
    grid-template-columns:92px minmax(0,1fr);
    column-gap:11px;
    padding:9px 0 8px;
  }
  .znms-context-public--content .znms-context-item__media{width:92px}
  .znms-context-public--content .znms-context-item__image{width:92px;height:92px}
  .znms-context-public--content .znms-context-item__title{font-size:16.5px}
  .znms-context-public--content .znms-context-item__price strong{font-size:16.5px}
  .znms-context-public--content .znms-context-item__price span{font-size:10.8px}
}

@media(max-width:420px){
  .znms-context-public--content .znms-context-public__head h2{font-size:19px}
  .znms-context-public--content .znms-context-public__category{padding:7px 9px}
  .znms-context-public--content .znms-context-public__category strong{font-size:14.5px}
  .znms-context-public--content .znms-context-item{grid-template-columns:84px minmax(0,1fr);column-gap:9px}
  .znms-context-public--content .znms-context-item__media{width:84px}
  .znms-context-public--content .znms-context-item__image{width:84px;height:84px}
  .znms-context-public--content .znms-context-item__title{font-size:16px}
  .znms-context-public--content .znms-context-item__description{font-size:11.5px}
  .znms-context-public--content .znms-context-item__composition-line{font-size:11px}
  .znms-context-public--content .znms-context-item__price strong{font-size:15.5px}
  .znms-context-public--content .znms-context-item__price span{font-size:10.2px}
  .znms-context-public--content .znms-context-item__amount{margin-top:5px;font-size:10.8px}
  .znms-context-public--content .znms-context-item__amount strong{font-size:12.5px}
  .znms-context-public__total-sum{font-size:16px}.znms-context-public__per-area{font-size:11.8px}
}

.znms-group-total{margin-left:auto;font-size:12px;font-weight:500;white-space:nowrap;}
.znms-content-sketch{margin:8px 0;}.znms-content-sketch img{display:block;max-width:100%;height:auto;margin:auto;}
.znms-context-public--content .znms-context-public__category>.znms-group-total{grid-column:3;margin:0;padding:0;color:#496779;font-size:11.5px;font-weight:650;text-align:right;white-space:nowrap}
.znms-context-public--content .znms-context-public__category>.nmsm-count{grid-column:4}

/* Multiple named Smeta compositions attached to one Content material. */
.znms-context-public--content .znms-context-public__estimates{display:grid;gap:11px}
.znms-context-public--content .znms-context-public__estimate{min-width:0}
.znms-context-public--content .znms-context-public__estimate + .znms-context-public__estimate{padding-top:9px;border-top:1px solid var(--znm-ui-color-border,#d9e1e8)}
.znms-context-public--content .znms-context-public__estimate-title{margin:0 0 6px;font-size:16px;line-height:1.3;font-weight:800;color:var(--znm-ui-color-text,#16293d);text-align:center}
.znms-context-public--content .znms-context-public__estimate .znms-content-sketch{margin-top:0}


/* Height adjustment is rendered as one more non-collapsible composition row.
   The note explains that the amount is calculated from the actual excess over the norm. */
.znms-context-public--content .znms-context-public__category--static{
  grid-template-columns:minmax(0,1fr) auto;
  margin:9px 0 5px;
  cursor:default;
  user-select:text;
}
.znms-context-public--content .znms-context-public__category--static::before{display:none;content:none}
.znms-context-public--content .znms-context-public__height-copy{
  display:block;
  min-width:0;
  grid-column:1;
}
.znms-context-public--content .znms-context-public__height-copy>strong{display:block}
.znms-context-public--content .znms-context-public__height-copy>small{
  display:block;
  margin-top:2px;
  color:var(--znm-ui-color-text-secondary,#667789);
  font-size:11.2px;
  font-weight:550;
  line-height:1.3;
}
.znms-context-public--content .znms-context-public__category--static>.znms-group-total{
  grid-column:2;
  align-self:center;
  font-size:11.5px;
  font-weight:650;
}
.znms-context-public__height-surcharge + .znms-context-public__total--content{margin-top:0}
