/* =========================
   CSS color variables
   ========================= */
:root {
  --primary-color: #fff;
  --secondary-color: #222222;
  --thertiarity-color: #666666;
}

/* RESET*/

body,
a,
li,
p {
  font-family: "Karla", sans-serif !important;
}

.o-hero {
  display: none !important;
}

.l-theme-wrapper .l-main-wrapper {
  background-color: inherit !important;
  color: inherit !important;
}

@media (max-width: 767px) {
  .e-con.e-flex {
    --flex-wrap: nowrap !important;
  }
}

.forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid="open"] .forminator-row .forminator-col-md-6 {
  max-width: 100% !important;
}

/* Header styles */
.l-primary-header--default-wrapper {
  margin-bottom: 2.75rem;
}

.l-primary-header--default-wrapper .container,
.l-main-wrapper__holder .container,
.l-primary-footer__widgets .container,
.elementor-default.elementor-page .l-main-wrapper__holder .l-main-wrapper__inner {
  max-width: 1140px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 1200px) {
  .l-primary-header--default-wrapper .container,
  .l-primary-header--responsive .container,
  .l-main-wrapper__holder .container,
  .l-primary-footer__widgets .container,
  .e-con.e-flex > .e-con-inner {
    max-width: 90% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .l-primary-header--responsive .l-primary-header--responsive__icon {
    margin-right: -6px !important;
  }

  .elementor-element {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-default.elementor-page .l-main-wrapper__holder .l-main-wrapper__inner {
    /* max-width: 90% !important; */
  }
}

@media (max-width: 991px) {
  .l-primary-header--default-wrapper {
    display: block !important;
  }
}

.l-primary-header {
  background-color: #000 !important;
  color: #fff !important;
  border-bottom: 1px solid !important;
  border-bottom-color: rgba(255, 255, 255, 0.18) !important;
}

.l-primary-header__holder {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.l-primary-header .l-primary-header__icons svg,
.l-primary-header .l-primary-header__bag__icon svg {
  fill: #fff !important;
}

.l-primary-header--responsive__icon svg line.st0 {
  stroke: #fff !important;
}

.l-primary-header ul li {
  color: #fff !important;
  text-decoration: none !important;
}

.l-primary-header ul li:hover {
  text-decoration: none !important;
  box-shadow: none !important;
  color: #fff !important;
}

ul.menu.m-header-default-menu li.menu-item > a {
  color: #fff !important;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none !important;
  font-size: 1.15rem !important;
}
ul.menu.m-header-default-menu li.menu-item > a:hover {
  text-decoration: none !important;
  box-shadow: none !important;
  color: #fff !important;
}

ul.menu.m-header-default-menu li.menu-item.menu-item-has-children:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translate(0, -90%) rotate(45deg);
  border-right: 1px solid rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  pointer-events: none;
}
ul.menu.m-header-default-menu li.menu-item.menu-item-has-children:hover:after {
  border-color: rgba(255, 255, 255, 1) !important;
}

ul.menu.m-header-default-menu li.menu-item.menu-item-has-children {
  position: relative;
}

ul.menu.m-header-default-menu li.menu-item.menu-item-has-children > ul.sub-menu {
  background-color: var(--primary-color) !important;
  box-shadow: 0px 5px 10px 2px rgba(102, 102, 102, 0.2);
  padding: 2rem 2.25rem;
  margin-top: 1rem !important;
  border-top: 2px solid var(--secondary-color) !important;
}

ul.menu.m-header-default-menu li.menu-item.menu-item-has-children > ul.sub-menu li.menu-item a {
  color: var(--thertiarity-color) !important;
  font-weight: 600;
  text-transform: uppercase;
}

ul.menu.m-header-default-menu li.menu-item:last-child {
  margin-left: 55px;
  margin-right: 11px;
}

.avatar {
  border-radius: 50% !important;
}

/* Konto: same mechanism as Medlem — menu-item-has-children + ul.sub-menu (theme uses .active + slideToggle in responsive). */
ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children {
  position: relative;
}

/*
 * Konto avatar: desktop uses ul.menu.m-header-default-menu; responsive menu uses only ul.menu
 * (responsive.php does not add m-header-default-menu), so we scope to header.l-primary-header.
 * Global img { max-width: 100%; height: auto; } may produce 0×0 inside flex otherwise.
 */
header.l-primary-header .am-account-nav-avatar-wrap {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 50%;
  line-height: 0;
}

header.l-primary-header li.menu-item--account.menu-item-has-children > a.am-account-nav-main img.am-account-nav-avatar-img,
header.l-primary-header li.menu-item--account.menu-item-has-children > a.am-account-nav-main img.avatar {
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover;
}

/* Desktop: compact light submenu instead of the theme's dark mega style */
ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  text-align: left !important;
  background-color: var(--primary-color) !important;
  box-shadow: 0px 5px 10px 2px rgba(102, 102, 102, 0.2);
  padding: 1.5rem 1.75rem !important;
  margin-top: 1rem !important;
  margin-left: 0 !important;
  border-top: 2px solid var(--secondary-color) !important;
  border-radius: 0 !important;
  min-width: 220px !important;
  width: auto !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  transition:
    opacity 150ms ease,
    transform 150ms ease,
    visibility 150ms ease;
  z-index: 999;
}

ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children:hover > ul.sub-menu.am-account-popover,
ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover.active,
ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children:focus-within > ul.sub-menu.am-account-popover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover > li.menu-item {
  margin-bottom: 0.35rem !important;
  margin-left: 0 !important;
}

ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover > li.menu-item:last-child {
  margin-bottom: 0 !important;
}

ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover a {
  display: block;
  padding: 0.35rem 0;
  font-size: 1.15rem !important;
  color: var(--thertiarity-color) !important;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none !important;
}

ul.menu.m-header-default-menu li.menu-item.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover a:hover {
  color: var(--secondary-color) !important;
  box-shadow: none !important;
}

/* Responsive menu: same layout as other items with children (chevron + slideToggle) */
@media (max-width: 991px) {
  .l-primary-header--responsive__nav nav ul.menu li.menu-item--account.menu-item-has-children {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center !important;
    gap: 0;
  }

  .l-primary-header--responsive__nav nav ul.menu li.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover {
    flex: 1 0 100%;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    min-width: 0 !important;
    width: 100% !important;
    margin-top: 1.33333rem !important;
    margin-bottom: 0 !important;
    padding: 0 0 0 1.33333rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: none;
  }

  .l-primary-header--responsive__nav nav ul.menu li.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover > li.menu-item {
    margin-bottom: 0.5rem !important;
  }

  .l-primary-header--responsive__nav nav ul.menu li.menu-item--account.menu-item-has-children > ul.sub-menu.am-account-popover > li.menu-item:last-child {
    margin-bottom: 0 !important;
  }
}

/* Forminator registration (form id 87) - match Woo login look */
.forminator-ui#forminator-module-87-container {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.forminator-ui#forminator-module-87 {
  max-width: 520px;
  width: 100%;
  margin: 0 auto;
}

