@charset "UTF-8";
/*
Theme Name: Ideal Theme
Theme URI: 
Author: Ideal Agency
Author URI: https://theideal.agency
Description: 
Requires at least: 4.9.6
Requires PHP: 5.2.4
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: idealtheme
*/ 



/* --------------------------------------------------------------------
- GENERAL
- VARIABLES
- TYPE
- BUTTONS
- TOP NAV
- BLOCKS
- HOME / CORPORATE
- SLIDER
- WOOCOMMERCE
- MAGAZIN / BLOG
- GHZ CPT
- FOOTER
- COOKIES
- ERROR 404
- ACCOUNT
- REGISTRATION
- LOST PASSWORD
- RESPONSIVE
-------------------------------------------------------------------- */




/* --------------------------------------------------------------------
  GENERAL
---------------------------------------------------------------------- */
* { 
  margin:0;
  padding: 0;
  font-synthesis: none; 
}
*, ::after, ::before {     
  box-sizing: border-box;
}
html, body { 
  overflow-x: hidden;
}

::selection { background-color: var(--color-black); color: var(--color-accent);}
::-moz-selection { background-color: var(--color-black); color: var(--color-accent);}


/* Flexbox */
.flex { display: flex; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.space-between { justify-content: space-between; }
.flex-wrap { flex-wrap: wrap !important; }
.align-items-center {    align-items: center!important; }
.align-items-end { align-items: flex-end; }
.flex-col { flex-direction: column; }

/* Gap */
.gap-20 { gap: 20px; }
.gap-60 { gap: 60px; }


/* Other elements */
ul { list-style-type: none; margin:0; padding: 0; }
.img-fluid { width: 100%; height: auto; }
.full-width-img img { width: 100%; }
.display-none { display: none !important; }



@supports (font-variation-settings: normal) {
  @font-face {
      font-family: 'Lexend Exa';
      src: url('./assets/font/LexendExa-VariableFont_wght.woff2') format('woff2 supports variations'),
           url('./assets/font/LexendExa-VariableFont_wght.woff2') format('woff2-variations');
      font-weight: 100 500;
      font-display: swap;
      font-style: normal;
  }

  @font-face {
    font-family: 'Barlow Condensed';
    src: url('./assets/font/BarlowCondensed-Medium.woff2') format('woff2 supports variations'),
         url('./assets/font/BarlowCondensed-Medium.woff2') format('woff2-variations');
    font-weight: 500;
    font-display: swap;
    font-style: normal;
  }

  @font-face {
    font-family: 'Barlow Condensed';
    src: url('./assets/font/BarlowCondensed-Light.woff2') format('woff2 supports variations'),
         url('./assets/font/BarlowCondensed-Light.woff2') format('woff2-variations');
    font-weight: 300;
    font-display: swap;
    font-style: normal;
  }

}



/* --------------------------------------------------------------------
  VARIABLES
---------------------------------------------------------------------- */
:root {
    --font-titles: 'Lexend Exa', Helvetica, sans-serif;
    --font-body: 'Barlow Condensed', Helvetica, sans-serif;

    --color-white: #fff;
    --color-black: #161817;
    --color-grey: #f3f3f3;
    --color-lightBeige: #F7F4ED;
    --color-accent: #D8D0BF;

    --pd-l: 100px;
    --pd-m: 60px;
    --pd-s: 40px;
    --pd-xs: 20px;

    --transition-dur: 0.3s;

    --fs-xl: 5.2vw;
    --fs-l: 3.95vw;
    --fs-m: 2.9vw;
    --fs-s: 2.1vw;
    --fs-xs: 1.66vw;
    --fs-xxs: 1.25vw;
    --fs-body: 1.5vw;
    --fs-detail: 1vw;
	
	--fs-l-m: 13vw;
	
	--fs-detail-m: 3vw;

    --border-black: 1px solid var(--color-black);
}



  
/* --------------------------------------------------------------------
  TYPE
---------------------------------------------------------------------- */
body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.2;
  font-weight: 300;
  background-color: var(--color-white);
  /* background: linear-gradient(180deg, rgba(247,244,237,1) 0%, rgba(255,255,255,1) 100%); */
}

a {
  transition: var(--transition-dur);
  color: var(--color-black);
  position: relative;
  text-decoration: none;
}
  
a:hover {
  text-decoration: underline;
}

.hero-text, h1, h2, h3, h4, h5, h6  {
  font-family: var(--font-titles);
  text-transform: uppercase;
}

.hero-text {
  color: var(--color-dark);
  line-height: 0.8;
}

h1 {
  font-size: var(--fs-xl);
  line-height: 0.9;
}

h2 {
  font-size: var(--fs-l);
  line-height: 1;
}

h3 {
  font-size: var(--fs-m);
  line-height: 1.1;
}

h4 {
  font-size: var(--fs-s);
  line-height: 1;
}

h5 {
  font-size: var(--fs-xs);
  line-height: 1.2;
}

h6 {
  font-size: var(--fs-xxs);
  line-height: 1.2;
}



p:not(:last-child), h2:not(:last-child), h3:not(:last-child), h4:not(:last-child), h5:not(:last-child), h6:not(:last-child) {
  margin-bottom: 10px;
}

.small {
  font-size: 0.7vw;
  line-height: 1.1;
}

.destacado {
  font-size: 8.9vw;
  line-height: 1;
  letter-spacing: -4px;
}



/* --------------------------------------------------------------------
  BUTTONS
---------------------------------------------------------------------- */
.btn-solidprimary a {
  font-family: var(--font-titles);
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-accent);
  padding: 10px 24px;
  border-radius: 60px;
  transition: all ease var(--transition-dur);
}

.btn-solidprimary a:hover {
  background-color: var(--color-black);
}

.btn-solidprimary a:visited {
  color: var(--color-accent);
}




.btn-solid-primary a {
  font-family: var(--font-titles);
  color: var(--color-white);
  background-color: var(--color-black);
  padding: var(--pd-xs) var(--pd-s);
  border: 1px solid var(--color-black);
  text-transform: uppercase;
  font-size: var(--fs-detail);
  line-height: 1;
  letter-spacing: 1px;
}

.btn-solid-primary a:hover {
  color: var(--color-black);
  border: 1px solid var(--color-black);
  background-color: transparent !important;
  text-decoration: none;
}


/* Default Gutenberg Button */
.wp-block-button__link, 
.wp-block-woocommerce-product-collection .add_to_cart_button {
  background-color: var(--color-black);
  border: 1px solid var(--color-black);
  color: var(--color-white);
  border-radius: 0;
  font-family: var(--font-titles);
  text-transform: uppercase;
  font-weight: 400;
  font-size: var(--fs-xxs);
}

.wp-block-woocommerce-product-collection .add_to_cart_button {
	padding: 3%;
    display: block;
    text-align: center;
    margin-top: 5%;
	font-size: var(--fs-detail);
}

.wp-block-button__link:hover,
.wp-block-woocommerce-product-collection .add_to_cart_button:hover {
  text-decoration: none;
  border: 1px solid var(--color-black);
  background-color: var(--color-white);
  color: var(--color-black);
}

