/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Child theme personalizado para GeneratePress.
Author: Custom
Author URI:
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-child
*/

/*

# ESTILOS PERSONALIZADOS

Añade aquí los estilos personalizados del sitio.

El CSS de este Child Theme se cargará después
del CSS principal de GeneratePress.
*/

html {
  overflow-x: hidden;
}

.generate-back-to-top {
  bottom: 12px;
}

.joinchat__button {
  bottom: 0 !important;
}
/* Main Menu */

.grid-container {
  max-width: 100%;
}
.one-container .site-content {
  padding: 0;
}

.inside-header,
.entry-title {
  max-width: 1400px !important;
  margin: auto;
  padding: 5px 0;
}

.entry-title {
  text-align: center;
  font-style: italic;
  font-weight: 600;
}
.entry-content:not(:first-child) {
  margin-top: 0;
}
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
  font-weight: bold;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li a:hover {
  color: var(--global-color-8) !important;
}

.main-navigation .main-nav ul li a:hover {
  color: var(--global-color-8) !important;
}

.main-navigation .main-nav ul ul li a:hover {
  color: var(--accent) !important;
}

.main-navigation ul ul {
  background-color: var(--global-color-8) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.12);
}

.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
  color: var(--accent) !important;
}

.main-navigation .main-nav ul li a:hover {
  color: var(--global-color-8) !important;
}

.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a {
  color: var(--global-color-8) !important;
}

.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a {
  color: var(--accent) !important;
}

.site-branding::after {
  content: "Desde 1953";
  display: block;
  font-size: 14px;
  line-height: 1.2;
  margin-top: 4px;
  color: var(--accent);
  text-align: center;
  font-style: italic;
  letter-spacing: 4px;
  font-weight: bold;
  border: 1px solid var(--global-color-8);
  border-radius: 10px;
  max-width: 170px;
  margin: auto;
  background: white;
}

h1.productos-taxonomy-title,
.productos-archive-title {
  color: var(--accent);
  font-weight: 600;
}

h2 {
  color: var(--global-color-8);
  font-weight: 600;
}

h2.productos-section-title {
  color: var(--accent);
  font-weight: 600;
}

h3 {
  color: var(--global-color-8);
  font-weight: 600;
}

a {
  text-decoration: none !important;
}
.productos-taxonomy-breadcrumbs a {
  color: var(--accent) !important;
}
/* Related Products slider */

.pd-slider__arrow,
.csb-arrow,
.producto-carousel-arrow {
  background: var(--global-color-8) !important;
  display: block !important;
}

.producto-image-zoom-icon {
  background: var(--global-color-8) !important;
}

.productos-relacionados-arrow {
  background: var(--global-color-8) !important;
  display: block !important;
}

.productos-relacionados {
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--global-color-8);
}

.producto-relacionado-image {
  background: #fff !important;
  border-radius: 10px;
  border: 1px solid var(--global-color-8);
}

.producto-lightbox-arrow,
.producto-lightbox-close {
  background-color: var(--accent) !important;
}

/* HEADER */

.top-bar-info {
  height: 40px;
}

.top-bar-info .wp-block-group__inner-container {
  padding: 0;
}

.top-bar-info .wp-block-columns {
  margin-bottom: 0;
  padding: 5px 0;
}

.filter-img img,
.top-bar-info img,
.top-bar-info-mobile img {
  filter: brightness(0) saturate(100%) invert(18%) sepia(21%) saturate(1943%)
    hue-rotate(163deg) brightness(93%) contrast(94%);
  max-width: 30px;
}

.entry-header {
  background: var(--accent);
  color: var(--base-3);
  height: 100%;
}

.pd-slide {
  flex: 0 0 calc(99% / 3);
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid var(--global-color-8);
}

.pd-slider__track {
  gap: 5px;
}

.pd-slide__image-wrapper {
  padding: 25px !important;
}

.pd-slide__title {
  text-align: center;
  font-weight: bold;
  color: var(--global-color-8);
}

.pd-slide__description {
  text-align: justify;
}

.pd-slide__button {
  color: var(--accent);
  font-weight: bold;
  text-align: center;
  display: block;
}

/* FOOTER */

/* ==========================================================
   FOOTER PRINCIPAL
   ========================================================== */

.custom-footer {
  width: 100%;
  padding: 60px 0;
  background: var(--accent);
}

.custom-footer-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;

  display: grid;

  grid-template-columns:
    1fr
    1fr
    1fr
    1.5fr;

  gap: 50px;

  align-items: start;
}

/* ==========================================================
     COLUMNAS
     ========================================================== */

.custom-footer-column {
  min-width: 0;
}

/* ==========================================================
     LOGO
     ========================================================== */

.custom-footer-logo {
  display: flex;
  align-items: flex-start;
}

.custom-footer-logo-link {
  display: inline-block;
}

.custom-footer-logo-image {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
}

/* ==========================================================
     TÍTULOS
     ========================================================== */