.forminator-ui#forminator-module-87 .forminator-title,
.forminator-ui#forminator-module-87 .forminator-subtitle {
  text-align: left !important;
}

.forminator-ui#forminator-module-87 .forminator-label {
  color: var(--secondary-color) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em;
}

.forminator-ui#forminator-module-87 .forminator-field input.forminator-input,
.forminator-ui#forminator-module-87 .forminator-field textarea.forminator-textarea,
.forminator-ui#forminator-module-87 .forminator-field select.forminator-select2 {
  background: var(--primary-color) !important;
  border: 1px solid rgba(102, 102, 102, 0.35) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.forminator-ui#forminator-module-87 .forminator-field input.forminator-input:focus,
.forminator-ui#forminator-module-87 .forminator-field textarea.forminator-textarea:focus {
  border-color: rgba(34, 34, 34, 0.7) !important;
  outline: none !important;
}

.forminator-ui#forminator-module-87 .forminator-button {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

.forminator-ui#forminator-module-87 .forminator-button-submit {
  background: var(--secondary-color) !important;
  border-color: var(--secondary-color) !important;
  color: var(--primary-color) !important;
}

.forminator-ui#forminator-module-87 .forminator-button-submit:hover {
  opacity: 0.9;
}

/* Registration separator spacing */
.forminator-ui#forminator-module-87 #section-1 {
  margin-top: 30px;
}