/* Disabled */
.load-more-articles-button.is-disabled:hover, .load-more-articles-button.is-disabled {
  border-color: #8A8B8B !important;
  color: #8A8B8B !important;
  cursor: not-allowed !important;
  background-color: transparent !important;
}



/* --------------------------------------------------------------------
  TOP NAV
---------------------------------------------------------------------- */
#top-navigation {
  position: fixed;
  width: 100%;
  z-index: 99;
  transition: all .4s ease;
  transition-delay: .2s;
  padding: 4px 14px;
  background-color: var(--color-white);
  border-bottom: var(--border-black);
}

.hidden {
  transform: translateY(-130px);
}

#top-navigation .logo {
  width: 25%;
}

#top-navigation .left {
  align-items: flex-end;
}

.horizontal-line {
  height: 53px;
  border-right: 1px solid var(--color-black);
}


/* --- Main Menu --- */
.main-menu .navigation {
  position: static;
  margin: 0;
}

.main-menu .navigation > li {
  position: relative;
} 

.menu-item > a {
  position: relative;
  display: block;
  text-align: center;
  color: var(--color-black);
  font-family: var(--font-titles);
  text-transform: uppercase;
  font-size: var(--fs-detail);
  /* letter-spacing: 1px; */
  text-decoration: none;
  line-height: 1;
  opacity: 1;
  overflow: visible;
  padding: 0 0 4px 0;
  font-weight: 500;
}

.main-menu li {
	border-bottom: 2px solid transparent;
}

.main-menu li:hover {
  border-bottom: 2px solid var(--color-black);
}



.main-menu .navigation > li:hover > a,
.main-menu .navigation > li.current-menu-item > a {
  opacity: 1;
}

.main-menu .current-menu-item {
  border-bottom: 2px solid var(--color-black);
}

#menu-shop-menu > li > a {
  font-size: 1.2vw !important;
}


/* --- Navbar Mobile --- */
.navbar-open {
  position: relative;
  display: none;
  background-color: unset;
  padding: 0;
  border: none;
  /* position: absolute;
  right: 32px;
  top: 0px; */
  background-color: unset !important;
}


.mobile-menu {
  opacity: 0;
  visibility: hidden;
  z-index: 999999;
}

.mobile-menu-visible {
  overflow: hidden;
}

.mobile-menu-visible .mobile-menu {
  opacity: 1;
  visibility: visible;
}

.mobile-menu {
  position: fixed;
  left: 0;
  top: inherit;
  width: 300px;
  max-width: 100%;
  height: 100%;
  z-index: 2;
}

.mobile-menu .menu-box {
  position: absolute;
  left: 0;
  top: 21px;
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  padding: var(--pd-xs);
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  border-radius: 0;
  padding-top: var(--pd-xs);
  box-shadow: 2px 0px 14px #00000017;
  background-color: var(--color-white);
  
  transform: translateX(-101%);
  -webkit-transform: translateX(-101%);
  -ms-transform: translateX(-101%);
}


.mobile-menu-visible .mobile-menu .menu-box {
  opacity: 1;
  visibility: visible;
  transition: all 0.7s ease;
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -ms-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  -webkit-transform: translateX(-10px);
  -ms-transform: translateX(-10px);
  transform: translateX(-10px);
}

.mobile-menu .navigation li > a {
  position: relative;
  display: block;
  font-size: 3vw;
  line-height: 1;
  padding: 4px 15px;
  color: var(--color-dark);
  margin-bottom: 10px; 
  text-align: left;

  transition: all var(--transition-dur) ease;
  -webkit-transition: all var(--transition-dur) ease;
  -moz-transition: all var(--transition-dur) ease;
  -ms-transition: all var(--transition-dur) ease;
  -o-transition: all var(--transition-dur) ease;
}

.mobile-menu .navigation li.current > a,
.mobile-menu .navigation li > a:hover {
  color: var(--color-accent);
}

.mobile-nav-toggler path {
  stroke: var(--color-black); 
}

.mobile-nav-toggler path {
  transition: all ease var(--transition-dur);
}

.mobile-nav-toggler.active path.top {
  transform: rotate(45deg) translate(4px, -7px);
}

.mobile-nav-toggler.active path.bottom {
  transform: rotate(-45deg) translate(-9px, 0px); 
}





/* --- When scrolled --- */
#top-navigation.menu-scrolled {
  padding: 8px 20px;
} 
.menu-scrolled .logo img {
  width: 30px;
  transition: all var(--transition-dur) ease-in-out;
}

.page-template-page-home #top-navigation.menu-scrolled {
  background-color: var(--color-accent);
}

.page-template-page-home #top-navigation.menu-scrolled .logo {
  opacity: 1;
  visibility: visible;
}




/* --------------------------------------------------------------------
  BLOCKS
---------------------------------------------------------------------- */
body {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.woocommerce.archive.search .container, .woocommerce .container {
  padding: var(--pd-l) var(--pd-xs) 0;
}

.content-area {
  padding: 180px var(--pd-xs) 100px;
}

.woocommerce.archive .container {
  padding-top: 0px;
}

.alignfull {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: 2vw;
  padding-right: 2vw;
}

.single-ghz .is-layout-grid {
  gap: 20px;
}




/* --------------------------------------------------------------------
  HOME / CORPORATE
---------------------------------------------------------------------- */
main.corporate.content-area { 
  padding-top: 78px;
}

main.corporate.content-area h2 {
  font-size: var(--fs-s);
}

.home-teaser {
  padding: var(--pd-l) var(--pd-s);
  gap: 60px;
}

.home-hero-section { 
	padding: var(--pd-l) 0 var(--pd-m); 
} 

.home-shop-section .wp-block-button__link { 
	margin-top: 20px; 
} 

.home-shop-section .wp-block-post-title {
	min-height: 2em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pdf-ghz {
  max-width: 60%;
  margin: 0 auto;
  padding: var(--pd-m) !important;
  overflow: visible !important;
}

.pdf-ghz img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}

.pdf-ghz img:hover {
  transform: scale(1.01);
}


/* Contact Form */
.form-popup-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.form-popup {
  background: #fff;
  padding: 2rem;
  max-width: 800px;
  width: 90%;
  position: relative;
}

.close-popup {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
}

#wpforms-form-1337 {
	font-family: var(--font-titles);
}




/* --------------------------------------------------------------------
  SLIDER
---------------------------------------------------------------------- */
.slider-wrapper {
  position: relative;
  display: flex;
  gap: 0;
  margin-left: -20px;
  margin-right: -20px;
  min-height: 40vh;
}

.slider-content {
  gap: 0;
  width: 100vw;
}

.slide {
  transition: transform 0.5s ease-in-out;
  min-width: 100vw;
  height: 60vh;
  padding-left: 10%;
  padding-right: 10%;
}

.slide .wp-block-cover__inner-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 40% !important;
}

.slide .wp-block-cover__inner-container p {
	font-size: var(--fs-xs);
}

.slider-bullets {
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10; 
}

.slider-bullet {
  width: 12px;
  height: 12px;
  background-color: transparent;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
}

.slider-bullet.active {
  background-color: var(--color-white);
  border: 2px solid var(--color-white);
}





/* --------------------------------------------------------------------
  WOOCOMMERCE
---------------------------------------------------------------------- */