.custom-footer-title {
  margin: 0 0 20px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--global-color-8);
}

/* ==========================================================
     MENÚ PRINCIPAL
     ========================================================== */

.custom-footer-nav {
  margin: 0;
}

.custom-footer-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.custom-footer-menu-list li {
  margin: 0 0 10px;
  padding: 0;
}

.custom-footer-menu-list li a {
  text-decoration: none;
  color: white;
}

.custom-footer-menu-list li a:hover {
  text-decoration: underline;
}
/*
   * Submenús del menú principal.
   */

.custom-footer-menu-list .sub-menu {
  list-style: none;
  margin: 8px 0 0 15px;
  padding: 0;
}

.custom-footer-menu-list .sub-menu li {
  margin-bottom: 8px;
}

/* ==========================================================
     CATEGORÍAS DE PRODUCTOS
     ========================================================== */

.custom-footer-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.custom-footer-category-item {
  margin: 0 0 10px;
  padding: 0;
}

.custom-footer-category-item a {
  text-decoration: none;
  color: white;
}

.custom-footer-category-item a:hover {
  text-decoration: underline;
}

.ccb-category-card-title {
  color: var(--accent) !important;
  font-weight: 600;
}

.producto-category-card-content,
.producto-subcategory-card-content {
  text-align: center;
}

.producto-category-card-meta,
.producto-subcategory-card-meta {
  justify-content: center !important;
}

.productos-pagination a,
.productos-pagination span {
  color: var(--global-color-8) !important;
}

.cas-pagination li li.page-numbers {
  border: 1px solid var(--global-color-8) !important;
  color: var(--global-color-8) !important;
  border-radius: 5px;
}

.cas-pagination .current,
li.page-numbers.current,
.productos-pagination .current {
  background: var(--accent) !important;
  border-color: var(--global-color-8) !important;
  color: #fff !important;
}

.producto-relacionado-image {
  padding: 25px;
}

/* ==========================================================
     SIN CATEGORÍAS
     ========================================================== */

.custom-footer-no-categories {
  margin: 0;
}

/* ==========================================================
     GOOGLE MAPS
     ========================================================== */

.custom-footer-map-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  border: 2px solid var(--global-color-8);
}

.custom-footer-map-wrapper iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-border-radius {
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid var(--accent);
}

/* ==========================================================
     FOOTER
     ========================================================== */

.custom-footer-bottom {
  width: 100%;
}

.custom-footer-bottom-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 30px;
}

.custom-footer-bottom-inner p {
  margin: 0;
  font-weight: 600;
}

.custom-footer-menu-list li,
li.custom-footer-category-item {
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--global-color-8);
}

.custom-footer-logo-image {
  max-width: 150px;
}
/* ==========================================================
     TABLET
     ========================================================== */

@media (max-width: 900px) {
  .custom-footer-inner {
    grid-template-columns:
      1fr
      1fr;

    gap: 40px 30px;
  }

  .custom-footer-map {
    grid-column: span 2;
  }
}

/* ==========================================================
     MÓVIL
     ========================================================== */

@media (max-width: 600px) {
  .custom-footer {
    padding: 40px 0;
  }

  .custom-footer-inner {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 0 20px;
  }

  .custom-footer-map {
    grid-column: auto;
  }

  .custom-footer-logo-image {
    max-width: 150px;
  }

  .custom-footer-bottom-inner {
    padding: 20px;
  }
}

/* PRODUCTOS DESTACADOS */

.pd-slide__image {
  object-fit: contain;
}

.square-slide .csb-slide-background {
  background-size: contain;
  background-color: #fff;
}

.square-slide.csb-slideshow {
  border-radius: 10px;
  border: 2px solid var(--global-color-8);
}

.padding-none.wp-block-group__inner-container {
  padding: 0;
}

.margin-bottom-none .wp-block-columns {
  margin-bottom: 0;
}

/* category card */

.ccb-category-card {
  border: 2px solid var(--accent);
}

.producto-card,
.producto-category-card,
.producto-subcategory-card {
  border: 1px solid var(--global-color-8) !important;
  border-radius: 10px;
}

.producto-carousel-main {
  border-radius: 10px;
  border: 2px solid #e6e6e6;
  border-radius: 10px !important;
}

span.producto-category-card-count,
.producto-card-meta span,
span.producto-codigo-value,
span.producto-subcategory-card-count {
  color: var(--accent);
  font-weight: bold;
}

.producto-card-code {
  font-weight: bold;
  color: var(--accent) !important;
}

span.producto-codigo-label,
span.producto-taxonomias-label,
.producto-title {
  font-weight: bold;
  color: var(--global-color-8) !important;
}

.producto-taxonomia-link {
  border: 1px solid var(--accent) !important;
  border-radius: 5px !important;
}

.producto-taxonomia-link:hover {
  background: var(--global-color-8) !important;
}
/* Copyright */
.custom-footer-bottom {
  background-color: var(--global-color-8);
  color: var(--base-3);
  text-align: center;
}

