body {
  font-size: 14px;
  color: #505050 !important;
  font-family: 'Fira Sans', sans-serif;
}
#content h1, #content .woocommerce-tabs .panel h2:first-of-type {
  line-height: 1 !important;
  padding-left: 0.75rem !important;
  color: #505050 !important;
  font-weight: bolder;
  text-align: left;
  font-size: 2em;
  position: relative;
  padding-bottom: 0.5rem;
}

#content h1::before, #content .woocommerce-tabs .panel h2:first-of-type::before {
  display: block;
  content: ' ';
  width: 4px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0.5rem;
  background: #ccd516;
}

@media (min-width: 768px) {
#content h1 {
  font-size: 2.6em;
}
}

#content h2 {
  color: #505050;
}
#content p {
  color: #505050;
}
a {
  color: #505050;
  font-weight: bold;
}
a:hover {
  text-decoration: underline;
  color: #ccd516;
}
.site-header {
  border: none;
  position: relative;
  padding-bottom: 0 !important;
  background: white !important;
}

.site-header a:focus, .site-header a:active {
  outline-color: transparent !important;
}
/* .site-header .storefront-primary-navigation .col-full {
  position: relative;
}
.site-header .main-navigation .handheld-navigation a {
  font-size: 100%;
} */
.site-header > div {
  position: relative;
  z-index: 99;
}
.site-header .menu-item > a {
  color: #505050;
}
.site-header .menu-item .sub-menu a {
  color: #505050;
}
.site-header .site-header-cart {
  display: none;
}
.site-header .site-branding {
  padding: 1rem 0;
}
.site-header .site-search {
  position: absolute;
  right: 5rem;
  top: 50%;
  transform: translateY(-50%);
  max-width: 300px;
}
@media (max-width: 768px) {
  .site-header .site-search {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    max-width: 100%;
    padding: 0 1rem 1rem;
  }
}
.site-header .menu-toggle {
  background: #ccd516;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: none;
  color: #505050;
  padding: 1.8rem 0 0 0;
  text-align: center;
  text-transform: uppercase;
  /* position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%); */
  z-index: 3;
}
@media (min-width: 1024px) {
  .site-header .menu-toggle {
    /* right: 1rem; */
  }
}
.site-header .menu-toggle:hover {
  background: #dee81d;
}
.site-header .menu-toggle:after, .site-header .menu-toggle:before, .site-header .menu-toggle span:before {
  background: #505050;
}
.site-header .menu-toggle::before, .site-header .menu-toggle::after, .site-header .menu-toggle span::before {
  width: 28px;
  height: 4px;
  left: 18px;
  top: 35%;
}
.site-header .menu-toggle::before {
  transform: translateY(8px);
}
.site-header .menu-toggle::after {
  transform: translateY(-8px);
}

.site-header__slider {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 25%;
  overflow: hidden;
}

.site-header__credits {
  display: none;
  position: absolute;
  transform: rotate(-90deg);
  font-size: 10px;
  color: white;
  left: 0;
  bottom: 10vw;
  z-index: 4;
}

@media (min-width: 768px) {
  .site-header__credits {
    display: block;
  }
}

.site-footer {
  position: relative;
  background: #015468 !important;
  color: white;
  border-bottom: 68px solid #003f4e;
  margin-top: 8vw;
  padding-bottom: 12vw !important;
}
.site-footer a, .site-footer a:not(.button):not(.components-button) {
  color: white;
}
.site-footer a:hover, .site-footer a:not(.button):not(.components-button):hover {
  color: #ccd516;
  text-decoration: underline;
}
.site-footer .privacy-policy-link {
  display: none;
}