/* Type */
.woocommerce .product_title {
  font-size: var(--fs-m);
}

.woocommerce h2 {
  font-size: var(--fs-s);
}

.woocommerce div.product .price {
  color: var(--color-black) !important;
  font-size: var(--fs-m) !important;
  display: flex;
  align-items: baseline;
  margin-bottom: 0 !important;
  gap: 10px;
}

.woocommerce div.product .price .woocommerce-price-suffix, .woocommerce-product-details__short-description, .woocommerce .quantity .qty, .block-button {
  font-size: var(--fs-body);
}

.woocommerce span.badge, .woocommerce ul.products li.product .onsale, .product .summary td.value label, .tagged_as a {
  font-size: var(--fs-detail);
}

.woocommerce-breadcrumb {
  font-size: var(--fs-detail) !important;
}


/* Badges */
.woocommerce span.badge, .woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
  font-family: var(--font-titles);
  text-transform: uppercase;
  letter-spacing: 3px;
  border-radius: 0;
  display: block;
  min-width: fit-content;
  padding: var(--pd-xs) 10px;
  line-height: 1;
  min-height: auto;
  background-color: var(--color-black);
  color: var(--color-white);
  writing-mode: vertical-lr;
  transform: rotate(-180deg);
  position: absolute;
  top: 0;
  font-size: var(--fs-detail);
  font-weight: 500;
}

.woocommerce span.badge, .woocommerce span.onsale {
  left: 20px;
}

.woocommerce span.badge.custom-badge {
  top: 10px;
  z-index: 9;
}

.woocommerce ul.products li.product .onsale {
  left: 10px;
  margin: 0;
  right: unset;
}

.woocommerce .badge.itsnew {
	left: 10px;
}


/* Archive Product */
.woocommerce .woocommerce-ordering select [value="rating"] {
	display: none; 
}

.woocommerce.archive.home .container {
  padding-top: var(--pd-m);
}

.woocommerce ins {
  text-decoration: none ;
}

.woocommerce h1 {
  margin-bottom: var(--pd-m);
}

.woocommerce h1.wp-block-heading {
  margin-bottom: var(--pd-xs);
  font-size: var(--fs-l);
}

.woocommerce .woocommerce-ordering {
  background: transparent;
  float: left;
  line-height: 1;
  position: relative;
  display: block;
}

.woocommerce-ordering select.orderby {
  font-family: var(--font-body);
  font-size: var(--fs-xxs);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: var(--color-black);
  background-color: transparent;
  width: 100%;
  padding: 14px;
  padding-right: 40px; 
  border: 1px solid var(--color-black);
  border-radius: 0;
  background-color: white;
  cursor: pointer;
}

.woocommerce-ordering select.orderby:focus-visible {
  border: 1px solid var(--color-black);
  border-radius: 0;
  outline: none;
}

.woocommerce-ordering::after {
  content: "\f078"; 
  font-family: "Font Awesome 6 Free"; 
  font-weight: 900; 
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none; 
  color: var(--color-black); 
  font-size: var(--fs-xxs);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--color-black);
}

.woocommerce ul.products li.product a {
	overflow: hidden;
}

.woocommerce .woocommerce-result-count {
  float: right;
  margin-top: 14px;
}

button#toggle-filters, .woocommerce .woocommerce-ordering {
  width: 20%;
}

.woocommerce-loop-product__title {
  min-height: 3em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Select for variable products */
.retreat_variations select {
  border: 1px solid var(--color-black);
  margin-bottom: 20px;
  font-family: var(--font-body);
  padding: 2px;
}

a.added_to_cart.wc-forward {
  text-align: center;
  width: 100%;
  font-family: var(--font-titles);
  font-weight: 600;
  font-size: var(--fs-detail);
}

a.added_to_cart.wc-forward:hover {
	text-decoration: underline !important;
}


/* Align Button Bottom */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px;
}

ul.products:before{
  content:unset!important;
}

.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  padding: 10px;
  border: 1px solid var(--color-white);
  width: 100% !important;
}

ul.products li.product a.woocommerce-loop-product__link {
  flex-grow: 1;
}

.woocommerce ul.products li.product img {
  transition: var(--transition-dur);
}

.woocommerce ul.products li.product:hover {
  /* transform: translateY(-10px); */
}


.woocommerce ul.products li.product.outofstock {
  pointer-events: none;
}

.woocommerce ul.products li.product.outofstock .button {
  background-color: #c1c1c1;
  border-color: #c1c1c1;
  color: var(--color-black);
}

.woocommerce ul.products li.product.outofstock img {
  filter: grayscale(1);
  opacity: .5;
}


/* Woocommerce Hero Banner */
.woocommerce .hero-banner p {
  font-size: var(--fs-s);
}

.woocommerce .hero-banner {
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: var(--pd-m);
  border-bottom: 1px solid var(--color-black);
}



/* Single Product */
.single-product.woocommerce .container {
  padding-top: 68px;
}

.product-image-wrapper {
  position: relative;
  display: inline-block;
}

.product-image-wrapper img.secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 1;
}

.product-image-wrapper:hover img.secondary-image {
  opacity: 1;
}

.product-image-wrapper:hover img:first-child {
  opacity: 0;
}


.woocommerce div.product div.images.woocommerce-product-gallery {
  margin-left: -20px;
  margin-bottom: 0;
}

.woocommerce div.product div.summary {
  margin-top: var(--pd-m);
}

ul.flex-direction-nav {
  position: absolute;
  top: 45%;
  z-index: 9;
  width: 100%;
  left: 0;
  margin: 0;
  padding: 0px;
  list-style: none;}

li.flex-nav-prev {float: left;}
li.flex-nav-next {float: right;}
a.flex-next {visibility:hidden;}
a.flex-prev {visibility:hidden;}

a.flex-next::after {
  visibility:visible;
  content: '\f054';
  font-family: 'Font Awesome 6 Free';
  margin-right: 10px;
  font-size: 40px;   
  font-weight: bold;
  color: var(--color-black);
}

a.flex-prev::before {
  visibility:visible;
  content: '\f053';
  font-family: 'Font Awesome 6 Free';  
  margin-left: 10px;
  font-size: 40px;
  font-weight: bold;
  color: var(--color-black);
}

ul.flex-direction-nav li a {
  color: #fff;
}

ul.flex-direction-nav li a:hover {
  text-decoration: none;
}

ul.flex-direction-nav li a {
  color: #fff;
}

ul.flex-direction-nav li a:hover {
  text-decoration: none;
}

.woocommerce div.product div.images .flex-control-thumbs,
.summary.entry-summary .tagged_as {
  display: none !important;
}

.woocommerce div.product .product_title, .woocommerce div.product .price, .woocommerce div.product .woocommerce-product-details__short-description {
  margin-bottom: var(--pd-xs);
}

.woocommerce div.product .product-description-long {
  clear: both;
}

.woocommerce div.product .product-description-long, section.related.products {
  padding: var(--pd-m) 0;
}

.woocommerce div.product .product-description-long .col {
  width: 50%;
}

.product-description-long .description p:first-of-type {
  padding-bottom: 10px;
}

.product-description-long .description .tagged_as {
  padding-top: var(--pd-xs);
}

