/* kunst.braks.ee | 2026 kujunduse katsekiht 0.1.1
 * Piiratud valitud portaali komponentidega; ei muuda WordPressi ega TinyMCE tööriistariba.
 */
:root {
  --kunst-refresh-bg: #faf8f3;
  --kunst-refresh-ink: #202a24;
  --kunst-refresh-muted: #67716c;
  --kunst-refresh-border: #dfdfd8;
  --kunst-refresh-green: var(--kunst-color-primary-dark, #244730);
  --kunst-refresh-purple: var(--kunst-color-student-dark, #6f5879);
  --kunst-refresh-radius: 12px;
  --kunst-refresh-grid-gap: 30px;
}
body.kunst-platform-page { background-color: var(--kunst-refresh-bg); color:var(--kunst-refresh-ink); }
body.kunst-platform-page :is(.kunst-page-shell, .kf-catalog, .kk-wrap, .kunst-material-view, .kunst-worksheet-view) {
  font-family: var(--kunst-ui-font,system-ui,-apple-system,sans-serif);
}
/* The 1360px shell is already supplied by kunsti-uhine-mall. Undo the catalog's
 * separate legacy 1060px cap, without changing unrelated content widths. */
body.kunst-platform-page .kf-catalog--archive {
  box-sizing:border-box; max-width:none; padding-inline:max(22px,calc((100vw - 1360px)/2))!important;
}
body.kunst-platform-page .kf-material-page .kf-material-catalog,
body.kunst-platform-page .kf-archive,
body.kunst-platform-page .kf-all-catalog,
body.kunst-platform-page .kf-results {
  width:100%; max-width:1360px; min-width:0; margin-inline:auto;
}

/* Catalog card grid and image-driven layout. Class added after safe DOM enhancement. */
body .kf-catalog .kf-cards {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--kunst-refresh-grid-gap)!important; align-items:stretch; width:100%;
}
body .kf-catalog .kf-cards > .kf-card.kunst-v2-enhanced {
  position:relative; display:flex!important; flex-direction:column; height:100%; min-width:0;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; color:var(--kunst-refresh-ink); box-shadow:none!important;
  overflow:visible!important;
}
body .kf-catalog .kf-card.kunst-v2-enhanced:hover,
body .kf-catalog .kf-card.kunst-v2-enhanced:focus-within {
  border:0!important; box-shadow:none!important;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main {
  display:flex!important; flex-direction:column; align-items:stretch; flex:1 1 auto;
  min-height:100%; min-width:0; padding:0; margin:0;
  color:inherit; text-decoration:none!important; cursor:pointer;
  outline:none;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main:focus-visible {
  outline:3px solid var(--kunst-color-primary-main,#315f41)!important;
  outline-offset:7px; border-radius:7px;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image {
  display:block; position:relative; width:100%; aspect-ratio:16/9;
  margin:0 0 20px!important; padding:0; border:0;
  border-radius:32px!important; background:#f2ece2;
  overflow:hidden; isolation:isolate; transform:translateZ(0);
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image img {
  display:block; width:100%!important; height:100%!important; margin:0!important;
  object-fit:contain!important; transform:scale(1); transform-origin:center;
  transition:transform 250ms ease; will-change:transform;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image--empty {
  display:grid; place-items:center;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image :is(.kf-kind,.kk-access-badge,.kf-featured-star) {
  display:none!important;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-kind.kunst-v2-type {
  position:static!important; display:block!important; flex:0 0 auto;
  align-self:flex-start; max-width:100%; width:auto; height:auto; min-height:18px;
  padding:0!important; margin:0 0 10px!important; border:0!important; border-radius:0!important;
  background:transparent!important; box-shadow:none!important;
  color:var(--kunst-refresh-muted)!important;
  font:500 12px/1.45 var(--kunst-ui-font,system-ui,sans-serif)!important;
  letter-spacing:.10em; text-transform:uppercase;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-kind-icon { display:none!important; }
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main > h3 {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  box-sizing:border-box; min-height:0; margin:0 0 5px!important;
  font:650 clamp(18px,1.55vw,22px)/1.35 var(--kunst-ui-heading-font,var(--kunst-ui-font,system-ui,sans-serif))!important;
  color:var(--kunst-refresh-ink)!important; letter-spacing:-.015em;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main > p.kunst-v2-excerpt {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
  min-height:0; max-height:4.5em; margin:0 0 8px!important;
  font:400 14px/1.5 var(--kunst-ui-font,system-ui,sans-serif)!important;
  color:var(--kunst-refresh-muted)!important;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main > :is(.kf-card-facts,.kf-card-badge-row),
body .kf-catalog .kf-card.kunst-v2-enhanced > .kf-card-actions {
  display:none!important;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-card-bottom {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:auto; padding:11px 0 2px; border-top:1px solid var(--kunst-refresh-border);
  font:500 13px/1.35 var(--kunst-ui-font,system-ui,sans-serif);
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-card-status {
  min-width:0; color:var(--kunst-refresh-muted); overflow-wrap:anywhere;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-more {
  display:inline-flex; flex:0 0 auto; align-items:center; gap:8px;
  font-weight:600; color:var(--kunst-refresh-ink); white-space:nowrap;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-more-arrow {
  display:inline-block; font-size:20px; line-height:1;
  transform:translate(0,0); transition:transform 250ms ease;
}
/* Independent favourite control, NOT nested in the card link. */
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite {
  position:absolute; z-index:8; top:0; right:0;
  display:block; width:44px; height:44px;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login) {
  display:grid!important; place-items:center!important; width:44px!important; height:44px!important;
  min-height:44px!important; min-width:44px!important; padding:0!important; margin:0!important;
  border:0!important; border-radius:999px!important;
  background:transparent!important; box-shadow:none!important;
  color:var(--kunst-refresh-green)!important; font-size:0!important; line-height:1!important;
  cursor:pointer; text-decoration:none!important; user-select:none;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login)::before {
  content:'♡'; font:500 24px/1 system-ui,sans-serif; display:block;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite .kk-favorite[aria-pressed="true"]::before {
  content:'♥'; font-size:21px; color:var(--kunst-refresh-purple);
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite-icon,.kk-favorite-label) {display:none!important;}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login):focus-visible {
  outline:3px solid var(--kunst-color-primary-main,#315f41)!important; outline-offset:3px;
}
@media (hover:hover) and (pointer:fine) {
  body .kf-catalog .kf-card.kunst-v2-enhanced:hover .kf-card-image img {transform:scale(1.03);}
  body .kf-catalog .kf-card.kunst-v2-enhanced:hover .kunst-v2-more-arrow {transform:translate(3px,-3px);}
  body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login):hover {background:transparent!important;color:#173a29!important;}
}
@media (hover:none), (pointer:coarse) {
  body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main:active .kf-card-image {filter:brightness(.95);}
  body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image img {transition:none;will-change:auto;}
}
@media(max-width:1000px) {
  body .kf-catalog .kf-cards {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;}
}
@media(max-width:620px) {
  body .kf-catalog .kf-cards {grid-template-columns:minmax(0,1fr)!important;gap:32px!important;}
  body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image {border-radius:24px!important;}
  body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-main > h3 {font-size:20px!important;}
  body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite {right:0;}
}

/* Buttons: style just platform action controls, not the WP editor or icon-only tools. */
body.kunst-platform-page :is(
  .kunst-page-actions .button, .kunst-page-actions button, .kf-actions button,
  .kf-all-search button, .kunst-search-submit, .kunst-search-apply,
  .kunst-konto-ulesande-vorm .acf-form-submit input[type=submit],
  #kunst-konto-materjali-vorm .acf-form-submit input[type=submit],
  #kunst-konto-toolehe-vorm .acf-form-submit input[type=submit]
) {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:10px 24px; border-radius:999px!important;
  font:600 14px/1.3 var(--kunst-ui-button-font,var(--kunst-ui-font,system-ui,sans-serif));
  transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease;
}
body.kunst-platform-page :is(.kf-catalog-top .kf-show-all,.kf-catalog-top .kf-topics-link,.kf-catalog-top .kf-materials-link,.kunst-search-clear,.kf-active a) {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:10px 24px!important; border:1px solid var(--kunst-refresh-border)!important;
  border-radius:999px!important; background:transparent!important;
  color:var(--kunst-refresh-green)!important; font:500 14px/1.3 var(--kunst-ui-font,system-ui,sans-serif)!important;
  text-decoration:none!important;
}
body.kunst-platform-page :is(.kf-catalog-top .kf-show-all,.kf-catalog-top .kf-topics-link,.kf-catalog-top .kf-materials-link,.kunst-search-clear,.kf-active a):hover {
  background:#f2f3ee!important; border-color:#a8b6aa!important;
}
body.kunst-platform-page :is(.kunst-page-actions .button-primary,.kf-actions button[type=submit],.kf-all-search button) {
  color:#fff!important;background:var(--kunst-refresh-green)!important;border:1px solid var(--kunst-refresh-green)!important;
}
body.kunst-platform-page :is(.kunst-page-actions .button-primary,.kf-actions button[type=submit],.kf-all-search button):hover {
  background:#183c27!important;border-color:#183c27!important;
}
body.kunst-platform-page :is(.planeerija,.kunst-planeerija,.kunst-planner) :is(button[type=submit],.button-primary) {
  background:var(--kunst-refresh-purple)!important; border-color:var(--kunst-refresh-purple)!important; color:#fff!important;
}
/* Calm, consistent input fields. Rich text editor chrome is intentionally excluded. */
body.kunst-platform-page :is(.acf-form,.kf-all-search,.kf-grid,.kunst-search-panel) :is(input[type=text],input[type=number],input[type=search],input[type=email],select,textarea):not(.wp-editor-area) {
  box-sizing:border-box; min-height:44px; border:1px solid var(--kunst-refresh-border);border-radius:12px;
  background:#fff;color:var(--kunst-refresh-ink);
}
body.kunst-platform-page :is(.acf-form,.kf-all-search,.kf-grid,.kunst-search-panel) :is(input,select,textarea):focus-visible {
  outline:2px solid var(--kunst-color-primary-main,#315f41);outline-offset:2px;
}

/* ACF authoring tabs: responsive 3/2/1, while preserving every existing tab. */
:is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
:is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group {
  box-sizing:border-box;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;width:100%!important;height:auto!important;min-height:0!important;
  padding:0!important;margin:18px 0 26px!important;border:0!important;background:transparent!important;
  overflow:visible!important;
}
:is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
:is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group > li {
  display:block!important;float:none!important;width:100%!important;min-width:0!important;
  grid-column:auto!important;margin:0!important;padding:0!important;border:0!important;
}
:is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
:is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group > li > a {
  box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;
  width:100%!important;height:100%!important;min-height:52px!important;margin:0!important;padding:12px!important;
  border:1px solid var(--kunst-refresh-border)!important;border-radius:12px!important;
  background:#f7f6f2!important;color:var(--kunst-tab-button-text,var(--kunst-refresh-ink))!important;
  box-shadow:none!important;text-decoration:none!important;white-space:normal!important;
  font:600 14px/1.4 var(--kunst-ui-font,system-ui,sans-serif)!important;text-align:center;
  transition:background-color 180ms ease,border-color 180ms ease;
}
:is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
:is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group > li:is(.active,.-active) > a {
  border-color:var(--kunst-tab-button-border,var(--kunst-refresh-border))!important;
  background:var(--kunst-tab-button-bg,#f2f1ec)!important;
  box-shadow:inset 0 -3px var(--kunst-tab-button-active,var(--kunst-refresh-green))!important;
  color:var(--kunst-tab-button-text,var(--kunst-refresh-ink))!important;
}
:is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
:is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group > li > a:focus-visible {
  outline:3px solid var(--kunst-color-primary-main,#315f41)!important;outline-offset:3px;
}
/* Colored TAB sections are quieter, while headings keep their meaningful hue. */
:is(#kunst-konto-ulesande-vorm,body.wp-admin.post-type-kunstiulesanne #poststuff)
:is(.acf-field[class*="kunst-tab-stage-"],.acf-field[class*="kunst-admin-tab-"],.kunst-ulesanne-tab-block):not([data-type=tab]) {
  background:#fff!important;border:1px solid #e7e5df!important;
  border-left:2px solid var(--kunst-tab-accent,var(--kunst-refresh-green))!important;box-shadow:none!important;
}
@media(max-width:980px) {
  :is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
  :is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px) {
  :is(body.kunst-konto-paneel,body.wp-admin.post-type-kunstiulesanne,body.wp-admin.post-type-kunstimaterjal,body.wp-admin.post-type-kunstitooleht)
  :is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm,#poststuff) .acf-tab-group {
    grid-template-columns:minmax(0,1fr)!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  body .kf-catalog .kf-card.kunst-v2-enhanced .kf-card-image img,
  body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-more-arrow,
  body.kunst-platform-page :is(button,a,input) {transition:none!important;animation:none!important;}
  body .kf-catalog .kf-card.kunst-v2-enhanced:hover .kf-card-image img {transform:none!important;}
  body .kf-catalog .kf-card.kunst-v2-enhanced:hover .kunst-v2-more-arrow {transform:none!important;}
}

/* 0.1.1: compact, background-free favourite on the same line as the content type.
 * Its top coordinate is aligned to .kunst-v2-type by refresh.js because the image
 * width changes with the responsive three/two/one-column layout. */
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite {
  right:0!important; left:auto!important; bottom:auto!important;
  background:transparent!important; box-shadow:none!important;
}

/* Numbered pagination and functional LAE JUURDE action share one row. */
body .kf-catalog .kf-results > nav.kf-pagination {
  display:flex!important; flex-direction:row!important; align-items:center!important;
  justify-content:center!important; gap:10px!important; flex-wrap:wrap!important;
}
body .kf-catalog .kf-results > nav.kf-pagination > .kf-page-button {
  flex:0 0 50px!important; width:50px!important; min-width:50px!important; max-width:50px!important;
  height:50px!important; min-height:50px!important; max-height:50px!important;
  border-radius:999px!important; font-size:16px!important;
}
body .kf-catalog .kf-results > nav.kf-pagination > button.kunst-v2-loadmore {
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  flex:0 0 auto!important; width:auto!important; min-width:158px!important;
  height:50px!important; min-height:50px!important; max-height:none!important;
  box-sizing:border-box!important; padding:0 24px!important; margin:0 0 0 12px!important;
  border:1px solid var(--kunst-refresh-green)!important; border-radius:999px!important;
  background:var(--kunst-refresh-green)!important; color:#fff!important;
  font:600 14px/1.3 var(--kunst-ui-font,system-ui,sans-serif)!important;
  letter-spacing:.045em!important; text-transform:uppercase!important;
  box-shadow:none!important; cursor:pointer!important;
  transition:background-color 180ms ease, border-color 180ms ease;
}
body .kf-catalog .kf-results > nav.kf-pagination > button.kunst-v2-loadmore:hover:not(:disabled) {
  background:#173d29!important; border-color:#173d29!important;
}
body .kf-catalog .kf-results > nav.kf-pagination > button.kunst-v2-loadmore:focus-visible {
  outline:3px solid var(--kunst-color-primary-main,#315f41)!important; outline-offset:3px!important;
}
body .kf-catalog .kf-results > nav.kf-pagination > button.kunst-v2-loadmore:disabled {
  opacity:.65!important; cursor:progress!important;
}
body .kf-catalog .kf-results > nav.kf-pagination > .kunst-v2-loadmore-message {
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
/* Buttons use uppercase, but ordinary inline links (e.g. Vaata lähemalt) do not. */
body.kunst-platform-page :is(
  .kunst-page-actions,.kf-actions,.kf-all-toolbar,.kf-catalog-top,
  .kunst-search-actions,.acf-form-submit,.planeerija,.kunst-planeerija,.kunst-planner
) :is(button:not(.mce-btn),a.button,input[type=submit],.kf-show-all,.kf-topics-link,.kf-materials-link,.kunst-search-clear) {
  text-transform:uppercase!important; letter-spacing:.035em;
}
@media(max-width:620px) {
  body .kf-catalog .kf-results > nav.kf-pagination > .kf-page-button {
    flex-basis:44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;
    height:44px!important;min-height:44px!important;max-height:44px!important;
  }
  body .kf-catalog .kf-results > nav.kf-pagination > button.kunst-v2-loadmore {
    height:48px!important;min-height:48px!important;margin-left:0!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  body .kf-catalog .kf-results > nav.kf-pagination > button.kunst-v2-loadmore {
    transition:none!important;
  }
}


/* 0.1.2: shared, understated buttons. The editor, tabs, cards, favourites and
   icon-only controls are deliberately excluded from blanket text-button styling. */
body.kunst-platform-page :is(main,.site-header,header[role="banner"],.wp-site-blocks>header)
:is(button.kunst-refresh-pill,a.kunst-refresh-pill,input.kunst-refresh-pill,.wp-block-button__link.kunst-refresh-pill),
body.kunst-konto-paneel .woocommerce-MyAccount-content :is(button.kunst-refresh-pill,a.kunst-refresh-pill,input.kunst-refresh-pill){
  box-sizing:border-box!important;
  min-height:48px!important; padding:10px 24px!important;
  border-radius:999px!important;
  font:600 14px/1.3 var(--kunst-ui-button-font,var(--kunst-ui-font,system-ui,sans-serif))!important;
  text-transform:uppercase!important; letter-spacing:.035em!important;
  transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 180ms ease;
}
body.kunst-platform-page :is(main,.site-header,header[role="banner"],.wp-site-blocks>header) :is(button.kunst-refresh-pill,a.kunst-refresh-pill):focus-visible,
body.kunst-konto-paneel .woocommerce-MyAccount-content :is(button.kunst-refresh-pill,a.kunst-refresh-pill):focus-visible{
  outline:3px solid var(--kunst-color-primary-main,#315f41)!important;outline-offset:3px!important;
}
body.kunst-platform-page .kunst-refresh-icon-action{
  border-radius:999px!important; min-width:44px; min-height:44px;
}
/* A mouse-down must not draw a dark outline around the unfilled heart. */
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login),
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login):active,
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login):focus:not(:focus-visible){
  outline:none!important; border:0!important; box-shadow:none!important;
  -webkit-tap-highlight-color:transparent;
}
body .kf-catalog .kf-card.kunst-v2-enhanced .kunst-v2-favorite :is(.kk-favorite,.kk-favorite-login):focus-visible{
  outline:2px solid var(--kunst-color-primary-main,#315f41)!important;
  outline-offset:3px!important;
}
/* Header: gentle outlined violet navigation, calendar icon and optional
   account shortcut above it, preserving the original mobile navigation. */
body.kunst-platform-page .kunst-refresh-header-planner{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important; min-height:48px!important;
  border:1px solid var(--kunst-color-student-main,#8c7698)!important;
  border-radius:999px!important; padding:9px 22px!important;
  background:transparent!important;color:var(--kunst-color-student-dark,#644e74)!important;
  box-shadow:none!important; font:600 14px/1.3 var(--kunst-ui-font,system-ui,sans-serif)!important;
  text-transform:uppercase!important;text-decoration:none!important;
}
body.kunst-platform-page .kunst-refresh-header-planner:hover{
  background:var(--kunst-color-student-soft,#f6f1f8)!important;
}
body.kunst-platform-page .kunst-refresh-header-planner .kunst-refresh-calendar-icon,
body.kunst-platform-page .kunst-refresh-planner-cta .kunst-refresh-calendar-icon{
  display:inline-block;flex:0 0 20px;width:20px;height:20px;color:inherit;
}
body.kunst-platform-page .kunst-refresh-planner-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:999px!important;text-transform:uppercase!important;
}
body.kunst-platform-page .kunst-refresh-planner-cta:not(.kunst-refresh-header-planner){
  background:var(--kunst-color-student-dark,#644e74)!important;
  border-color:var(--kunst-color-student-dark,#644e74)!important;
  color:#fff!important;
}
body.kunst-platform-page .kunst-refresh-planner-cta:not(.kunst-refresh-header-planner):hover{
  background:#4e3e60!important;
}
body.kunst-platform-page .kunst-refresh-account-shortcut{
  display:none;align-items:center;justify-content:flex-end;
  font:500 13px/1.3 var(--kunst-ui-font,system-ui,sans-serif);
  letter-spacing:.035em;text-transform:uppercase;
  color:var(--kunst-refresh-ink)!important;text-decoration:none!important;
  min-height:28px;
}
body.kunst-platform-page .kunst-refresh-account-shortcut:hover{text-decoration:underline!important;text-underline-offset:3px}
body.kunst-platform-page .kunst-refresh-account-shortcut:focus-visible{
  outline:2px solid var(--kunst-color-primary-main,#315f41);outline-offset:3px;
}
@media(min-width:900px){
  body.kunst-platform-page .kunst-refresh-planner-cell{
    display:flex!important;flex-direction:column!important;align-items:flex-end!important;
    justify-content:center!important;gap:6px!important;
  }
  body.kunst-platform-page .kunst-refresh-account-shortcut{display:inline-flex!important;}
  body.kunst-platform-page .kunst-refresh-account-original{display:none!important;}
}
@media(max-width:899px){
  body.kunst-platform-page .kunst-refresh-account-shortcut{display:none!important;}
}
/* 0.1.4: compact, centered result counter + existing native load-more button.
   Earlier full-width 1fr / 1fr columns placed the two controls at the page edges.
   We constrain the entire pair; the original AJAX element is never recreated. */
body.kunst-platform-page .kunst-refresh-progress-layout,
body:not(.wp-admin) .kunst-refresh-progress-layout{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,300px) 240px!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:28px!important;
  row-gap:10px!important;
  width:min(100%,640px)!important;
  max-width:640px!important;
  margin:28px auto 18px!important;
  padding:0 12px 34px!important;
  float:none!important;
  clear:both!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-info{
  grid-column:1!important;grid-row:1 / span 2!important;
  min-width:0!important;width:100%!important;max-width:300px!important;
  display:flex!important;flex-direction:column!important;
  gap:10px!important;align-items:center!important;justify-content:center!important;
  margin:0!important;padding:0!important;
  text-align:center!important;
}
/* The real count can consist of several nested spans/divs with theme block styles.
   Keep '12 / 48 sisu' intact without changing live-updated text nodes. */
body:not(.wp-admin) .kunst-refresh-progress-info .kunst-refresh-progress-count{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;padding:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body:not(.wp-admin) .kunst-refresh-progress-count :is(span,strong,b,em,small,div,output){
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;padding:0!important;
  float:none!important;
  white-space:nowrap!important;
}
body:not(.wp-admin) .kunst-refresh-progress-count br{display:none!important;}
body:not(.wp-admin) .kunst-refresh-progress-info .kunst-refresh-progress-track{
  display:block!important;width:100%!important;max-width:300px!important;margin:0 auto!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-bar{
  grid-column:1!important;grid-row:2!important;
  width:100%!important;max-width:300px!important;margin:0!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-info:has(+ .kunst-refresh-progress-bar){
  grid-row:1!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-action{
  box-sizing:border-box!important;grid-column:2!important;grid-row:1 / span 2!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:240px!important;max-width:240px!important;min-width:0!important;
  margin:0!important;padding:0!important;
  text-align:center!important;
}
body:not(.wp-admin) .kunst-refresh-progress-action :is(button,a),
body:not(.wp-admin) button.kunst-refresh-native-loadmore,
body:not(.wp-admin) a.kunst-refresh-native-loadmore{
  box-sizing:border-box!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
  width:240px!important;max-width:240px!important;min-height:52px!important;
  padding:12px 24px!important;margin:0!important;
  border:1px solid var(--kunst-color-primary-main,#285e42)!important;
  border-radius:999px!important;
  background:var(--kunst-color-primary-main,#285e42)!important;
  color:#fff!important;
  font:600 14px/1.3 var(--kunst-ui-font,system-ui,sans-serif)!important;
  text-align:center!important;text-transform:uppercase!important;
  letter-spacing:.035em!important;
  box-shadow:none!important;cursor:pointer;
}
body:not(.wp-admin) .kunst-refresh-progress-action :is(button,a):hover:not(:disabled),
body:not(.wp-admin) :is(button,a).kunst-refresh-native-loadmore:hover:not(:disabled){
  background:var(--kunst-color-primary-dark,#244730)!important;
  border-color:var(--kunst-color-primary-dark,#244730)!important;
  color:#fff!important;
}
body:not(.wp-admin) .kunst-refresh-progress-action :is(button,a):focus-visible,
body:not(.wp-admin) :is(button,a).kunst-refresh-native-loadmore:focus-visible{
  outline:3px solid var(--kunst-color-primary-dark,#244730)!important;outline-offset:3px!important;
}
@media(max-width:700px){
  body:not(.wp-admin) .kunst-refresh-progress-layout{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    justify-items:center!important;
    gap:16px!important;
    padding-bottom:30px!important;
  }
  body:not(.wp-admin) .kunst-refresh-progress-layout > :is(.kunst-refresh-progress-info,.kunst-refresh-progress-bar,.kunst-refresh-progress-action){
    grid-column:1!important;grid-row:auto!important;
    width:100%!important;max-width:300px!important;
  }
  body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-action{
    width:240px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.kunst-platform-page .kunst-refresh-pill,
  body.kunst-platform-page .kunst-refresh-header-planner,
  body.kunst-platform-page .kunst-refresh-planner-cta{transition:none!important;}
}

/* Header shortcuts are site navigation, not restricted to managed lesson pages. */
body:not(.wp-admin) .kunst-refresh-header-planner{
  display:inline-flex!important;align-items:center!important;gap:10px!important;
  border:1px solid var(--kunst-color-student-main,#8c7698)!important;
  border-radius:999px!important;padding:9px 22px!important;
  background:transparent!important;color:var(--kunst-color-student-dark,#644e74)!important;
  text-transform:uppercase!important;box-shadow:none!important;text-decoration:none!important;
}
body:not(.wp-admin) .kunst-refresh-header-planner:hover{background:var(--kunst-color-student-soft,#f6f1f8)!important}
body:not(.wp-admin) .kunst-refresh-account-shortcut{display:none;color:var(--kunst-refresh-ink)!important;text-decoration:none!important;text-transform:uppercase!important;}
body:not(.wp-admin) .kunst-refresh-header-planner .kunst-refresh-calendar-icon,
body:not(.wp-admin) .kunst-refresh-planner-cta .kunst-refresh-calendar-icon{width:20px;height:20px;flex:0 0 20px}
body:not(.wp-admin) .kunst-refresh-planner-cta :is([data-kp-arrow],.kp-arrow,.external-arrow,.arrow-icon){display:none!important;}
body:not(.wp-admin) .kunst-refresh-planner-cta > svg:last-child:not(:first-child){display:none!important;}
body:not(.wp-admin) .kunst-refresh-original-account-text::before{content:none!important;}
body:not(.wp-admin) .kunst-refresh-original-account-text > :is(svg,img,i){display:none!important;}
body:not(.wp-admin) .kunst-refresh-original-account-text::after{
  content:attr(data-kunst-account-state);
  font:500 13px/1.4 var(--kunst-ui-font,system-ui,sans-serif);letter-spacing:.03em;
}
@media(min-width:900px){
  body:not(.wp-admin) .kunst-refresh-planner-cell{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:6px!important;}
  body:not(.wp-admin) .kunst-refresh-account-shortcut{display:inline-flex!important;min-height:28px!important;}
  body:not(.wp-admin) .kunst-refresh-account-original{display:none!important;}
}

/* 0.1.5: render the results count as ONE actual line, regardless of the
   original plugin's nested paragraphs, blocks or flex-column children. */
body:not(.wp-admin) .kunst-refresh-progress-layout:has(> .kunst-refresh-progress-visual){
  position:relative!important;
  grid-template-rows:auto!important;
  row-gap:0!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-visual{
  box-sizing:border-box!important;
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:300px!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--kunst-ui-muted,#66706a)!important;
  font:500 16px/1.4 var(--kunst-ui-font,system-ui,sans-serif)!important;
}
body:not(.wp-admin) .kunst-refresh-progress-visual-count{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:center!important;
  font:inherit!important;
}
body:not(.wp-admin) .kunst-refresh-progress-visual-track{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:7px!important;
  overflow:hidden!important;
  margin:10px auto 0!important;
  padding:0!important;
  background:#e2e9e4!important;
  border-radius:999px!important;
}
body:not(.wp-admin) .kunst-refresh-progress-visual-fill{
  display:block!important;
  height:100%!important;
  background:var(--kunst-color-primary-main,#285e42)!important;
  border-radius:inherit!important;
  transition:width 200ms ease;
}
/* Source counter/bar remain in DOM for the native loader's updates,
   but cannot occupy columns or split the visible count into lines. */
body:not(.wp-admin) .kunst-refresh-progress-layout:has(> .kunst-refresh-progress-visual)
> :is(.kunst-refresh-progress-info,.kunst-refresh-progress-bar){
  position:absolute!important;
  inset:auto!important;
  left:0!important;
  top:0!important;
  display:block!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  pointer-events:none!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout:has(> .kunst-refresh-progress-visual)
> .kunst-refresh-progress-action{
  grid-column:2!important;
  grid-row:1!important;
}
@media(max-width:700px){
  body:not(.wp-admin) .kunst-refresh-progress-layout > .kunst-refresh-progress-visual{
    grid-column:1!important;
    grid-row:1!important;
    max-width:300px!important;
  }
  body:not(.wp-admin) .kunst-refresh-progress-layout:has(> .kunst-refresh-progress-visual)
  > .kunst-refresh-progress-action{
    grid-column:1!important;
    grid-row:2!important;
  }
  body:not(.wp-admin) .kunst-refresh-progress-layout:has(> .kunst-refresh-progress-visual){
    row-gap:16px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body:not(.wp-admin) .kunst-refresh-progress-visual-fill{transition:none!important;}
}

/* 0.1.7: The progress scale remains visible independently of pagination.
   Without additional results, center the whole 300px scale within the
   catalogue. Preserve 34px breathing room above the footer. */
body:not(.wp-admin) .kunst-refresh-progress-layout.kunst-refresh-progress-layout--no-action{
  grid-template-columns:minmax(0,300px)!important;
  grid-template-rows:auto!important;
  justify-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  width:min(100%,360px)!important;
  max-width:360px!important;
  margin:28px auto 18px!important;
  padding:0 12px 34px!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout.kunst-refresh-progress-layout--no-action > .kunst-refresh-progress-visual{
  grid-column:1!important;
  grid-row:1!important;
  width:300px!important;
  max-width:100%!important;
  margin:0 auto!important;
}
body:not(.wp-admin) .kunst-refresh-progress-layout.kunst-refresh-progress-layout--no-action > .kunst-refresh-progress-action{
  display:none!important;
}
@media(max-width:700px){
  body:not(.wp-admin) .kunst-refresh-progress-layout.kunst-refresh-progress-layout--no-action{
    width:min(100%,360px)!important;
    grid-template-columns:minmax(0,300px)!important;
  }
}