button, input[type="button"], input[type="reset"], input[type="submit"], .button, .widget a.button {
  background: #ccd516;
  border-radius: 4px;
  border-color: transparent;
  transition: all 150ms ease-in-out;
  font-weight: bold;
}
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, .button:hover, .widget a.button:hover {
  cursor: pointer;
  background: #dee81d;
  text-decoration: none;
}
input[type=text], input[type=number], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=search], textarea, .input-text {
  background: white;
  border: 1px solid #b2b2b2;
  box-shadow: none;
}
ul.products li.product {
}
ul.products li.product .add_to_cart_button {
  display: block;
  margin-top: 0.5rem;
}
.wc-gzd-additional-info {
  font-size: 90%;
  opacity: 0.7;
}
.main-navigation .handheld-navigation {
  display: block !important;
  position: fixed;
  right: -300px;
  top: 0;
  height: 100%;
  background: white;
  padding: 2rem 2rem 5rem;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  color: #505050;
  width: 280px;
  max-height: 100%;
  overflow-y: auto;
  z-index: 10;
  transition: right 300ms ease-in-out;
}
.main-navigation .handheld-navigation a {
  color: #505050;
  font-size: 125%;
}
.main-navigation.toggled .handheld-navigation {
  right: 0;
}
@media (min-width: 768px) {
  .site-header .menu-toggle {
    display: block !important;
  }
  .site-header .main-navigation .handheld-navigation {
    display: block;
  }
  .site-header .main-navigation .handheld-navigation > ul {
    margin-left: 0;
  }
  .site-header .main-navigation .handheld-navigation > ul > li {
    display: block;
  }
  .site-header .main-navigation .handheld-navigation > ul > li > a {
    padding: 0.875em 0;
  }
  .site-header .main-navigation .handheld-navigation > ul > li > a::after {
    display: none !important;
  }
  .site-header .main-navigation .handheld-navigation > ul > li > .sub-menu {
    display: block;
    position: relative;
    left: auto;
    float: none;
    background-color: transparent;
  }
  .site-header .main-navigation .handheld-navigation > ul > li > .sub-menu > li {
    background-color: transparent;
  }
  .site-header .main-navigation .handheld-navigation > ul > li > .sub-menu > li a:hover {
    background-color: transparent;
  }
  .site-header .primary-navigation {
    display: none !important;
  }
}

.page.home #content h1 {
  margin-bottom: 2rem;
}

.page.home #content h2 {
  text-align: left;
}


.page-template-template-homepage .entry-content, .page-template-template-homepage .entry-header {
  max-width: 100% !important;
  text-align: left !important;
}
.page-template-template-homepage .page > .col-full {
  margin-left:  0;
  margin-right: 0;
}

.page-template-template-homepage:not(.has-post-thumbnail) .site-main {
  padding-top: 2em !important;
}

