/* Portal dialogs and forms use the same palette as the catalogue and checkout. */
:root {
  --kunst-form-font:var(--kunst-ui-font,system-ui,sans-serif);
  --kunst-form-heading:var(--kunst-v3-serif-free,var(--kunst-ui-heading-font,var(--kunst-form-font)));
  --kunst-form-green:var(--kunst-color-primary-main,#315f41);
  --kunst-form-soft:var(--kunst-color-primary-soft,#edf4ee);
}

/* Standalone form pages use one column for the kicker, title and fields. */
body :is(.kunst-contact-page,.kunst-creator-page).kunst-page-shell {
  box-sizing:border-box;
  width:min(720px,calc(100% - 2 * var(--kunst-content-gutter,20px)))!important;
  max-width:720px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
body :is(.kunst-contact-page,.kunst-creator-page).kunst-page-shell > .kunst-page-head {
  display:block!important;
  margin:0 0 16px!important;
  padding:0!important;
  text-align:start!important;
}
body :is(.kunst-contact-page,.kunst-creator-page) > .kunst-page-head > .kunst-page-head__top {
  justify-content:flex-start!important;
  min-height:0;
}
body :is(.kunst-contact-page,.kunst-creator-page) > .kunst-page-head > .kunst-page-head__top > .kunst-page-head__kicker {
  color:var(--kunst-form-green)!important;
}
body :is(.kunst-contact-page,.kunst-creator-page).kunst-page-shell > .kunst-page-head > h1,
body :is(.kunst-contact-page,.kunst-creator-page).kunst-page-shell > h1 {
  margin:6px 0 0!important;
  padding:0!important;
  color:var(--kunst-refresh-green)!important;
  font:700 clamp(30px,4vw,44px)/1.12 var(--kunst-form-heading)!important;
  letter-spacing:-.035em!important;
  text-align:start!important;
  text-wrap:wrap;
}
body :is(.kunst-contact-page,.kunst-creator-page).kunst-page-shell > h1 {
  margin-bottom:16px!important;
}
body :is(.kunst-contact-page,.kunst-creator-page) > :is(.kunst-contact-body,.kunst-creator-page-body) {
  width:100%;
  max-width:none;
  margin:0 0 40px;
  padding:0;
}
@media(min-width:601px) {
  body .kunst-contact-body .kunst-request-sender {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
body :is(.kunst-contact-body,.kunst-creator-page-body) > p:first-child,
body .woocommerce-MyAccount-content:has(> :is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm)) > h2 + p {
  max-width:68ch;
  margin:0 0 20px;
  color:var(--kunst-refresh-ink);
  font:400 16px/1.55 var(--kunst-form-font);
  text-align:start;
}

/* Secondary headings sit directly above their own form. */
body #customer_login > :is(.u-column1,.u-column2,.col-1,.col-2) > h2,
body.woocommerce-account .woocommerce > h2:has(+ .woocommerce-form-login),
body .woocommerce-MyAccount-content:has(> :is(#kunst-konto-ulesande-vorm,#kunst-konto-materjali-vorm,#kunst-konto-toolehe-vorm)) > h2,
body .kunst-public-profile-editor > h2 {
  margin:0 0 12px!important;
  padding:0!important;
  color:var(--kunst-refresh-green)!important;
  font:700 clamp(22px,3vw,30px)/1.2 var(--kunst-form-heading)!important;
  letter-spacing:-.02em!important;
  text-align:start!important;
}

.kp-leave-dialog {
  --kunst-form-green:var(--kunst-color-planner-main,#705185);
  --kunst-form-soft:var(--kunst-color-planner-soft,#f4eef8);
}

body :is(.kunst-account-dialog,.kunst-hint-dialog,.kunst-request-dialog,.kunst-delete-dialog,
  .kunst-rights-modal-card,.kunst-curriculum-dialog,.kunst-admin-curriculum-dialog,
  .kunst-author-dialog,.kp-leave-dialog,.kunst-cookie-modal,.kunst-cookie-banner) {
  box-sizing:border-box;
  border:1px solid var(--kunst-refresh-border);
  border-radius:16px;
  background:var(--kunst-refresh-bg);
  color:var(--kunst-refresh-ink);
  box-shadow:0 16px 48px rgba(25,42,32,.18);
  font:400 15px/1.5 var(--kunst-form-font);
}
body :is(.kunst-account-dialog,.kunst-hint-dialog,.kunst-delete-dialog,.kp-leave-dialog) {
  max-height:calc(100dvh - 32px);
  overflow:auto;
  overscroll-behavior:contain;
}
body :is(.kunst-account-dialog,.kunst-hint-dialog,.kunst-request-dialog,.kunst-delete-dialog,
  .kunst-rights-modal-card,.kunst-curriculum-dialog,.kunst-admin-curriculum-dialog,.kp-leave-dialog) {
  padding:clamp(18px,5vw,28px);
}

body :is(.kunst-account-dialog,.kunst-hint-dialog,.kunst-request-dialog,.kunst-delete-dialog,
  .kunst-rights-modal-card,.kunst-curriculum-dialog,.kunst-admin-curriculum-dialog,.kp-leave-dialog) :is(h2,h3),
body .kunst-public-author-info :is(h1,h2):where(.kunst-author-dialog *),
body :is(.kunst-cookie-modal,.kunst-cookie-banner) h2 {
  color:var(--kunst-form-green);
  font:700 clamp(21px,3vw,28px)/1.2 var(--kunst-form-heading);
  letter-spacing:-.02em;
}
body :is(.kunst-request-dialog,.kunst-delete-dialog,.kunst-curriculum-dialog,.kunst-admin-curriculum-dialog) > h2,
body .kunst-rights-modal-card > h3 {
  margin:0 42px 16px 0;
}
body .kunst-hint-dialog > #kunst-hint-title {
  margin:0 0 16px;
  padding-inline:38px;
  text-align:center;
  text-wrap:balance;
}
body .kunst-account-dialog > h2 {margin:0 36px 14px;}
body :is(.kunst-account-dialog,.kunst-delete-dialog) > p,
body .kunst-request-dialog-body > p {font:inherit;}
body .kunst-account-dialog > p {margin:0 0 20px;}
body .kp-login-dialog > #kunst-refresh-planner-dialog-title {margin:0 0 12px;}
body .kp-login-dialog > #kunst-refresh-planner-dialog-title + p {font-weight:400;}

body :is(.kunst-account-dialog,.kunst-hint-dialog,.kunst-author-dialog,.kp-leave-dialog)::backdrop,
body :is(.kunst-request-overlay,.kunst-delete-overlay,.kunst-rights-modal,.kunst-curriculum-backdrop,
  .kunst-admin-curriculum-backdrop,.kunst-cookie-backdrop) {
  background:rgba(20,28,23,.48);
}

/* Icon buttons stay compact. Keyboard focus remains visible inside the circle. */
body :is(.kunst-account-dialog-close,.kunst-hint-close,.kunst-request-close,.kunst-delete-close,
  .kunst-rights-modal-close,.kunst-curriculum-close,.kunst-admin-curriculum-close,
  .kunst-author-dialog-close,.kunst-cookie-close) {
  display:grid;
  place-items:center;
  box-sizing:border-box;
  flex:0 0 44px;
  width:44px;
  min-width:44px;
  height:44px;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--kunst-form-green)!important;
  font:400 27px/1 var(--kunst-form-font)!important;
  box-shadow:none!important;
}
body :is(.kunst-account-dialog-close,.kunst-hint-close,.kunst-request-close,.kunst-delete-close,
  .kunst-rights-modal-close,.kunst-curriculum-close,.kunst-admin-curriculum-close,
  .kunst-author-dialog-close,.kunst-cookie-close):hover {
  background:var(--kunst-form-soft)!important;
}
body :is(.kunst-account-dialog-close,.kunst-hint-close,.kunst-request-close,.kunst-delete-close,
  .kunst-rights-modal-close,.kunst-curriculum-close,.kunst-admin-curriculum-close,
  .kunst-author-dialog-close,.kunst-cookie-close):focus-visible {
  outline:2px solid var(--kunst-form-green)!important;
  outline-offset:-3px!important;
}

/* Primary actions are filled. Secondary actions use the same shape and an outline. */
body :is(.kunst-account-dialog-actions a,.kunst-hint-actions button,.kunst-request-actions button,
  .kunst-delete-actions button,.kp-leave-dialog button,.kp-leave-dialog a.kp-book-button,
  .kunst-cookie-ui .kunst-cookie-btn,.kunst-creator-application button[type="submit"],
  .kunst-creator-application a.button,.kunst-public-profile-editor button[type="submit"],
  .woocommerce-ResetPassword button[type="submit"]) {
  --kunst-form-button-bg:transparent;
  --kunst-form-button-ink:var(--kunst-form-green);
  box-sizing:border-box;
  min-height:44px;
  max-width:100%;
  padding:8px 18px!important;
  border:1px solid var(--kunst-form-green)!important;
  border-radius:999px!important;
  background:var(--kunst-form-button-bg)!important;
  color:var(--kunst-form-button-ink)!important;
  font:600 14px/1.35 var(--kunst-form-font)!important;
  text-align:center;
  white-space:normal;
  text-decoration:none!important;
}
body :is(.kunst-account-dialog-actions a:last-child,.kunst-hint-actions button[type="submit"],
  .kunst-request-actions .kunst-request-primary,.kunst-delete-actions .kunst-delete-confirm,
  .kp-leave-dialog [data-leave],.kunst-cookie-ui .kunst-cookie-btn-primary,
  .kunst-creator-application button[type="submit"],.kunst-public-profile-editor button[type="submit"],
  .woocommerce-ResetPassword button[type="submit"]) {
  --kunst-form-button-bg:var(--kunst-form-green);
  --kunst-form-button-ink:#fff;
  letter-spacing:.045em;
  text-transform:uppercase!important;
}
body :is(.kunst-account-dialog-actions a,.kunst-hint-actions button,.kunst-request-actions button,
  .kunst-delete-actions button,.kp-leave-dialog button,.kp-leave-dialog a.kp-book-button,
  .kunst-cookie-ui .kunst-cookie-btn,.kunst-creator-application button[type="submit"],
  .kunst-creator-application a.button,.kunst-public-profile-editor button[type="submit"],
  .woocommerce-ResetPassword button[type="submit"]):hover:not(:disabled):not([aria-disabled="true"]) {
  box-shadow:inset 0 0 0 100px rgba(32,42,36,.08);
}
body :is(.kunst-delete-actions,.kp-dialog-actions) {flex-wrap:wrap;}

body :is(.kunst-hint-form,.kunst-request-form,.kunst-creator-application,.kunst-public-profile-fields,
  .kp-activity-dialog,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) {
  color:var(--kunst-refresh-ink);
  font:400 14px/1.5 var(--kunst-form-font);
}
body :is(.kunst-hint-form,.kunst-request-form,.kunst-creator-application,.kunst-public-profile-fields,
  .kp-activity-dialog,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword)
:is(input:is(:not([type]),[type="text"],[type="email"],[type="password"],[type="url"],[type="number"],[type="tel"]),
  select,textarea):not(:where(.wp-editor-area,[aria-invalid="true"],[readonly],:disabled,.woocommerce-invalid *)) {
  box-sizing:border-box;
  max-width:100%;
  min-height:44px;
  border-color:var(--kunst-refresh-border);
  border-radius:var(--kunst-refresh-radius);
  background-color:#fff;
  color:var(--kunst-refresh-ink);
  font:400 16px/1.4 var(--kunst-form-font);
}

body .kunst-hint-choices span {
  min-height:44px;
  border:1px solid var(--kunst-refresh-border);
  border-radius:var(--kunst-refresh-radius);
  background:#fff;
  color:var(--kunst-refresh-ink);
}
body .kunst-hint-choices input:checked + span {
  border-color:var(--kunst-form-green);
  background:var(--kunst-form-soft);
  color:var(--kunst-form-green);
  box-shadow:none;
}
body .kunst-hint-choices input:focus-visible + span {
  outline:2px solid var(--kunst-form-green);
  outline-offset:2px;
}
body .kunst-hint-form {gap:16px;}
body .kunst-hint-captcha-notice {margin:0;color:var(--kunst-refresh-muted);}
body .kunst-hint-reply {color:var(--kunst-refresh-muted);}
body :is(.kunst-form-confirmation,.kunst-hint-received,.kunst-form-error,.kunst-hint-error) {
  border-radius:var(--kunst-refresh-radius);
  font:400 14px/1.5 var(--kunst-form-font);
}
body :is(.kunst-form-confirmation,.kunst-hint-received) {
  background:var(--kunst-form-soft);
  color:var(--kunst-form-green);
}

body :is(.kunst-form-error,.kunst-hint-error) {
  background-color:var(--kunst-refresh-error-bg);
  border-color:var(--kunst-refresh-error);
  color:var(--kunst-refresh-error);
}

@media(max-width:440px) {
  body .kunst-hint-dialog > #kunst-hint-title {padding:36px 0 0;}
  body .kunst-hint-choices {grid-template-columns:1fr;}
  body .kunst-account-dialog > h2 {margin-inline:0 40px;text-align:left;}
  body .kunst-account-dialog-actions a {flex:1 1 100%;}
}
