/* Native behavior; source layout CSS is being reduced as each template is verified. */
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.mf.mf-page [class*="mf-invisible"] { visibility: visible; }
[hidden] { display: none !important; }
@media (min-width: 922px) {
	#masthead { position: sticky; top: 0; z-index: 100; background: white; }
	#masthead.mf-nav-down { transform: translateY(-100%); }
	.main-header-menu > li:hover > .sub-menu,
	.main-header-menu > li:focus-within > .sub-menu { left: 0; opacity: 1; visibility: visible; }
}

/* Existing site-specific styles migrated from WPCodeBox #3. */
.am-fs__wrapper {
  margin-top: 0px !important;
  box-shadow: none !important;
  border: solid rgba(0, 0, 0, 0.09) 1px !important;
}
.am-button.am-button--filled.am-button--default.am-button--primary.am-button-continue, .am-fs__main, .am-fs__main-heading, .am-fs__main-footer {
  border-radius: 0px !important;
}
.am-fs__main-footer {
  box-shadow: none !important;
  border-top: solid rgba(0, 0, 0, 0.09) 1px !important;
  background-color: #ffffff !important;
}
.am-asi, .am-button.am-button--filled.am-button--default.am-button--primary.am-asi__btn, .am-fs-sb, .am-fs__main {
  border-radius: 0px !important;
}
.frm_button_submit {
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.mf-input-website {
  margin-top: 6px;
  padding-left: 12px;
  padding-right: 12px;
  width: 100%;
  height: 48px;
  color: #141617;
  border: solid 1px #e8e8e8;
}
@media (max-width: 767px) {
  .entry-title {
    margin-top: 32px;
  }
}
.cart_totals {
  margin-bottom: 80px !important;
}
.woocommerce-checkout-review-order {
  margin-bottom: 80px !important;
}
@media (max-width: 767px) {
  .woocommerce table.shop_table {
    hyphens: auto;
    table-layout: fixed;
    overflow-wrap: break-word;
  }
}
.mf-ext-nav-link-text img {
  margin-top: 4px !important;
}
#wcml-cart-dialog-switch {
  color: #ffffff !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
#wcml-cart-dialog-stay {
  color: #ffffff !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
.wc-ppcp-product-payments__container.bottom {
  z-index: 0 !important;
}
.amelia-book-button {
  background-color: #00816D;
}
#mf-core-hf-mobile-menu {
  padding-top: 0px;
}
.mf-menu-cta a {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  background-color: #00816D !important;
  color: #fff !important;
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 10px;
  max-height: 50px;
}
.mf-menu-cta-mobile a {
  margin-top: 10px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  background-color: #00816D !important;
  color: #fff !important;
  text-transform: uppercase;
  width: 100%;
}
.mf-menu-cta a:hover {
  color: #fff !important;
}

/* Preserve the source single-template inset at every viewport. */
.single-referenzen #main-content,
.single-post #main-content {
  padding: 32px 20px 0;
}

.single-wiki #main-content {
  width: min(calc(100% - 40px), 710px);
  margin-inline: auto;
}
@media (max-width: 921px) {
  .single-wiki #main-content {
    width: 95.4%;
  }
}

/* Standard WordPress commerce pages retain the source content frame. */
#main-content > #primary {
  width: min(1200px, calc(100% - 40px));
  margin: 60px auto;
}
#main-content > #primary .entry-header {
  margin-bottom: 24px;
}
#main-content > #primary .entry-title {
  margin: 0 0 16px;
  font: 600 32px/1.2 "Atkinson Hyperlegible", sans-serif;
}
@media (max-width: 921px) {
  #main-content > #primary { margin-block: 32px; }
}
/* A section heading keeps the original product design with a single page H1. */
.mf-4168 .mf-element-0d4fdfa .mf-heading-title {
  margin: 0;
  text-transform: none;
}
/* Native WooCommerce account forms retain Astra's source control geometry. */
#main-content > #primary .woocommerce form .form-row label {
  font: 700 14.4px/28.8px "Atkinson Hyperlegible", sans-serif;
}
#main-content > #primary .woocommerce form .form-row input.input-text {
  height: 45.5px;
  padding: 12px;
  font: 400 16px/16px "Atkinson Hyperlegible", sans-serif;
}
#main-content > #primary .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: block;
}
#main-content > #primary .woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
  float: none;
  margin: 0;
}
#main-content > #primary .woocommerce p.woocommerce-LostPassword { margin-bottom: 25.6px; }
#main-content > #primary .woocommerce form.register p:not(.form-row) { margin-bottom: 25.6px; }
#main-content > #primary .woocommerce form.register > .form-row:last-child { margin-bottom: 0; }
@media (max-width: 921px) {
  #main-content > #primary { margin-bottom: 0; }
}
#main-content > #primary .woocommerce p.return-to-shop { margin-bottom: 25.6px; }
/* The reference archive keeps the source's outer content frame. */
#main-content > .mf-7315 { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
@media (max-width: 544px) {
  #main-content > .mf-7315 { width: calc(100% - 1.08em); }
}
.mf-confirmation { display: flow-root; padding: 10px; }
.mf-confirmation__message {
  margin: 5px 0 15px;
  padding: 15px;
  border: 1px solid var(--color-surface-tint);
  background: var(--color-surface-tint);
  color: var(--color-primary);
  font: 400 14px/22.4px "Atkinson Hyperlegible", sans-serif;
}
.mf-confirmation__message p { margin: 0; font: inherit; }
/* Classic category/author/search frames are full-width in the source configuration. */
.archive #main-content > #content #primary,
.search #main-content > #content #primary { margin: 0; }
.mf-core-author-avatar { flex: 0 0 100px; width: 100px; height: 100px; }
@media (max-width: 921px) {
  .mf-core-author-avatar { flex-basis: 30px; width: 30px; height: 30px; }
}

/* Public roadmap retains its original full-width WordPress content frame. */
.page-id-8256 #main-content > #primary { width: 100%; margin: 0; }
.page-id-8256 #primary > #main,
.page-id-8256 #post-8256 { padding: 32px 20px 0; }
.page-id-8256 #main-content > #primary .entry-header { margin: 32px 0 24px; }

/* Compact campaign pages keep the legal footer at the viewport bottom. */
body:is(.page-id-5652, .page-id-5662) { display: flex; flex-direction: column; min-height: 100vh; }
body:is(.page-id-5652, .page-id-5662) #main-content { flex: 1 0 auto; }
/* Long legal URLs must wrap within narrow screens. */
.page-id-1558 .mf-widget-text-editor a { overflow-wrap: anywhere; }

/* Real Cookie Banner's license notice has no stable class and uses an inline
   warning color. Match its dialog and warning signature, not generated classes.
   Important is required to override that inline color; the notice stays visible. */
[consent-skip-blocker="1"] > dialog[data-nosnippet="true"]
  [style*="color: rgb(201, 82, 82)"][style*="order: 9"] {
  color: var(--color-warning-text) !important;
}