.woocommerce div.product .tagged_as {
  display: flex;
  gap: 10px;
  margin-top: var(--pd-xs);
}

.tagged_as a {
  background-color: var(--color-black);
  padding: 5px 12px;
  color: var(--color-white);
  font-family: var(--font-titles);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 500;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  display: flex;
  align-items: center;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.single-product section.related.products {
  padding-bottom: 0;
}

.single-product h6 {
  font-size: var(--fs-xxs);
  font-family: var(--font-body);
  font-weight: 300;
  text-transform: capitalize;
  margin-bottom: 30px;
}

#comment {
    display: none !important;
}

.comment-form-comment {
    display: none !important;
}

.price-per-kilo {
  position: relative;
  display: block;
  width: fit-content;
  margin-bottom: var(--pd-s) !important;
}


/* Load more button */
#load-more-container {
  text-align: center;
  margin-bottom: var(--pd-m);
}

#load-more-button {
  background-color: transparent;
  border-radius: 0;
  padding: var(--pd-xs);
  font-family: var(--font-titles);
  text-transform: uppercase;
  transition: all var(--transition-dur);
  font-size: var(--fs-detail);
  letter-spacing: 1px;
  border: var(--border-black);
  color: var(--color-black);
}

#load-more-button:hover span {
  border-bottom: 2px solid var(--color-black);
}

/* Cart Button */
.woocommerce div.product form.cart .button {
  background-color: var(--color-black);
  border-radius: 0;
  padding: 10px var(--pd-s);
  font-family: var(--font-titles);
  text-transform: uppercase;
  transition: all var(--transition-dur);
  height: 60px;
  width: 60%;
  font-size: var(--fs-detail);
  letter-spacing: 1px;
  border: var(--border-black);
}

.block-button a, .woocommerce-message a.button {
	background-color: var(--color-black);
    color: var(--color-white);
    border-radius: 0;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
    padding: 14px;
    font-size: var(--fs-detail);
    margin-top: auto;
    font-family: var(--font-titles);
    border: var(--border-black);
    letter-spacing: 1px;
	font-weight: 500;
}

.block-button a:hover, .woocommerce-message a.button:hover {
    background-color: var(--color-white) !important;
    color: var(--color-black);
    border: var(--border-black);
}

.woocommerce-message a.button {
	width: fit-content;
}

.woocommerce div.product form.cart .button:hover, .woocommerce ul.products li.product .button:hover {
  background-color: var(--color-white);
  color: var(--color-black);
  border: var(--border-black);
}

.woocommerce-cart input.wc-block-components-quantity-selector__input {
	font-size: var(--fs-detail) !important; 
}

.wc-block-components-checkout-order-summary__content {
	padding: 20px;
}

/* Quantity */
.woocommerce .quantity .qty {
  border: none;
  background: transparent;
  border: var(--border-black);
}

.woocommerce .quantity input {
  font-family: var(--font-body);
  height: 60px;
}


/* Variable Swatches */
.woocommerce div.product form.cart .variations .label {
  display: none;
}

.product .summary td.value {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.product .summary td.value input[type="radio"] {
  appearance: none;
  display: none;
}

.product .summary td.value label {
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: inherit;
  text-align: center;
  border-radius: 0;
  overflow: hidden;
  transition: linear 0.3s;
  color: var(--color-black);
  padding: 4px var(--pd-xs);
  border: 2px solid var(--color-black);
  cursor: pointer;
  font-family: var(--font-titles);
  letter-spacing: 1px;
}
.product .summary td.value input[type="radio"]:checked + label {
  background-color: var(--color-black);
  color: #f1f3f5;
  transition: 0.3s;
}
a.reset_variations {
  display: none!important;
}


.custom-tech-specs tr:first-child td {
  border-bottom: 1px solid var(--color-black);
  font-size: 1vw;
}

.custom-tech-specs tr:last-child td {
  border-bottom: 1px solid var(--color-black);
}

.custom-tech-specs tr td span, .custom-tech-specs p span {
  font-weight: 300 !important;
  font-size: 1vw;
}

.custom-tech-specs tr td {
  padding: .5% 0 !important;
}

.custom-tech-specs table {
  width: 45%;
  padding-bottom: 20px;
}

.custom-tech-specs tr td:first-child {
  width: 40%;
}



/* Related Products */
.related.products .woocommerce-loop-product__title {
  color: var(--color-black);
  font-size: var(--fs-body) !important;
}

section.related.products h2 {
  font-family: var(--font-titles);
  text-transform: uppercase;
}

.woocommerce ul.products li.product .button {
  background-color: var(--color-black);
  color: var(--color-white);
  border-radius: 0;
  text-transform: uppercase;
  width: 100%;
  text-align: center;
  padding: 14px;
  font-size: var(--fs-detail);
  margin-top: auto;
  font-family: var(--font-titles);
  border: var(--border-black);
  letter-spacing: 1px;
}

.woocommerce ul.products li.product .price {
  color: var(--color-black);
  font-size: var(--fs-body);
  font-weight: 300;
  margin-bottom: 20px;
  margin-top: auto;
}

.related.products ul.products {
  padding-top: var(--pd-s);
}


/* Reviews */
.woocommerce-Reviews {
  padding: var(--pd-s);
  background-color: var(--color-lightBeige);
  margin-top: var(--pd-m);
}

.woocommerce-Reviews #reply-title {
  font-weight: 700;
}

.woocommerce #review_form #respond .form-submit input {
  font-family: var(--font-titles);
  color: var(--color-dark);
  background-color: var(--color-accent);
  padding: var(--pd-xs) var(--pd-s);
  border: 1px solid var(--color-accent);
  text-transform: uppercase;
  font-size: var(--fs-detail);
  line-height: 1;
  letter-spacing: 1px;
  border-radius: 0;
}

.woocommerce #review_form #respond .form-submit input:hover {
  color: var(--color-black);
  border: 1px solid var(--color-accent);
  background-color: transparent !important;
  text-decoration: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 1px solid var(--color-accent);
  border-radius: 0;
  background-color: var(--color-white);
}

.woocommerce-Reviews #comments {
  margin-bottom: var(--pd-xs);
}

.woocommerce #review_form #respond textarea {
  border-color: var(--color-accent);
  padding: 10px;
  font-family: var(--font-titles);
}

.woocommerce #review_form #respond textarea:focus-visible {
  outline: 1px solid var(--color-dark);
}

.woocommerce ul.products li.product .star-rating {
	font-size: 1vw;
}