/* Forminator: Navn + Efternavn on one row */
.forminator-ui#forminator-module-87 .forminator-row:first-of-type {
  display: flex;
  gap: 16px;
}

.forminator-ui#forminator-module-87 .forminator-row:first-of-type > .forminator-col {
  flex: 1 1 0%;
  min-width: 0;
}

@media (max-width: 640px) {
  .forminator-ui#forminator-module-87 .forminator-row:first-of-type {
    flex-direction: column;
  }
}

/* WooCommerce Edit Account — same visual rules as Forminator module 87 */
.woocommerce-account form.woocommerce-EditAccountForm.edit-account {
  max-width: 520px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  align-items: flex-start;
  box-sizing: border-box;
  margin: 0 auto;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account > .clear {
  display: none;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account > .form-row-first,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account > .form-row-last {
  flex: 1 1 calc(50% - 8px);
  min-width: 0;
  float: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 640px) {
  .woocommerce-account form.woocommerce-EditAccountForm.edit-account > .form-row-first,
  .woocommerce-account form.woocommerce-EditAccountForm.edit-account > .form-row-last {
    flex: 1 1 100%;
  }
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account > .form-row-wide,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account > fieldset,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account > p:has(.woocommerce-Button) {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset .form-row {
  float: none !important;
  width: 100% !important;
  max-width: 100%;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account > fieldset ~ fieldset {
  margin-top: 30px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account > fieldset:first-of-type {
  margin-top: 30px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-avatar-fieldset,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-artmoney-fieldset {
  border: 1px solid rgba(102, 102, 102, 0.35);
  padding: 16px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-avatar-fieldset legend {
  color: var(--secondary-color);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 1.25rem 1.25rem;
  margin-bottom: 0;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-billing-fieldset {
  border: 1px solid rgba(102, 102, 102, 0.35);
  padding: 16px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-billing-fieldset legend {
  color: var(--secondary-color);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 1.25rem 1.25rem;
  margin-bottom: 0;
}
.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-billing-fieldset textarea {
  border: 1px solid rgba(102, 102, 102, 0.35);
  background: var(--primary-color) !important;
  border: 1px solid rgba(102, 102, 102, 0.35) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-password-fieldset {
  border: 1px solid rgba(102, 102, 102, 0.35);
  padding: 16px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset.am-edit-account-password-fieldset legend {
  color: var(--secondary-color);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 1.25rem 1.25rem;
  margin-bottom: 0;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset {
  border: none;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  min-width: 0;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset legend {
  color: var(--secondary-color);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 1.25rem 1.25rem;
  margin-bottom: 0;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account label {
  color: var(--secondary-color) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em;
  font-size: 12px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account label .required {
  color: #e51919;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account #account_display_name_description {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--thertiarity-color);
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account #account_display_name_description em {
  font-style: normal;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .description,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account .description em {
  font-size: 12px;
  color: var(--thertiarity-color);
  font-style: normal;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .input-text,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="email"],
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="password"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--primary-color) !important;
  border: 1px solid rgba(102, 102, 102, 0.35) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .input-text:focus,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="email"]:focus,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="password"]:focus {
  border-color: rgba(34, 34, 34, 0.7) !important;
  outline: none !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .input-text:disabled,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="email"]:disabled,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="password"]:disabled {
  background: color-mix(in srgb, var(--thertiarity-color) 10%, var(--primary-color)) !important;
  border-color: rgba(102, 102, 102, 0.25) !important;
  color: var(--thertiarity-color) !important;
  cursor: not-allowed;
  opacity: 1;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .input-text:disabled::placeholder,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="email"]:disabled::placeholder,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="password"]:disabled::placeholder {
  color: color-mix(in srgb, var(--thertiarity-color) 75%, transparent) !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account button[type="submit"].woocommerce-Button,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account button[type="submit"].button {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  background: var(--secondary-color) !important;
  border-color: var(--secondary-color) !important;
  color: var(--primary-color) !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account button[type="submit"].woocommerce-Button:hover,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account button[type="submit"].button:hover {
  opacity: 0.9;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account label.button {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  background: var(--secondary-color) !important;
  border: 1px solid var(--secondary-color) !important;
  color: var(--primary-color) !important;
  padding: 10px 16px;
  display: inline-block;
  cursor: pointer;
  font-size: 12px;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account label.button:hover {
  opacity: 0.9;
}

@media (max-width: 991px) {
  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav {
    background-color: #000 !important;
    color: #fff !important;
    margin-top: 2.8rem;
    box-shadow: 0px 5px 10px 2px rgba(102, 102, 102, 0.2);
    z-index: 9;
  }
  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item {
    display: flex;
    position: relative;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  /* Responsive menu: the main <a> for items with children takes the whole row,
       but keeps space on the right for .menu-item-icon (so it doesn't shift). */
  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item.menu-item-has-children > a:not(.menu-item-icon) {
    flex: 1 1 auto;
    min-width: 90%;
    display: block;
    padding-right: 2.25rem; /* space reserved for the icon on the right */
    text-wrap: nowrap !important;
  }

  /* Exception: Konto (avatar + name) and the chevron must be on the same row */
  .l-primary-header.l-primary-header--responsive
    .l-primary-header--responsive__nav
    nav
    ul.menu
    li.menu-item.menu-item--account.menu-item-has-children
    > a.am-account-nav-main {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    padding-right: 0;
  }
  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item a {
    text-wrap: nowrap !important;
    color: #fff !important;
  }

  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item.menu-item-has-children ul.sub-menu {
    min-width: 100% !important;
  }

  .artmoney-profile--menu a {
    width: 100% !important;
  }

  /* Replace feather-chevron-down inside menu-item-icon with a CSS chevron */
  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item.menu-item-has-children .menu-item-icon > svg {
    display: none !important;
  }

  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item.menu-item-has-children .menu-item-icon {
    position: relative;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .l-primary-header.l-primary-header--responsive .l-primary-header--responsive__nav nav ul.menu li.menu-item.menu-item-has-children .menu-item-icon::after {
    content: "";
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    border-right: 1px solid rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.9);
    pointer-events: none;
  }
}

/* Custom styles for login page , password reset page, lost password page*/

.login #pass-strength-result {
  font-weight: 600;
  margin: 0 !important;
  margin-top: 0.5rem !important;
  padding: 6px 5px;
  text-align: center;
  width: 100%;
  border-radius: 2px;
}

.login .message,
.login .notice,
.login .success {
  border: none !important;
  box-shadow: none !important;
  text-align: center !important;
}

.login .message,
.login .notice,
.login .success p {
  font-size: 2rem !important;
}

.login-action-rp #login form p.submit {
  border-bottom: 1px solid rgba(102, 102, 102, 0.9);
  padding-bottom: 1rem !important;
  border-radius: 0 !important;
}

body.login #resetpassform .user-pass1-wrap {
  position: relative;
  padding-top: 4rem !important;
}

body.login #resetpassform .user-pass1-wrap > p {
  position: absolute;
  top: -16px;
  left: 20px;
  z-index: 1;
  background: var(--primary-color, #fff);
  padding: 0.5rem;
  border: 1px solid #000000;
}
.login .pw-weak {
  display: flex;
  align-items: center;
  margin-top: 1rem !important;
  gap: 0.5rem;
}

input[type="checkbox"],
input[type="radio"] {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  border: 1px solid #000000;
  background: var(--primary-color, #fff);
  padding: 0;
  margin: 0;
  vertical-align: middle;
  cursor: pointer;
}

input[type="checkbox"]:checked::before {
  margin: 0 !important;
  width: 14px;
  height: 16px;
}

.login .forgetmenot label,
.login .pw-weak label {
  margin-bottom: 0 !important;
}

.login #backtoblog,
.login #nav {
  max-width: 380px !important;
  margin: 0 auto !important;
}

.login #nav {
  margin-top: 2rem !important;
}

/* Hero carousel: slides and images span full carousel width (no side gutters) */
.artmoney-hero-carusel {
  position: relative;
  /* Single height for both the slide and side gradients */
  --artmoney-hero-slide-h: 400px;
}
.artmoney-hero-carusel {
  display: none;
}

/*
 * The gradient must be pinned to the visible area (viewport) and not move with the track.
 * So we draw the overlay on .swiper (viewport), not on .swiper-wrapper (which Swiper moves via transform).
 */
.artmoney-hero-carusel .swiper {
  position: relative;
}

.artmoney-hero-carusel .swiper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--artmoney-hero-slide-h);
  bottom: auto;
  z-index: 1;
  pointer-events: none;
  background-image:
    linear-gradient(
      90deg,
      var(--thertiarity-color) 0%,
      var(--thertiarity-color) 5%,
      color-mix(in srgb, var(--thertiarity-color) 95%, transparent) 15%,
      color-mix(in srgb, var(--thertiarity-color) 90%, transparent) 25%,
      color-mix(in srgb, var(--thertiarity-color) 80%, transparent) 35%,
      color-mix(in srgb, var(--thertiarity-color) 65%, transparent) 45%,
      color-mix(in srgb, var(--thertiarity-color) 50%, transparent) 55%,
      color-mix(in srgb, var(--thertiarity-color) 35%, transparent) 65%,
      color-mix(in srgb, var(--thertiarity-color) 20%, transparent) 75%,
      color-mix(in srgb, var(--thertiarity-color) 10%, transparent) 85%,
      transparent 95%,
      transparent 100%
    ),
    linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--thertiarity-color) 10%, transparent) 15%,
      color-mix(in srgb, var(--thertiarity-color) 20%, transparent) 25%,
      color-mix(in srgb, var(--thertiarity-color) 35%, transparent) 35%,
      color-mix(in srgb, var(--thertiarity-color) 50%, transparent) 45%,
      color-mix(in srgb, var(--thertiarity-color) 65%, transparent) 55%,
      color-mix(in srgb, var(--thertiarity-color) 80%, transparent) 65%,
      color-mix(in srgb, var(--thertiarity-color) 90%, transparent) 75%,
      color-mix(in srgb, var(--thertiarity-color) 95%, transparent) 85%,
      var(--thertiarity-color) 95%,
      var(--thertiarity-color) 100%
    );
  background-size:
    clamp(120px, 22vw, 280px) 100%,
    clamp(120px, 22vw, 280px) 100%;
  background-position:
    left center,
    right center;
  background-repeat: no-repeat;
}

.artmoney-hero-carusel .swiper-button-prev,
.artmoney-hero-carusel .swiper-button-next,
.artmoney-hero-carusel .elementor-swiper-button {
  z-index: 12 !important;
  color: #fff;
}

.artmoney-hero-carusel .swiper-button-prev::after,
.artmoney-hero-carusel .swiper-button-next::after {
  color: #fff;
}

.artmoney-hero-carusel .swiper {
  width: 100%;
}

.artmoney-hero-carusel .swiper-wrapper {
  width: 100%;
}

.artmoney-hero-carusel .swiper-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  height: var(--artmoney-hero-slide-h);
  box-sizing: border-box;
}

.artmoney-hero-carusel .swiper-slide-image {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  object-fit: cover;
  object-position: center;
  min-height: 100%;
}

.artmoney-hero-carusel .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Elementor can set fill on svg/path from widget settings — target path and ensure this CSS loads after elementor-frontend */
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-prev,
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-next {
  color: #fff !important;
}

.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-prev svg,
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-next svg,
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-prev svg path,
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-next svg path,
.artmoney-hero-carusel .elementor-swiper-button svg.e-font-icon-svg,
.artmoney-hero-carusel .elementor-swiper-button svg.e-font-icon-svg path {
  fill: #fff !important;
  color: #fff !important;
}

/* Fallback if fill is still overridden (icon becomes white) */
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-prev svg,
.artmoney-hero-carusel .elementor-swiper-button.elementor-swiper-button-next svg {
  filter: brightness(0) invert(1);
}

/* Header: text to the right of the logo (2 lines) */
.am-header-brand {
  min-width: 0;
}

.am-header-brand__text {
  margin-left: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  line-height: 1.05;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  text-decoration: none !important;
}

.am-header-brand__text:hover,
.am-header-brand__text:focus {
  text-decoration: none !important;
}

.am-header-brand__text-line {
  font-size: 12px;
}

.am-header-brand__text-line:first-child {
  font-size: 28px;
  font-weight: 700;
  word-break: keep-all;
}

.am-header-brand__text-line:last-child {
  font-size: 18px;
  font-weight: 400;
}

/* WooCommerce My Account: center the content area */
.woocommerce-account .woocommerce-MyAccount-content {
  margin-left: auto;
  margin-right: auto;
  float: none;
  padding-left: 0 !important;
}

/* Footer widgets: vertically center column content */
.l-primary-footer__widgets .row {
  align-items: stretch;
}
@media (max-width: 767px) {
  .l-primary-footer__widgets .col-sm-6 {
    max-width: 100% !important;
  }

  .l-primary-footer__widgets .row {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.l-primary-footer__widgets .row > [class*="col-"]:first-child {
  align-items: flex-start;
}

.l-primary-footer__widgets .row > [class*="col-"] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Make each widget fill the column height and center its content */
.l-primary-footer__widgets .row > [class*="col-"] > .widget {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.l-primary-footer__widgets .row > [class*="col-"]:last-child .widget {
  align-items: flex-end;
}

@media (max-width: 767px) {
  .l-primary-footer__widgets .row {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .l-primary-footer__widgets .row > [class*="col-"] {
    align-items: center !important;
  }

  .l-primary-footer__widgets .row > [class*="col-"] > .widget {
    align-items: flex-start !important;
    width: 100% !important;
  }
}

/* Gutenberg group in the footer */
.l-primary-footer__widgets .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
}

/*
 * Stretch content to the full column width (like the header inside .container),
 * while keeping text left-aligned.
 */
.l-primary-footer__widgets .wp-block-group__inner-container,
.l-primary-footer__widgets .widget_text {
  width: 100%;
  max-width: none;
  text-align: left;
}

/* Text widgets in the footer */
.l-primary-footer__widgets .widget_text,
.l-primary-footer__widgets .widget_text p {
  text-align: left;
}

/* Footer widgets: bottom margin 32px instead of the default */
.l-primary-footer .l-primary-footer__widgets .l-primary-footer__widgets__space .widget {
  margin-bottom: 32px !important;
}

/* Footer copyright: remove top padding + add a full-width white divider line */
.l-primary-footer .l-primary-footer__copyright .l-primary-footer__copyright__space {
  position: relative;
}

.l-primary-footer .l-primary-footer__copyright .l-primary-footer__copyright__space::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background: #fff;
  transform: translateX(-50%);
}
.l-primary-footer .l-primary-footer__copyright .col-sm-6 {
  width: 100% !important;
  flex: 0 0 100%;
  max-width: 100%;
}

.l-primary-footer .l-primary-footer__copyright .col-sm-6:last-child {
  display: none !important;
}

.l-primary-footer__copyright__text {
  text-align: center !important;
}

/* Kunstnere grid (registered artists list) */
.am-kunstnere {
  margin-top: 24px;
}

.am-kunstnere__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  justify-items: center;
}

@media (min-width: 768px) {
  .am-kunstnere__grid {
    gap: 20px;
  }
}

@media (min-width: 1024px) {
  .am-kunstnere__grid {
    /* Max 3 cards per row on desktop */
    grid-template-columns: repeat(3, minmax(0, 400px));
    justify-content: space-between;
    gap: 24px;
  }
}

.am-kunstnere__card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0;
  padding: 0;
  background: #fff;
  display: block;
  width: 100%;
  max-width: 400px;
  max-height: clamp(360px, 55vw, 480px);
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.am-kunstnere__card:hover {
  border-color: rgba(0, 0, 0, 0.22);
}

.am-kunstnere__card:focus,
.am-kunstnere__card:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}

.am-kunstnere__avatar {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: contain;
  display: block;
  background: #f3f4f6;
}

.am-kunstnere__name {
  font-weight: 600;
  line-height: 1.2;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 14px 16px;
  color: #fff;
  text-align: left;
  background: linear-gradient(to top, rgb(0 0 0 / 86%), rgb(0 0 0 / 67%), rgb(0 0 0 / 0%));
  font-size: 3rem;
}

.am-kunstnere__pagination {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.am-kunstnere__empty {
  border: 1px solid rgba(0, 0, 0, 0.12);
  padding: 28px 22px;
  background: #fff;
  color: rgba(0, 0, 0, 0.82);
  font-weight: 600;
  text-align: center;
  max-width: 720px;
  margin: 28px auto 0;
}

@media (min-width: 1024px) {
  .am-kunstnere__empty {
    padding: 44px 36px;
    margin-top: 40px;
    font-size: 18px;
  }
}

.am-kunstnere__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 9999px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #fff;
}

.am-kunstnere__page.is-current {
  background: #111;
  border-color: #111;
  color: #fff;
}

/* Author profile (/author/...) */
.am-author-profile {
  margin-top: 24px;
}

.am-author-profile__title-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
}

@media (max-width: 767px) {
  .am-author-profile__title-row {
    justify-content: space-between;
  }
}

.am-author-profile__settings-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(17, 17, 17, 0.04);
  color: rgba(17, 17, 17, 0.72);
  text-decoration: none;
  flex: 0 0 auto;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.am-author-profile__settings-link:hover {
  border-color: rgba(0, 0, 0, 0.16);
  background: rgba(17, 17, 17, 0.07);
  color: rgba(17, 17, 17, 0.92);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.am-author-profile__settings-link:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.am-author-profile__settings-link:focus,
.am-author-profile__settings-link:focus-visible {
  outline: 2px solid rgba(17, 17, 17, 0.55);
  outline-offset: 2px;
}

.am-author-profile__settings-icon {
  width: 20px;
  height: 20px;
  display: block;
}

/* .am-author-profile__settings-link:hover .am-author-profile__settings-icon {
  transform: rotate(18deg);
  transition: transform 160ms ease;
} */

.am-author-profile__images {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: flex-end;
  justify-content: center;
}

@media (min-width: 768px) {
  .am-author-profile__images {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

@media (min-width: 1200px) {
    .am-author-profile__image-col:last-child {
        margin-left: auto;
    }
}

.am-author-profile__image-col:last-child {
  /* ArtMoney photo must be shown in 2:3 (12x18) without cropping */
  width: min(400px, 100%);
  aspect-ratio: 2 / 3;
  height: auto;
  overflow: hidden;
}

.am-author-profile__images.artmoney-image__landscape {
  grid-template-columns: 400px 1fr;
}

@media (max-width: 1200px) {
  .am-author-profile__images {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .am-author-profile__images.artmoney-image__landscape .am-author-profile__image-col:first-child {
    width: min(400px, 100%);
  }
}

.am-author-profile__images.artmoney-image__landscape .am-author-profile__image-col:last-child {
  height: 100% !important;
  aspect-ratio: 3 / 2;
  width: 100%;
  overflow: hidden;
}

.am-author-profile__images .am-author-profile__image-col:first-child {
  display: block;
  width: 400px;
}

.am-author-profile__images .am-author-profile__image {
  width: 100%;
  height: 100% !important;
  margin-top: auto;
  display: flex;
}

@media (max-width: 767px) {
  .am-author-profile__image {
    object-position: center;
  }

  .am-author-profile__image-col {
    max-width: 100% !important;
  }
}

.am-author-profile__section {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.am-author-profile__section-title {
  margin: 0 0 14px;
}

.am-author-profile__contact {
  display: grid;
  gap: 10px;
}

.am-author-profile__contact-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  align-items: start;
}

@media (max-width: 480px) {
  .am-author-profile__contact-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

.am-author-profile__contact-label {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.72);
}

.am-author-profile__contact-value a {
  word-break: break-word;
}

.am-author-profile__about {
  max-width: 860px;
}

/* Responsive header burger -> X (when menu open) */
.l-primary-header--responsive__icon svg line.st0 {
  transform-box: fill-box;
  transform-origin: center;
  transition:
    transform 300ms ease,
    opacity 300ms ease;
}

.l-primary-header--responsive .container .l-primary-header--responsive__icon svg line.st0:first-of-type {
  transition:
    transform 300ms ease,
    opacity 300ms ease;
}
.l-primary-header--responsive .container .l-primary-header--responsive__icon svg line#XMLID_9_ {
  transition:
    transform 300ms ease,
    opacity 300ms ease;
}

/* When responsive nav is open, animate to "X" using top/bottom lines movement */
.l-primary-header--responsive .container:has(.l-primary-header--responsive__nav.active) .l-primary-header--responsive__icon svg line.st0:first-of-type {
  transform: translateY(23.2px) rotate(45deg);
}

.l-primary-header--responsive .container:has(.l-primary-header--responsive__nav.active) .l-primary-header--responsive__icon svg line#XMLID_8_ {
  opacity: 0;
}

.l-primary-header--responsive .container:has(.l-primary-header--responsive__nav.active) .l-primary-header--responsive__icon svg line#XMLID_9_ {
  transform: translateY(-23.2px) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .l-primary-header--responsive__icon svg line.st0 {
    transition: none;
  }
}

.h-large-top-padding {
  padding-top: 0 !important;
}

.artmoney-subscribe-form--wrapper {
  background-color: rgba(102, 102, 102, 0.2);
  max-width: 1140px !important;
  margin: 0 auto !important;
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

@media (max-width: 1200px) {
  .artmoney-subscribe-form--wrapper {
    max-width: 90% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
  }
}

.artmoney-subscribe-form--heading h2 span,
.artmoney-subscribe-form--heading p {
  color: var(--secondary-color) !important;
}
.artmoney-subscribe-form .elementor-shortcode {
  padding: 0 3.5rem;
}

.artmoney-subscribe-form form {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.artmoney-subscribe-form form .forminator-row {
  width: 25% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.artmoney-subscribe-form form .forminator-row input {
  background: var(--primary-color) !important;
  border: none !important;
}

.artmoney-subscribe-form form .forminator-row input::placeholder {
  color: rgba(102, 102, 102, 0.7) !important;
  font-style: normal !important;
}

.artmoney-subscribe-form form .forminator-row label {
  display: none !important;
}

.artmoney-subscribe-form--submit {
  width: 100% !important;
  background: var(--secondary-color) !important;
  color: var(--primary-color) !important;
  width: 100%;
  text-transform: uppercase;
}

/* Subscribe form (kontakt): responsive layout */

.artmoney-kontakt-page--image {
  text-align: left !important;
}

.artmoney-kontakt-page--image img {
  max-height: clamp(300px, 55vw, 400px);
  max-width: clamp(300px, 55vw, 400px);
}

  .artmoney-contact-page--contact-block {
    display: flex;
    flex-wrap: wrap;
  }

@media (max-width: 991px) {
  .artmoney-contact-page--contact-block .artmoney-ultra-wide-container--wrapper {
    display: flex;
    flex-direction: column;
  }

  .artmoney-subscribe-form--wrapper {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .artmoney-subscribe-form .elementor-shortcode {
    padding: 0 2rem;
  }
}

@media (max-width: 1023px) {
  .artmoney-subscribe-form--wrapper {
    margin-top: 2.25rem !important;
    margin-bottom: 2.25rem !important;
  }

  .artmoney-subscribe-form--wrapper .e-con-inner {
    display: block !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
  }

  .artmoney-subscribe-form .elementor-shortcode {
    padding: 0 1.25rem;
  }

  .artmoney-subscribe-form form {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
  }

  .artmoney-subscribe-form form .forminator-row {
    width: 100% !important;
  }

  .artmoney-subscribe-form form .forminator-row-last .forminator-button {
    width: 100%;
  }
}

.artmoney-ultra-wide-image--wrapper {
  padding-left: 0 !important ;
  padding-right: 0 !important;
}

.artmoney-ultra-wide-image--wrapper .elementor-element img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

.artmoney-ultra-wide-container--wrapper {
  padding-left: 0 !important ;
  padding-right: 0 !important;
}

.artmoney-artists-list .container {
  max-width: 100% !important;
}

.artmoney-ultra-wide-container--wrapper .container {
  padding-left: 0 !important ;
  padding-right: 0 !important;
}

.forminator-custom-form-320 .forminator-response-message {
  position: absolute !important;
  bottom: -60px;
  left: 50px;
}

.forminator-custom-form-320 .forminator-loading {
  position: absolute !important;
  bottom: -60px;
  left: 50px;
}

.forminator-custom-form-325 .forminator-response-message {
  position: absolute !important;
  bottom: -60px;
  left: 50px;
}

.forminator-custom-form-325 .forminator-loading {
  position: absolute !important;
  bottom: -60px;
  left: 50px;
}

/* WooCommerce Checkout Blocks: hide "Contact information" and "Billing address" summaries. */
body.woocommerce-checkout .wc-block-checkout__contact-information,
body.woocommerce-checkout .wc-block-checkout__billing-address,
body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-checkout-step__container:has(.wc-block-checkout__contact-information),
body.woocommerce-checkout .wc-block-components-checkout-step__container:has(.wc-block-checkout__billing-address) {
  display: none !important;
}