/* Contact form */

.contact-form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 20px;
  background-color: var(--global-color-8);
  border-radius: 10px;
}

.contact-form-container .wp-block-group__inner-container {
  padding: 0 !important;
}

.padding-left-none .wp-block-group__inner-container {
  padding-left: 0 !important;
}

.top-bar-info-mobile {
  display: none;
}

.cas-search .cas-search__input {
  border-radius: 10px !important;
}

.cas-result-card__image img,
.cas-search .cas-search-result__image img {
  object-fit: contain !important;
  background: white;
}

.cas-result-card {
  border: 1px solid var(--global-color-8) !important;
  border-radius: 10px;
}

.cas-result-card__meta,
.cas-result-card__code,
.cas-result-card__type {
  color: var(--accent) !important;
  font-weight: bold;
}

.cas-result-card__image {
  padding: 25px;
  background: white !important;
}

.producto-card-image,
.producto-carousel-image-button {
  padding: 25px !important;
}

.square-slide .csb-slide-background {
  background-size: cover !important;
}

/* Contact Form */

.wpcf7-form label {
  font-weight: bold;
  color: var(--base-3) !important;
}
.csb-slide-button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  background-color: var(--global-color-8) !important;
  color: var(--base-3) !important;
  font-weight: bold;
  border-radius: 5px;
}
/* RESPONSIVE - TABLET
   ========================================================== */
@media screen and (max-width: 1330px) {
  .top-bar-info {
    height: 100% !important;
    display: none;
  }
  .top-bar-info .wp-block-columns {
    flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  .cas-search .cas-search-input-wrap {
    margin-bottom: 10px;
  }
  .ccb-categories-grid,
  .ccb-columns-4 .ccb-categories-grid,
  .ccb-columns-3 .ccb-categories-grid,
  .ccb-columns-2 .ccb-categories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .pd-slider__track {
    -webkit-overflow-scrolling: touch;
  }

  .producto-carousel,
  .productos-relacionados-carousel {
    touch-action: pan-y;
  }

  .cas-search .cas-search-results {
    width: 100% !important;
  }

  /* Menu */

  .main-navigation.toggled .main-nav > ul {
    background: var(--base-3);
  }

  .main-navigation .main-nav ul li a {
    color: var(--global-color-8);
  }

  .main-navigation.toggled .main-nav li {
    border-bottom: 1px solid var(--global-color-8);
  }

  .main-navigation .main-nav ul ul li a {
    color: var(--base-3);
    line-height: 2.5em;
  }

  .main-navigation .main-nav ul ul li {
    border-bottom: 1px solid var(--base-3) !important;
  }

  .site-header .header-image {
    width: 25px;
  }
  .cas-search {
    width: 90% !important;
    margin: auto;
  }
  .cas-search .cas-search-input-wrap {
    margin-bottom: 0 !important;
  }

  .site-header .header-widget {
    background: var(--global-color-8) !important;
    margin-top: 0;
    padding: 10px;
  }

  .top-bar-info-mobile {
    display: block;
    text-align: center;
    padding: 25px 10px;
  }

  .inside-header,
  .entry-title {
    padding: 5px 0 0 0;
  }

  .pd-slide {
    flex: 0 0 calc(99% / 2);
  }
  h1 {
    font-size: 36px;
  }
}

@media screen and (max-width: 600px) {
  .custom-footer {
    text-align: center;
  }
  .custom-footer-logo {
    align-items: center;
    justify-content: center;
  }
  .pd-slide {
    flex: 0 0 calc(99% / 1);
  }
  h1 {
    font-size: 30px;
  }
}

@media screen and (max-width: 450px) {
  .main-title {
    font-size: 23px !important;
  }
  .cas-search .cas-search__input {
    min-height: 40px;
    padding: 5px 10px;
  }
  .ccb-categories-grid,
  .ccb-columns-4 .ccb-categories-grid,
  .ccb-columns-3 .ccb-categories-grid,
  .ccb-columns-2 .ccb-categories-grid {
    gap: 10px;
  }
  /*.site-main .wp-block-group__inner-container {
    padding: 30px;
  }*/
  .inside-header {
    padding-right: 0;
    padding-left: 0;
  }
  .site-branding-container {
    padding: 5px 20px;
  }

  /*.header-widget-area {
    background: var(--global-color-8);
    padding: 10px 20px;
  }*/

  .home .site-main .wp-block-group__inner-container {
    padding: 10px;
  }
  .site-main .wp-block-group__inner-container {
    padding: 30px;
  }
  .productos-relacionados-carousel {
    overflow-x: clip;
  }
  /*
  .productos-relacionados-prev {
    left: 25% !important;
  }
  .productos-relacionados-next {
    right: 25% !important;
  }
  .productos-relacionados-arrow {
    top: 100% !important;
  }*/
  .entry-header h1 {
    font-size: 20px;
  }
}

@media screen and (max-width: 400px) {
  .main-title {
    font-size: 20px !important;
  }
}