/* Checkout */
.wc-block-components-radio-control__option {
	font-family: var(--font-body);
    letter-spacing: 0;
    font-weight: 700;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata {
	display: none;
}


.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity, .is-large .wp-block-woocommerce-checkout-order-summary-block {
  border: var(--border-black) !important;
  border-radius: 0 !important;
  background-color: var(--color-white); 
}

.wc-block-components-product-name {
  color: var(--color-black);
  font-family: var(--font-titles);
  font-size: var(--fs-s);
  font-weight: 500;
  text-transform: uppercase;
}

.wc-block-components-product-metadata__description {
  font-family: var(--font-titles);
  font-weight: 300;
  letter-spacing: -1px;
}


.wp-block-woocommerce-checkout-order-summary-block {
  margin-right: 20px;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button, button.wc-block-components-button {
	font-size: 1vw !important; 
} 

button.wc-block-components-button {
	border: 1px !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input {
	min-height: 12px !important;
    min-width: 12px !important;
    height: 12px !important;
    width: 12px !important;
}

.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input { 
	left: 1% !important; 
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
	min-height: 8px !important;
    min-width: 8px !important;
    height: 8px !important;
    width: 8px !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
	outline-offset: -1px !important;
}

.is-large.wc-block-cart .wc-block-components-sidebar .wc-block-components-radio-control>* {
	margin-bottom: 5px !important;
}

.wc-block-components-totals-shipping__collaterals {
	border: 1px solid var(--color-black);
    padding: 10px;
    margin-top: 10px;
}
 
.is-large.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-shipping__options {
	margin-top: 0 !important;
}

.is-large .wc-block-components-sidebar .wc-block-components-panel, .is-large .wc-block-components-sidebar .wc-block-components-totals-coupon, .is-large .wc-block-components-sidebar .wc-block-components-totals-item {
	padding-left: 0 !important;
	padding-right: 0 !important; 
}

.wc-block-components-totals-wrapper {
	padding: 8px 0 !important; 
}

.wc-block-components-local-pickup-select input {
	margin-top: 1% !important;
}



/* Messages */
.woocommerce-info {
  border: none;
  background-color: var(--color-white);
  padding: var(--pd-m);
}

.woocommerce-info::before {
  color: var(--color-black);
  font-family: 'Font Awesome 6 Free';
  content: '\f00d';
  position: initial;
  margin-right: 20px;
}

.woocommerce-message::before {
	color: #000;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    background-color: transparent;
    color: var(--color-black);
    border: 1px solid var(--color-black);
}




/* Buttons */
.wc-block-cart__submit-button, button.wc-block-components-button {
  text-transform: uppercase;
  font-family: var(--font-titles);
  letter-spacing: 1px;
  font-size: var(--fs-xxs);
  background-color: var(--color-black);
  color: var(--color-white);
  font-weight: 500;
  border: var(--border-black); 
}

.wc-block-cart__submit-button:hover, button.wc-block-components-button:hover {
  background-color: var(--color-white);
  border: var(--border-black) !important;
  color: var(--color-black);
}



/* --------------------------------------------------------------------
  MAGAZIN / BLOG
---------------------------------------------------------------------- */
.content-area {
  padding: var(--pd-l) var(--pd-xs) 100px;
}

.page-template-page_blog h1 {
	font-size: var(--fs-l); 
}

/* Contenedor principal del Query Loop */
.custom-blog-layout {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important; /* Dividir el espacio en 12 columnas */
  gap: 40px;
  grid-row-gap: 160px;
}

.custom-blog-layout .wp-block-post {
  display: flex ;
  flex-direction: column;
  gap: 20px;
}

.custom-blog-layout .wp-block-post:nth-child(1) {
  grid-column: 3 / span 8;
}

.custom-blog-layout .wp-block-post:nth-child(1) img {
  display: none;
}

.custom-blog-layout .wp-block-post:nth-child(1) .wp-block-post-title a {
  font-size: var(--fs-l); 
}

/* Posts que ocupan 7 columnas */
.custom-blog-layout .wp-block-post:nth-child(4n+2),
.custom-blog-layout .wp-block-post:nth-child(4n+5) {
    grid-column: span 7;
}

/* Posts que ocupan 5 columnas */
.custom-blog-layout .wp-block-post:nth-child(4n+3),
.custom-blog-layout .wp-block-post:nth-child(4n+4) {
    grid-column: span 5;
}



.page-template-page_blog .content-area {
	padding-bottom: 0;
	padding-top: 180px;
}


.page-template-page_blog .top-banner {
	padding-bottom: var(--pd-l);
}

.page-template-page_blog .top-banner h3 {
  font-family: var(--font-body);
  text-transform: none;
  font-weight: 300;
}

.page-template-page_blog .intro-banner {
  padding: var(--pd-l) 0;
  width: 70%;
  margin: auto;
}

.page-template-page_blog .intro-banner h2 {
  font-family: var(--font-body);
  text-transform: none;
}

.custom-blog-layout .wp-block-post-title a {
  font-family: var(--font-titles);
  text-transform: none;
  line-height: 1;
}

.custom-blog-layout .wp-block-post:hover .wp-block-post-title {
  text-decoration: underline;
}

.page-template-page_blog .load-more-articles-button {
  cursor: pointer;
  margin: 60px auto;
  display: block;
  background-color: transparent;
  border-radius: 0;
  padding: var(--pd-xs);
  font-family: var(--font-titles);
  text-transform: uppercase;
  transition: all var(--transition-dur);
  font-size: var(--fs-detail);
  letter-spacing: 1px;
  border: var(--border-black);
  color: var(--color-black);
}
.page-template-page_blog .load-more-articles-button:hover {
  background-color: var(--color-black);
  color: var(--color-white);
}

.single article {
  width: 70%;
  margin: auto;
}

.single article h1 {
  font-family: var(--font-titles);
}

.single h2, .single h3, .single h4, .single h5, .single h6 {
  font-family: var(--font-body);
  text-transform: none;
}

.single .featured-img {
  height: 400px;
  overflow: hidden;
}

.single .featured-img img {
  object-position: center;
  object-fit: cover;
  height: 100%;
}

.single .article-content {
  margin-top: 40px;
}

.single .related-posts {
  margin-top: var(--pd-l);
  margin-bottom: var(--pd-l);
  border-top: 1px solid var(--color-black);
  padding-top: var(--pd-s);
}

.single .related-posts ul {
  margin-top: var(--pd-s); 
}

.related-posts .related-title {
  font-family: var(--font-body);
  text-transform: none;
  font-size: var(--fs-s);
  line-height: 1;
}

.related-posts .wp-block-post {
  width: 25%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.related-posts .thumb img {
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.single .article-content ol, .single .article-content ul {
  padding-left: var(--pd-s);
  padding-right: var(--pd-s);
}

.single .article-content ul {
  list-style: disc;
}

.single .article-content ol li, .single .article-content ul li {
  margin-bottom: 10px;
}

.testimonial-alone {
  padding: var(--pd-s);
  background-color: #F7F4ED;
  border-radius: 10px;
  margin-top: var(--pd-xs);
  margin-bottom: var(--pd-xs);
}




/* Magazin Carousel */
.magazin-carousel-wrapper {
  overflow: visible !important;
  background-color: var(--color-lightBeige);
  padding: var(--pd-l) var(--pd-s) !important;
  margin-left: -2% !important;
  margin-right: -2% !important;
}

.magazin-carousel-wrapper > * {
  /* min-width: 100%; */
  flex-shrink: 0;
  gap: 0;
  flex-wrap: nowrap;
  transition: transform 0.3s ease-in-out;
}

.swiper-button-next, .swiper-button-prev {
  color: var(--color-black) !important;
  background-color: var(--color-white);
  border-radius: 10px;
  width: 60px !important;
  height: 60px !important;
  box-shadow: 0px 0px 20px #0000001c;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-size: var(--fs-s) !important;
}

.swiper-pagination-bullet {
  border-radius: 0 !important;
}

.swiper-pagination-bullet-active {
  background: var(--color-black) !important;
}

.magazin-carousel-wrapper .wp-block-image img {
  box-shadow: 2px 2px 20px #0000002e;
}



/* block-magazin-categories */
.block-magazin-categories {
  display: block;
  position: fixed;
  bottom: 1vw;
  left: 1vw;
  z-index: 9;
  overflow-y: scroll;
  height: 20vw;

  background-color: var(--color-white);
  padding: 1.2vw;
  border: 1px solid var(--color-black);
  will-change: transform, opacity;
}


.archive .page-title {
  background-color: var(--color-lightBeige);
  padding: 4vw 2vw;
  margin-left: -20px;
  margin-right: -20px;
  margin-top: -20px;
  margin-bottom: 2vw;
  text-align: center;
  font-size: var(--fs-l);
}

.current-cat > a {
	text-decoration: underline;
	font-weight: 600;
}





/* Category Page */
.category .content-area {
  padding-top: 180px;
}

.category .page-title {
  text-align: center;
  margin-bottom: 5vw;
}

@media (max-width: 575px) {
	.block-magazin-categories { padding: 2.5vw; width: 98%; z-index: 99999; height: auto; }
	.block-magazin-categories .block-magazin-categories-list { font-size: var(--fs-l); display: flex; overflow: scroll; 
	gap: 10px; white-space: nowrap; }
	
}




/* --------------------------------------------------------------------
  GHZ CPT
---------------------------------------------------------------------- */
/* General page */
.top-banner-ghz h3 {
  font-family: var(--font-body);
  text-transform: none;
  font-weight: 300;
}

.intro-banner-ghz {
  padding-top: var(--pd-m);
}

.type-ghz .wp-block-post-title a {
  text-transform: uppercase;
}


/* Single page */
.single-ghz .page-title {
  text-align: center;
  background-color: var(--color-lightBeige);
  margin-left: -20px;
  margin-right: -20px;
  margin-top: -20px;
  padding: 4vw 6vw;
  font-size: var(--fs-m);
  font-family: var(--font-titles);
  text-transform: uppercase;
  line-height: 1.2;
}

.single-ghz .content-area {
  padding-top: 100px;
}

.single-ghz article {
  width: 100%;
}

.single-ghz .article-content {
  width: 70%;
  margin: auto;
}

.single-ghz .article-content > div {
  padding-top: 4vw;
  padding-bottom: 4vw;
}

.single-ghz h2 {
  font-family: var(--font-titles);
  text-transform: uppercase;
  font-size: var(--fs-s);
}

.ghz-category-list ul.children {
  padding-left: .5rem;
  border-left: 1px solid #ccc;
} 

.ghz-category-list .current-cat > a {
  font-weight: 500;
  text-decoration: underline;
}



/* --------------------------------------------------------------------
  LEGAL
---------------------------------------------------------------------- */
.page-template-page_legal .container {
  width: 80%;
  padding-top: 140px;
  padding-left: 2%;
  padding-right: 2%;
}

.page-template-page_legal h1 {
  font-size: 4vw;
}

.page-template-page_legal .container.legal ol, .page-template-page_legal .container.legal  ul {
	padding-left: 2%;
	padding-right: 2%;
}

.page-template-page_legal .container.legal ol li, .page-template-page_legal .container.legal ul li {
	margin-bottom: 10px;
}

/* --------------------------------------------------------------------
  FOOTER
---------------------------------------------------------------------- */
footer {
  margin-top: auto;
}

footer .ft-main {
  padding: var(--pd-m) var(--pd-l) var(--pd-s);
}

.ft-main {
  position: relative;
  background-color: var(--color-white);
  color: var(--color-black);
  border-top: 1px solid var(--color-black);
}

.ft-main a {
  color: var(--color-black);
  text-decoration: none;
}

.ft-main .row.first {
  margin-bottom: var(--pd-l);
}

.ft-main .col .title {
  font-family: var(--font-body);
  text-transform: uppercase;
  font-size: var(--fs-xs);
  font-weight: 600;
  margin-bottom: 10px;
}

.ft-main .ft-menu a {
  font-family: var(--font-titles);
  font-weight: 400;
  letter-spacing: -1px;
  font-size: var(--fs-detail);
  text-align: left;
  text-transform: none;
  margin-bottom: 5px;
  padding-bottom: 1px;
  line-height: 1.2;
}

.ft-main .col.certficates img {
  /* filter: invert(1); */
}



.ft-main .copyright {
  font-family: var(--font-titles);
  font-size: var(--fs-detail);
}

.ft-menu a {
    border-bottom: 2px solid transparent;
    position: relative;
    display: block;
    width: fit-content;
}

.ft-menu .current-menu-item a, .ft-menu a:hover {
	border-bottom: 2px solid var(--color-black);
}




/* --------------------------------------------------------------------
  COOKIES
---------------------------------------------------------------------- */
#silktide-banner {
  font-family: var(--font-body) !important;
  width: 80% !important;
}

#silktide-wrapper button {
  font-family: var(--font-titles);
  font-size: 1vw !important;
  line-height: 1.3 !important;
}

#silktide-modal, #silktide-modal h1 {
  font-family: var(--font-body) !important;
}


@media screen and (max-width: 575px) {
  #silktide-wrapper button { font-size: 3vw !important;}
}





/* --------------------------------------------------------------------
  ACCOUNT
---------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation li {
  padding: var(--pd-xs);
  background-color: var(--color-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:not(:last-child) {
  margin-bottom: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  color: var(--color-black);
  font-size: 1.4vw;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: var(--color-accent);
} 

.woocommerce-account .woocommerce-MyAccount-content {
  padding: var(--pd-xs);
  font-size: 1.4vw;
}

.woocommerce-account .woocommerce-MyAccount-content a {
  text-decoration: underline;
  color: var(--color-black);
}

.woocommerce-account .woocommerce-MyAccount-navigation li::before {
  font-family: 'Font Awesome 6 Free';
  margin-right: 20px;
}

.woocommerce-MyAccount-navigation-link--dashboard::before {
  content: "\f015";
}

.woocommerce-MyAccount-navigation-link--orders::before {
  content: "\f07a";
}

.woocommerce-MyAccount-navigation-link--downloads::before {
  content: "\f019";
}

.woocommerce-MyAccount-navigation-link--edit-address::before {
  content: "\f2b9";
}

.woocommerce-MyAccount-navigation-link--payment-methods::before {
  content: "\f09d";
}

.woocommerce-MyAccount-navigation-link--edit-account::before {
  content: "\f007";
}

.woocommerce-MyAccount-navigation-link--customer-logout::before {
  content: "\f2f5";
}

.woocommerce-account h2 {
  font-size: var(var(--fs-s));
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  margin-top: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input.input-text {
  border: none;
  padding: 10px;
  font-family: var(--font-body);
  font-size: 18px;
  border: var(--border-black);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm button {
  background-color: var(--color-black);
  color: var(--color-white);
  padding: 10px var(--pd-xs);
  margin-top: 10px;
  border: none;
  font-family: var(--font-body);
  font-size: 18px;
  text-transform: uppercase;
  transition: all ease var(--transition-dur);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm button:hover {
  background-color: var(--color-accent);
  color: var(--color-black);
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
  border: none;
  margin-top: 20px;
}



/* --------------------------------------------------------------------
  REGISTRATION
---------------------------------------------------------------------- */
.woocommerce-account #customer_login {
	margin-top: var(--pd-s);
}

.woocommerce-account h2 {	
	text-align: center;
}

.woocommerce-account form.login, .woocommerce form.register {
	border: 1px solid var(--color-black) !important;
	border-radius: 0;
	margin: var(--pd-xs) auto;
}

.woocommerce form.register p:nth-child(2) {
	display: none;
}

.woocommerce-account form.login input, .woocommerce-account form.register input {
	padding: 10px; 
	font-family: var(--font-body);
	font-size: var(--fs-xxs);
	border-radius: 0;
    border: 1px solid var(--color-black);
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
	margin-top: var(--pd-s);
}

button.woocommerce-button.button.woocommerce-form-login__submit, button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit, form.woocommerce-ResetPassword.lost_reset_password button[type="submit"] {
	background-color: var(--color-black);
	color: var(--color-white);
	font-family: var(--font-titles);
	text-transform: uppercase;
	font-size: var(--fs-xxs);
	letter-spacing: 1px;
	border-radius:0;
	margin-top: var(--pd-s);
}

button.woocommerce-button.button.woocommerce-form-login__submit:hover, button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit:hover {
  text-decoration: underline;
}

.woocommerce-account input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-right: 9px;
  padding: 0 !important;
  border: 1px solid var(--color-black);
  appearance: none;
  background-color: transparent;
  outline: none;
  transition: outline 0.1s;
}

