@layer poz-button-contract {
/* Pozornice shared button contract. Owner: theme. All category colours and
   behaviours remain with their components. These !important declarations are
   restricted to the properties this contract owns because legacy modules ship
   later, deeper and sometimes inline rules. Do not add page-level forks.
   EXCEPTION (2026-09-15): .poz-plan__mini is NOT in this contract. Those are
   the planner's in-panel action buttons (Zakreni, Ukloni, Kopiraj link, Skica),
   secondary controls inside a 350px popover, not CTAs; forcing the CTA face on
   them wrapped 'ZAKRENI 90° (R)' onto two lines. The planner's own layer
   (sandbox configurator-hmi) styles them. A layered !important outranks any
   unlayered !important, so the exception can only live here, at the source. */
:root {
  --poz-button-radius: 12px;
  --poz-button-font: Michroma, sans-serif;
  --poz-button-size: 11px;
  --poz-button-weight: 400;
  --poz-button-tracking: .025em;
}
body.poz-theme :is(
  .poz-btn,
  .pz-btn,
  .pz-btn-dark,
  .pz-btn-white,
  .pz-btn-ghost,
  .pz-btn-outline,
  .pz-promo-btn,
  .elementor-button,
  .pzk-btn,
  .pzkb-button,
  .pzdj-button,
  .pozcs__button,
  .pozcs-viewer__request,
  .pzfam-button,
  .pzsys-btn,
  .tm5-btn,
  .pztm-btn,
  .pzlzr-btn,
  .pzar-btn,
  .pzic-button,
  .pzprof-btn,
  .pzdef-button,
  .pztr-button,
  .pzev-button,
  .pzlt-button,
  .pzco-button,
  .pzabout-button,
  .pzabout-hero__cta,
  .poz-conf__cta,
  .pzo2-cta,
  .poz-brands2__cta,
  .pzp3-btn,
  .pzc-action,
  .pzpan-btn,
  .pzcc-button,
  .pzcc-config-invite__button,
  .pzbar-button,
  .pzb-button,
  .pzcf-button,
  .pzlzr-config__next,
  .poz-vodic__next,
  .poz-vodic__back,
  button[type="submit"],
  input[type="submit"],
  input[type="button"],
  [data-poz-button],
  .poz-nav__trigger,
  .poz-cats-launch,
  .pozq-model-trigger,
  .pzfam-quick__more,
  .poz-plan__presets-btn,
  .poz-plan__view,
  .poz-plan__restore,
  .poz-assist,
  .poz-vodic__toexpert,
  .pzkb-empty button,
  .pzkb-article-actions button,
  .pzic-text,
  .pzic-filter-trigger,
  .pozmm__desktop-close,
  .poz-drawer__back,
  .pz-qc-cbtoggle,
  [data-poz-button="compact"]
) {
  border-radius: var(--poz-button-radius) !important;
  font-family: var(--poz-button-font) !important;
  font-size: var(--poz-button-size) !important;
  font-weight: var(--poz-button-weight) !important;
  font-style: normal !important;
  font-synthesis: none;
  letter-spacing: var(--poz-button-tracking) !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
}
body.poz-theme :is(
  .poz-btn,
  .pz-btn,
  .pz-btn-dark,
  .pz-btn-white,
  .pz-btn-ghost,
  .pz-btn-outline,
  .pz-promo-btn,
  .elementor-button,
  .pzk-btn,
  .pzkb-button,
  .pzdj-button,
  .pozcs__button,
  .pozcs-viewer__request,
  .pzfam-button,
  .pzsys-btn,
  .tm5-btn,
  .pztm-btn,
  .pzlzr-btn,
  .pzar-btn,
  .pzic-button,
  .pzprof-btn,
  .pzdef-button,
  .pztr-button,
  .pzev-button,
  .pzlt-button,
  .pzco-button,
  .pzabout-button,
  .pzabout-hero__cta,
  .poz-conf__cta,
  .pzo2-cta,
  .poz-brands2__cta,
  .pzp3-btn,
  .pzc-action,
  .pzpan-btn,
  .pzcc-button,
  .pzcc-config-invite__button,
  .pzbar-button,
  .pzb-button,
  .pzcf-button,
  .pzlzr-config__next,
  .poz-vodic__next,
  .poz-vodic__back,
  button[type="submit"],
  input[type="submit"],
  input[type="button"],
  [data-poz-button]
) {
  box-sizing: border-box;
  text-align: center;
  white-space: normal !important;
  overflow-wrap: normal;
  word-break: normal;
  min-height: 44px;
}
/* Text wrappers inherit the same type; icons, numerical readouts and card
   descriptions retain their own semantics. */
body.poz-theme :is(
  .poz-btn,
  .pz-btn,
  .pz-btn-dark,
  .pz-btn-white,
  .pz-btn-ghost,
  .pz-btn-outline,
  .pz-promo-btn,
  .elementor-button,
  .pzk-btn,
  .pzkb-button,
  .pzdj-button,
  .pozcs__button,
  .pozcs-viewer__request,
  .pzfam-button,
  .pzsys-btn,
  .tm5-btn,
  .pztm-btn,
  .pzlzr-btn,
  .pzar-btn,
  .pzic-button,
  .pzprof-btn,
  .pzdef-button,
  .pztr-button,
  .pzev-button,
  .pzlt-button,
  .pzco-button,
  .pzabout-button,
  .pzabout-hero__cta,
  .poz-conf__cta,
  .pzo2-cta,
  .poz-brands2__cta,
  .pzp3-btn,
  .pzc-action,
  .pzpan-btn,
  .pzcc-button,
  .pzcc-config-invite__button,
  .pzbar-button,
  .pzb-button,
  .pzcf-button,
  .pzlzr-config__next,
  .poz-vodic__next,
  .poz-vodic__back,
  button[type="submit"],
  input[type="submit"],
  input[type="button"],
  [data-poz-button],
  .poz-nav__trigger,
  .poz-cats-launch,
  .pozq-model-trigger,
  .pzfam-quick__more,
  .poz-plan__presets-btn,
  .poz-plan__view,
  .poz-plan__restore,
  .poz-assist,
  .poz-vodic__toexpert,
  .pzkb-empty button,
  .pzkb-article-actions button,
  .pzic-text,
  .pzic-filter-trigger,
  .pozmm__desktop-close,
  .poz-drawer__back,
  .pz-qc-cbtoggle,
  [data-poz-button="compact"]
) > :where(span:not([aria-hidden="true"]):not([class*="icon"]):not([class*="arrow"])) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
}
body.poz-theme :is(
  .poz-burger,
  .pozmm__close,
  .pozmm__back,
  .pozq-model-panel__close,
  .pozcs-request__close,
  .poz-drawer__close,
  .poz-cats__x,
  .pzic-icon-button,
  .poz-plan__iconb,
  .poz-plan__theme,
  .poz-intro__x,
  .pz-qc-x,
  .pz-qc-fab,
  .top__close,
  .poz-vodic__x,
  button[data-pozcs-viewer-close],
  button[data-pozcs-viewer-prev],
  button[data-pozcs-viewer-next],
  button[data-pozcs-viewer-zoom-in],
  button[data-pozcs-viewer-zoom-out],
  [data-poz-button="icon"]
) {
  border-radius: var(--poz-button-radius) !important;
  font-family: var(--poz-button-font) !important;
  font-weight: var(--poz-button-weight) !important;
  font-synthesis: none;
}
/* Segments keep their shared track and connected edges. Their labels use the
   same family as actions, without changing model metadata or dimensions. */
body.poz-theme :is(
  .poz-plan__view,
  .pzkb-tabs button,
  .pzdj-leg-tabs button,
  .pzlzr-config__tabs button,
  .poz-vodic__nav button
) {
  font-family: var(--poz-button-font) !important;
  font-size: var(--poz-button-size) !important;
  font-weight: var(--poz-button-weight) !important;
  letter-spacing: var(--poz-button-tracking) !important;
  line-height: 1.5 !important;
}
/* Catalogue actions remain single-line at phone width. Space comes from
   the inner gap and padding, never from shrinking the common type size. */
body.poz-theme .pozcs__actions .pozcs__button {
  gap: 8px !important;
  min-width: min(100%, 286px) !important;
  padding-inline: 12px !important;
  white-space: nowrap !important;
}
/* Icon tool labels retain their compact scale and natural control dimensions. */
body.poz-theme .poz-tb button {
  border-radius: var(--poz-button-radius) !important;
  font-family: var(--poz-button-font) !important;
  font-weight: var(--poz-button-weight) !important;
}
body.poz-theme .poz-tb__lb {
  font-family: var(--poz-button-font) !important;
  font-weight: var(--poz-button-weight) !important;
}

}