@media (min-width: 66.4989378333em) {
  .storefront-align-wide.page-template-template-fullwidth-php .hentry .entry-content .alignwide, .storefront-align-wide.storefront-full-width-content .hentry .entry-content .alignwide {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (min-width: 768px) {
  .content-area, .widget-area {
    margin-bottom: 0 !important;
  }


  .storefront-breadcrumb {
    margin-bottom: 0 !important;
  }
}

/*
 * Breadcrumbs
*/

.woocommerce-breadcrumb {
  font-style: italic;
}

.woocommerce-breadcrumb a {
  font-style: normal;
}

.woocommerce-breadcrumb a:first-child::before {
  display: none !important;
}

/*
 * Shop page
*/

.woocommerce-products-header__title {
  border-bottom: 1px solid #b2b2b2;
  font-size: 1.5rem !important;
}


/*
 * Products
*/

ul.products {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.5rem;
}

@media (min-width: 768px) {
  ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (min-width: 1024px) {
  ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

ul.products::before,
ul.product::after {
  display: none !important;
}

#main ul.products li.product {
  float: none;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.wc-gzd-additional-info a {
  color: #303030;
  text-decoration: underline;
}

/*
 * Product list pagination
 */

.woocommerce-products-header + .storefront-sorting .woocommerce-pagination {
  display: none !important;
}

ul.products + .storefront-sorting > form {
  display: none !important;
}

ul.products + .storefront-sorting > .woocommerce-pagination {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

/*
 * "Zu den Produktion"-Button
 */
/*.wp-block-button__link[href="/shop"] {
 *
}*/

/*
 * NEW
 */

/*
 * Search Bar
 */

.site-header .site-search {
	width: 50ch !important;
}

/* .site-search .widget_product_search form.woocommerce-product-search {
	width: 50ch !important;
} */

.site-search .widget_product_search form.woocommerce-product-search input {
	padding: 0.7em !important;
	padding-right: 3.5em !important;
	background: white !important;
	border-color: #ecece8 !important;
	box-shadow: none !important;
	border: 2px solid #ecece8 !important;
}

.site-search .widget_product_search form.woocommerce-product-search input:focus {
	outline: none !important;
	border: 2px solid #d70076 !important;
}

.site-search .widget_product_search form.woocommerce-product-search::before {
	content: "\f002";
	top: 0 !important;
	bottom: 0 !important;
	/* left: calc(100% - 2em) !important;
	right: 0 !important; */
	right: 0 !important;
	left: unset !important;
	aspect-ratio: 1 / 1;
	
	color: white !important;
	font-size: 1.5em;
	
	background-color: #d70076;
	text-align: center;
	line-height: 1.8 !important;
}

/*
 * Page Logo
 */
.site-branding {
	padding-left: 2ch !important;
}

/*
 * Menu Activator
 */
.site-header {
	display: flex !important;
	width: 100vw !important;
	justify-content: center;
}

.site-header .col-full {
	width: 100%;
	margin-inline: 0 !important;
}

.storefront-primary-navigation {
	flex-shrink: 0 !important;
	min-width: 135px !important;
}

.storefront-primary-navigation .col-full, .storefront-primary-navigation .col-full .main-navigation {
	height: 100% !important;
}

.storefront-primary-navigation .col-full .main-navigation {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

#site-navigation-menu-toggle {
	background-color: white !important;
	transform: translateY(8px) !important;
}

#site-navigation-menu-toggle:focus {
	outline: none !important;
}

#site-navigation-menu-toggle span {
	color: transparent !important;
	font-size: 0 !important;
}

/*
 * Image Slider
 */
header.site-header {
	box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.5) !important;
}

/*
 * Pagination
 */

.woocommerce-pagination li * {
	width: 1.75rem;
	height: 1.75rem;
	
	border-radius: 100vw;
	background-color: color-mix(in oklab, #ecece8 90%, black 5%) !important;
	
	color: white !important;
}

.woocommerce-pagination li .current {
	background-color: color-mix(in oklab, #ecece8 90%, black 15%) !important;
}

/*
 * Blue Bricks
 */

.header-widget-region .widget_block {
	padding-top: 1.5rem !important;
}

.header-widget-region .wp-block-columns {
	justify-content: center;
	gap: 4rem !important;
}

.header-widget-region .wp-block-columns div {
	background-color: #212b51 !important;
	
	color: white !important;
	border-radius: 0.75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
	max-width: 8rem;
	padding: 0.25rem;
	
	cursor: pointer;
}

.header-widget-region .wp-block-columns img {
	width: 55px !important;
}

.header-widget-region .wp-block-columns svg {
	height: 40px !important;
	margin: 5px 0 !important;
	stroke: white !important;
	fill: white !important;
}

.header-widget-region .wp-block-columns p {
	margin: 0 !important;
}

/*
 * To-Product Links
 */
.wp-block-button:has(.wp-block-button__link[href="/shop"]) {
	display: flex !important;
	justify-content: center;
}

.wp-block-button__link[href="/shop"] {
  max-width: 30ch;
  margin-inline: 3ch;
  
  transform: translate(clamp(0rem, 16vw, 14rem), clamp(-5rem, -4vw, 0rem)) skew(-1.5deg) rotate(-1.5deg) !important;
  
	padding: 6px 14px !important;
  background: #16254a !important;
  color: #fff !important;
  
  text-transform: uppercase;
  font-weight: 700 !important;

  transition: 0.2s;
}

.wp-block-button__link[href="/shop"]:hover {
	transform: translate(clamp(0rem, 16vw, 14rem), clamp(-5rem, -4vw, 0rem)) skew(-1.5deg) rotate(-1.5deg) scale(1.01) !important;
	box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.4) !important;
}

.wp-block-heading:has(+[data-block-name="woocommerce/handpicked-products"]) {
	max-width: 28ch;
  margin-inline: auto !important;
  
  transform: skew(-1.5deg) rotate(-1.5deg) !important;
  
	padding: 0px 7px !important;
  background: #d70076 !important;
  color: #fff !important;
  
  text-align: center;
  font-weight: 600 !important;
  
  margin-bottom: 2rem !important;
}

/*
 * Footer
 */

footer.site-footer {
	background-color: #505050 !important;
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.footer-widgets {
	display: flex !important;
	justify-content: space-evenly !important;
	flex-wrap: wrap;
	gap: 1rem 4rem !important;
	
	border-bottom: none !important;
}

.footer-widgets::before, .footer-widgets::after {
	display: none !important;
}

.footer-widgets .block::before {
	display: block;
	content: "";
	background-color: #95c11e;
	
	width: 8ch !important;
	height: 0.35em !important;
	
	margin-bottom: 0.4em;
}

.footer-widgets *, .site-footer .site-info, .site-footer .site-info *, .site-footer .footer-info {
  color: white !important;
}

.footer-bar {
	width: 100vw;
	background-color: #95c11e;
	
	padding-block: 1rem;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-left: 30px solid #95c11e;
  border-right: 30px solid #95c11e;
	
	border-bottom: 5rem solid #95c11e;
}

@media (min-width: 768px) {
  .footer-bar {
  	padding-inline: calc((100vw - 63.3rem) / 2);
  	border-bottom: none;
  }
}

@media screen and (max-width: 576px) {
	.footer-widgets .block {
		flex: 1 1 0px !important;
		min-width: 200px !important;
	} 
	
	.footer-bar, .legal {
		flex-direction: column !important;
		row-gap: 1rem;
	}
}

.footer-bar * {
	color: black !important;
	font-size: 1.1rem;
}

.footer-bar .app-link {
	flex-shrink: 0;
}

.footer-bar .app-link::before {
	content: "";
	display: inline-block;
	
	width: 3px !important;
	height: 1.1em;
	margin-right: 0.8ch;
	transform: translateY(0.1em);
	
	background-color: white;
}

.footer-bar .legal {
	display: flex;
	gap: 0 5ch;
	flex-wrap: wrap;
}

.footer-bar .legal > * {
	position: relative;
	text-decoration: none !important;
	font-weight: 600 !important;
	flex: 1 1 0;
}

.footer-bar .legal > *::after {
	content: "";
	display: inline-block;
	
	position: absolute;
	top: 0.1em;
	right: -3ch;
	
	width: 2px !important;
	height: 1.1em;
	margin-right: 0.8ch;
	transform: translateY(0.1em);
	
	background-color: white;
}

.footer-bar .legal > *:last-child::after {
	display: none !important;
}

.woocommerce-product-gallery {
	border: 2px solid #ecece8 !important;
}

.site-footer .site-info, .site-footer .footer-info {
	display: none !important;
}

/*
 * Product Buttons
 */
.product .button, .add_to_cart_button, .single_add_to_cart_button {
	background: transparent !important;
	color: #555 !important;
}

.product .button:hover, .add_to_cart_button:hover, .single_add_to_cart_button:hover {
	color: #777 !important;
}

.product .button:hover::before, .add_to_cart_button:hover::before, .single_add_to_cart_button:hover::before {
	background-color: #777 !important;
}

.product .button::before, .add_to_cart_button::before, .single_add_to_cart_button::before {
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-150 -150 838 838"><path fill="white" d="M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-105.4 105.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>') !important;
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.5ch;
  vertical-align: middle;
  transform: translateY(-1px);

	background-color: #555;
	color: white !important;
	
	border-radius: 100vw;
}

.storefront-primary-navigation {
	position: relative !important;
	min-width: 0 !important;
	width: 0 !important;
}

#site-navigation-menu-toggle {
	position: absolute !important;
	left: -5rem !important;
}