.woocommerce-account input[type="checkbox"]:checked {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding: 2px !important;;
}

.woocommerce-account input[type="checkbox"]:not(:disabled):checked {
  border-color: var(--color-black);
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgNUw2IDEwTDE1IDEiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=');
}

.woocommerce-account input[type="checkbox"]:disabled {
  background-color: var(--color-black);
}

.woocommerce-account input[type="checkbox"]:disabled:checked {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgNUw2IDEwTDE1IDEiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=');
}

.woocommerce-account input[type="checkbox"]:focus-visible {
  outline: 6px solid var(--color-black);
  transform: scale(1.05);
}


/* --------------------------------------------------------------------
  LOST PASSWORD
---------------------------------------------------------------------- */
form.woocommerce-ResetPassword.lost_reset_password {
	margin: var(--pd-s) auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	width: 70%;
}

form.woocommerce-ResetPassword.lost_reset_password p:first-child {
	text-align: center;
    font-size: var(--fs-s);
}



/* --------------------------------------------------------------------
  RESPONSIVE
---------------------------------------------------------------------- */

@media (max-width: 575px) {

  .hero-text { font-size: 26vw; }
  h1 { font-size: 13vw; }
  h2 { font-size: 12vw; }
  h3 { font-size: 9vw; }
  h4 { font-size: 6vw; }
  h5, .woocommerce .hero-banner p, .ft-main .col .title { font-size: 5vw; }
  h6, #menu-shop-menu > li > a, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, body, .wc-block-components-form { font-size: 3.5vw !important; }
  .menu-item a { font-size: 4vw; }
	
  p { font-size: 4.2vw; }
	
  .small, .ft-main .copyright p { font-size: 2.7vw; }
  .ft-main .ft-menu li a, .custom-tech-specs tr td span, .custom-tech-specs p span, .custom-tech-specs tr:first-child td,
  .woocommerce-ordering::after { font-size: 3vw !important; }
	
  .destacado { font-size: 17.9vw; line-height: 0.8; letter-spacing: -3px; }
	
	
  .content-area { padding: 160px var(--pd-xs) 100px; }
	
  /* Buttons */
  .btn-solid-primary a { padding: 12px; line-height: 1.4; }

  /* Archive Product */
  .woocommerce span.badge, .woocommerce ul.products li.product .onsale, .woocommerce span.onsale,
  .woocommerce ul.products li.product .button, .woocommerce ul.products li.product .star-rating, a.added_to_cart.wc-forward { font-size: 2vw !important;}
	
  .woocommerce .woocommerce-ordering { padding: 0px; margin-top: 0; }
  button#toggle-filters, .woocommerce .woocommerce-ordering { width: 48%;  }
	
	 
  /* Header */
  #top-navigation { padding: 10px var(--pd-xs); }
  #top-navigation .header { gap: 10px; }
  #top-navigation .left { gap: 10px; align-items: center; width: 50%;  }
  #top-navigation .logo { width: 100%; }
  #top-navigation .right { width: 50%; gap: 10px; justify-content: flex-end; }
  .horizontal-line { height: 20px; }
  #top-navigation .right #menu-shop-menu { gap: 14px; }
  #top-navigation .right img { width: 40px; }

  .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button { padding: 10px; }
  .woocommerce span.badge, .woocommerce span.onsale, .woocommerce ul.products li.product .onsale { top: 0 !important; left: 5px; }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
  .woocommerce ul.products li.product { grid-column: span 1; margin-bottom: 20px !important; padding: 0;  }
	
	.woocommerce h1.wp-block-heading { font-size: var(--fs-l-m); }
	.woocommerce.archive .container { padding-top: 45px; }
	.woocommerce .hero-banner { margin-bottom: 30px; }
	.wp-block-cover, .wp-block-cover-image { min-height: 300px; }
	#load-more-button { font-size: var(--fs-detail-m); }
	.teasers-block { margin-left: -7%; margin-right: -7%; }
	.woocommerce span.badge { left: 10px; }
	.woocommerce span.onsale, .woocommerce ul.products li.product .onsale { left: 0; }

  /* Single Product */
  .woocommerce div.product div.images.woocommerce-product-gallery { 
	  margin-left: -5% !important; margin-right: -5% !important; width: 100vw !important; }
	
  .single-product.woocommerce .container { padding-top: var(--pd-s); }
	
  .woocommerce .product_title { font-size: 8vw;}
  .woocommerce ul.products li.product .onsale, .product .summary td.value label, .tagged_as a,
  .woocommerce div.product .price .woocommerce-price-suffix, .woocommerce-product-details__short-description, .woocommerce .quantity .qty, .block-button { font-size: 3vw; }
  .woocommerce div.product .price { font-size: 10vw !important;}
  .woocommerce .quantity .qty { width: 50px;}
  .woocommerce div.product div.summary { margin-top: var(--pd-s); }
	
  .woocommerce div.product form.cart .button { font-size: var(--fs-detail-m) !important; width: 80%; }
  .woocommerce div.product .woocommerce-product-rating, .woocommerce div.product .product_title { margin-bottom: 10px; }
  .woocommerce div.product .price { margin-bottom: var(--pd-xs); }

  .woocommerce h2 { font-size: 8vw; }
  .woocommerce.archive.search .container, .woocommerce .container { padding-top: 90px; }
  .woocommerce div.product .product-description-long .col { width: 100%; }
  .woocommerce div.product .tagged_as { flex-wrap: wrap; }
  .custom-tech-specs table { width: 100%; }
  .custom-tech-specs tr td { padding: 1% 0 !important; }
  .related.products ul.products { padding-top: var(--pd-xs); }
	
  .custom-product-teaser-inner span, .teasers-block .col .cta { font-size: var(--fs-detail-m); }
	.product-image-wrapper { margin-bottom: -5px; }

  /* Checkout */
  .wc-block-cart__submit { margin-top: 20px !important; }
  .wp-block-woocommerce-checkout-order-summary-block { position: relative; margin-right: 0;}
  .wc-block-components-totals-shipping__collaterals .wc-block-components-radio-control__option { padding-left: 2.25em !important; }
  .wc-block-checkout__shipping-method-option-title { font-size: var(--fs-m); }
  .wc-block-components-local-pickup-select span#radio-control-0-pickup_location\:0__label { line-height: 1.6; }
  .wc-block-components-local-pickup-select input { margin-top: 2% !important; }
  .checkout-order-summary-block-fill { margin-top: 15px !important; }

	
  /* Cart */
  .woocommerce-cart .content-area, .woocommerce-checkout .content-area { padding-top: 20%; }
  .woocommerce-cart input.wc-block-components-quantity-selector__input { font-size: var(--fs-m) !important; }
  .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, button.wc-block-components-button { padding: var(--pd-xs) !important; font-size: 2.5vw !important; }
  .wc-block-components-totals-footer-item-tax { font-size: .875em !important; }


	
  /* Register */
  .woocommerce-account #customer_login { margin-top: inherit; }
  .woocommerce-account h2 {	 text-align: center; margin-top: inherit; }
  .woocommerce-account form.login input, .woocommerce-account form.register input { padding: .8rem; font-size: inherit; }
  button.woocommerce-button.button.woocommerce-form-login__submit, button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit, form.woocommerce-ResetPassword.lost_reset_password button[type="submit"] { font-size: inherit; }
  .woocommerce-account .col2-set .col-2, .woocommerce-page .col2-set .col-2 { margin-top: var(--pd-m); }
	
  form.woocommerce-ResetPassword.lost_reset_password { width: 90%; }
  form.woocommerce-ResetPassword.lost_reset_password p:first-child { font-size: var(--fs-xl); }
	
	
  /* Magazin */
  .page-template-page_blog h1 { font-size: 12vw; }
  .custom-blog-layout .wp-block-post-title a { line-height: 1.15; }
  .page-template-page_blog .top-banner h3 { font-size: 8vw; }
  .page-template-page_blog .top-banner { padding-bottom: var(--pd-xs); }
  .page-template-page_blog .intro-banner { padding: var(--pd-m) 0; width: 90%; }

  .single-post .content-area { padding-top: 20%; }
  .single article { width: 100%; }
  .single article h1 { font-size: 9vw; line-height: 1.15; word-wrap: break-word; }
  .single .featured-img { height: 200px; }
  .single .article-content { margin-top: 0;}
  .single .related-posts { margin-bottom: 0;}
  .single .related-posts ul { margin-top: var(--pd-xs); gap: 20px; flex-wrap: wrap; }
  .related-posts .wp-block-post {width: 47%; }
	
  .magazin-carousel-wrapper { margin-left: -7% !important; margin-right: -7% !important;  }
  .swiper-button-next:after, .swiper-button-prev:after { font-size: var(--fs-xl) !important;  }
  .swiper-button-next, .swiper-button-prev { width: 40px !important; height: 40px !important; }
  .magazin-carousel-wrapper .wp-block-buttons, .magazin-carousel-wrapper .wp-block-button { width: 100%; display: block; }
  .magazin-carousel-wrapper .wp-block-button a { font-size: var(--fs-s); }
	
	
  /* Footer */
  footer .ft-main { padding: var(--pd-s) var(--pd-xs) var(--pd-s); }
  .ft-main .row.first { row-gap: 20px; column-gap: 10px; flex-wrap: wrap; justify-content: flex-start;  }
  .ft-main .row.first .col { width: 45%; }
	
  /* Legal */
  .page-template-page_legal .container { width: 100%; padding-left: var(--pd-xs); padding-right: var(--pd-xs); }
  .page-template-page_legal h1 { font-size: var(--fs-xl); line-height: 1.2; margin-bottom: 10px !important; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
  .page-template-page_legal h3 { font-size: var(--fs-l); }
  .page-template-page_legal h4 { font-size: var(--fs-l); line-height: 1.2; }
  
  
  /* GHZ Folder */
  .single-ghz .content-area { padding-top: 78px; }
  .single-ghz .content-area .gap-20 { gap: 40px; }
  .single-ghz .page-title { font-size: var(--fs-xl); padding: 3rem 1rem; }
  .single-ghz h2 { font-size: var(--fs-m); }
  .single-ghz .article-content > div { flex-direction: column; padding-top: 1rem; padding-bottom: 1rem; }
  .single-ghz .article-content > div > div { gap: 10px; }
  .single-ghz .article-content { width: 100%; }
  .single-ghz .article-content > div { gap: 20px; } 

  .single-ghz .has-text-align-right { text-align: left; }
  .single-ghz .is-layout-flex { flex-direction: column; }
  
  .single-ghz .article-content :where(p.has-background) { padding: 1rem; }
  .single-ghz .article-content .alignfull { padding-top: 3rem; padding-bottom: 3rem; padding-left: 2rem; padding-right: 2rem; } 
  
	.ghz-categories { height: 10rem; width: max-content; }

}

@media all and (min-width: 576px) {

}


@media only screen and (max-width: 768px) {
  #top-navigation .main-menu { display: none !important; visibility: hidden; }
  #top-navigation .menu { order: 3; align-self: center; }
  .navbar-open { opacity: 1; visibility: visible; display: inline-block; }
	
  /* Magazin */
  .custom-blog-layout { grid-template-columns: 1fr !important; grid-row-gap: 60px; }
  .custom-blog-layout .wp-block-post { grid-column: span 1 !important; }
  .custom-blog-layout .wp-block-post:nth-child(1) .wp-block-post-title a { font-size: inherit;}
  .page-template-page_blog .load-more-articles-button { font-size: var(--fs-m);}
	
  .archive .page-title { font-size: 5vw; margin-top: -104px; padding: 10vw 4vw; }
  
	
  /* Cart */
  .wc-block-components-totals-shipping .wc-block-components-totals-shipping__options { margin-top: 0 !important; }
	
  /* Corporate Page */
  .home-teaser { padding: 0; flex-direction: column; gap: 20px; }
  main.corporate.content-area h2 { font-size: 5vw; line-height: 1.1; }
  .home-teaser .wp-block-button__link, .home-shop-section .wp-block-button__link { font-size: var(--fs-m); }
  .home-hero-section { padding: var(--pd-m) 0; }
	
  .pdf-ghz { max-width: 100%; padding: var(--pd-m) var(--pd-xs) var(--pd-m) !important; }
	
  .home-shop-section { padding-top: var(--pd-s); }
  .home-shop-section .add_to_cart_button { font-size: 2vw; padding: 10px; }
  .home-shop-section .wp-block-post-title { font-size: 3.5vw !important; }
  .home-shop-section .wp-block-button__link { margin-top: 0; }
    

  

}

@media all and (min-width: 992px) {

}

@media all and (min-width: 1900px) {

}