a:focus {
  box-shadow: unset;
  border: 1px solid;
}
button:focus {
  box-shadow: unset;
  outline: 1px solid;
}
.aufklapp-button[aria-expanded="false"] + .aufklapp-bereich {
  display: none;
  opacity: 0;
}

.aufklapp-button[aria-expanded="true"] + .aufklapp-bereich {
  display: block;
  opacity: 1;
  transition: opacity .2s ease-in;

  @starting-style {
    opacity: 0;
  }
}

/* Fokusstile, wenn :focus-visible nicht unterstützt wird */
*:focus {
  outline: 1px solid black;
  /*outline-offset: 0.25em;*/
}

@supports selector(:focus-visible) {
  /* Reset von :focus, wenn :focus-visible unterstützt wird  */
  *:focus {
    /*outline: none;*/
  }

  /* Fokusstile, wenn :focus-visible unterstützt wird */
  *:focus-visible {
    outline: 1px solid black;
    box-shadow: none !important;
    z-index: 9999;
    outline-offset: 0.25em;
  }
}

.visually-hidden:not(:focus):not(:active),
.skiplink{
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.skiplink:focus {
  height: auto;
  width: auto;
  overflow: auto;
  clip: auto;
  background-color: var(--brand-red);
  color: var(--brand-white);
  text-decoration: none;
  padding: .5em;
  outline: none;
}

.barrierefreiheit h2 {
  margin-top: 40px;
  margin-bottom: 10px;
}
.barrierefreiheit h3 {
  margin-bottom: 0px;
  margin-top: 40px;
}
.barrierefreiheit h4 {
  margin-bottom: 0px;
  margin-top: 25px;
}

/* ACCORDION */
.accordion-section details p {
    padding: 0px 0px 0px 40px;
}
details {
    margin-bottom: 0.4rem;
}
summary {
    cursor: pointer;
    display: list-item;
    font-size: 2.5rem;
    line-height: 1.3;
    outline: none; /* default Outline entfernen */
}
summary:hover {
    color: #fff;
}
summary:focus {
    outline: 2px solid #000;
    outline-offset: 4px;
}
.accordion-section .panel-heading:focus {
    box-shadow: unset;
}
summary::marker {
    font-size: 1.2em;
}
details[open] summary {
    background-color: var(--green) !important;
    color: #fff;
}
details[open] summary:hover {
    background-color: #fff !important;
    color: #585858;
}

/* CUSTOMER ACCOUNT */
.customer-menu .header.links a {
	color: var(--graydark) !important;
}
.customer-welcome li a {
	font-size: 15px;
}
.customer-welcome .header.links {
	border: 1px solid var(--graydark);
}
.customer-welcome ul::before {
	border-color: transparent transparent var(--graydark) transparent;
}
.block.block-dashboard-addresses {
	margin-top: 40px !important;
  margin-bottom: 40px !important;
}
.block-title h2 {
	display: unset;
	margin: unset;
	line-height: 19px;
}
h3.box-title {
	margin: unset;
	font-size: 1.8rem;
}
/* REGISTER */
.form-create-account .fieldset-fullname .fields .field,
.form-create-account .fieldset-fullname .field-name-prefix, .form-create-account .fieldset-fullname .field-name-suffix {
	width: 100%;
}
input, 
textarea, 
select {
	border: 1px solid #585858;
}
input:focus, 
textarea:focus, 
select:focus,
#block-shipping .title:focus,
#block-discount .title:focus,
#mini-cart .product.options .toggle:focus,
.minicart-items-wrapper:focus {
	border-color: #585858;
  box-shadow: unset;
  outline: 2px solid #585858;
}
/* CHECKOUT */
.checkout-index-index .panel {
  border: unset;
  box-shadow: unset;
}
.checkout-index-index .panel.header {
  margin: unset;
}
.opc-progress-bar-item > span,
.opc-progress-bar-item._active > span,
.opc-progress-bar-item > span::after {
	color: var(--graydark);
	font-size: 16px;
}
.opc-progress-bar-item::before,
.opc-progress-bar-item > span::before {
	background: var(--graydark);
}
.opc-wrapper .step-title {
  border-bottom: unset;
}
.opc-wrapper .action-select-shipping-item {
	padding: 10px;
}
.opc-wrapper .shipping-address-item::before {
	background: unset;
}
.minicart-items .product-item-details > :not(.product-item-name) {
	font-size: 1.5rem;
}
.customer-welcome .customer-name:focus, 
.action.primary.checkout:focus {
  box-shadow: unset;
	outline: 2px solid black;
}
/* CUSTOMER */
.block-collapsible-nav .item.current strong {
	font-weight: 700;
}
.form-edit-account .fieldset {
	width: unset;
}
/* MINICART */
#mini-cart .product-item-name a:focus {
  border: 1px solid #000;
}
.minicart-items .product-item-details > :not(.product-item-name) {
	font-size: 1.5rem !important;
}
input, textarea, select {
	border-color: #777 !important;
}
.catalogsearch-result-index h2 {
	font-size: 2rem;
	margin: 27px 0 0 0;
	font-weight: 400;
}
/* MODAL */
.action.primary.action-save-address:focus {
	border-color: #585858;
  box-shadow: unset;
  outline: 2px solid #585858;
}
.mfp-close::before, html .fancybox-close::before, .modal-custom .action-close::before, .modal-popup .action-close::before, .modal-slide .action-close::before,
.mfp-close::after, html .fancybox-close::after, .modal-custom .action-close::after, .modal-popup .action-close::after, .modal-slide .action-close::after {  
	border-color: white !important;
}
.mfp-close, html .fancybox-close, .modal-custom .action-close, .modal-popup .action-close, .modal-slide .action-close {
	opacity: unset !important;
}
.modal-slide .action-close {
	padding: unset;
}
/* PRODUKT */
.qty.field .qty-changer > a, .col.qty .qty-changer > a {
	border: solid 1px #777;
}
.toolbar #limiter {
  width: 50px;
}
/* UPSELL */
.main-upsell-product-detail a {
  margin: 10px;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.main-upsell-product-detail a:hover {
	text-decoration: none !important;
}
.main-upsell-product-detail a:focus {
	text-decoration: none !important;
	outline: 1px solid #585858 !important;
	background-color: unset !important;
}