/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ========================================================================
   Importación de Google Fonts
======================================================================== */
@font-face {
  font-family: 'GraphikRegular';
  src: url('/fuentes/Graphik-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'MullerBold';
  src:url('/fuentes/Muller-Bold.otf') format('opentype');
}

@font-face {
  font-family: 'MullerMedium';
  src: url('/fuentes/Muller-Light.otf') format('opentype');
}

/* ========================================================================
   VARIABLES GLOBALES - Custom Properties
======================================================================== */

:root {

  --font-graphik: 'GraphikRegular', serif;
  --font-mullerbold: "MullerBold", serif;
  --font-mullermedium: "MullerMedium", serif;
  --font-size-base: 16px;
  --line-height-base: 1.5;

  --c-negro: #000;
  --c-blanco: #FFFFFF;
  --c-primario: #cd002f;
  --c-secundario: #000;
  --c-grisclaro: #f2f2f2;
  --c-gris: #5c616c;

  /* Tamaño de títulos (Responsive) */
  --font-size-h1: 38px;
  --font-size-h2: 28px;
  --font-size-h3: 20px;
  --font-size-h4: 12px;
  --font-size-h5: 10px;
  --font-size-h6: 8px;

  /* Tipografía en móviles */
  --font-size-h1-mobile: 28px;
  --font-size-h2-mobile: 24px;
  --font-size-h3-mobile: 20px;
  --font-size-h4-mobile: 18px;
  --font-size-h5-mobile: 16px;
  --font-size-h6-mobile: 10px;

  /* Tamaño de botones */
  --btn-padding: 10px 16px;
  --btn-font-size: 16px;

  /* Tamaño de botones en móviles */
  --btn-padding-mobile: 6px 12px;
  --btn-font-size-mobile: 14px;

  /* Transiciones */
  --transition-normal: all 0.4s ease !important;

}

/* ========================================================================
   ESTILOS BASE
======================================================================== */

/* OUTLINE */

*:focus { outline: 5px solid orange; }

/* ESTILOS COMUNES */

.zindex0 {
  z-index:0;
}

.zindex1 {
  z-index:1;
}

body {
  font-family: var(--font-graphik);
  font-size: 1.125rem;
  line-height: 1.6875rem;
}

/* Títulos */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-mullerbold);
  color: var(--c-negro);
  font-weight: 700;
  margin-bottom: 0.5em;
}
h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); color: var(--c-primario);}
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

h2.wp-block-heading {
    font-size:var(--font-size-h3)
}

h2 {
    margin-top: 40px;
}
 
h3 {
    margin-top: 30px;
}

.highlight {
  font-size: 60px;
  display: inline-block; /* Asegura un buen comportamiento del tamaño */
}

.subtitulo {
  font-size: 0.85em;
  font-family: var(--font-mullerbold);
  text-transform: uppercase;
}

p {
  margin-bottom: 1em;
  color: var(--c-negro);
}

/*ul, ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
}*/

li {
  margin-right: 8px;
  margin-bottom: 0;
}

/* ========================================================================
   RESPONSIVIDAD PARA TABLET
   (Dispositivos entre 768px y 1024px)
======================================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
  h1 { font-size: 42px; }
  h2 { font-size: 35px; }
  h3 { font-size: 28px; }
  h4 { font-size: 21px; }
  h5 { font-size: 19px; }
  h6 { font-size: 17px; }

  .highlight { font-size: 50px; }
  .texto-destacado { font-size: 22px; }
  .footer-titles { font-size: 20px; }
}

/* ========================================================================
   RESPONSIVIDAD PARA MÓVIL
   (Dispositivos hasta 767px)
======================================================================== */
@media (max-width: 767px) {
  h1 { font-size: var(--font-size-h1-mobile); }
  h2 { font-size: var(--font-size-h2-mobile); }
  h3 { font-size: var(--font-size-h3-mobile); }
  h4 { font-size: var(--font-size-h4-mobile); }
  h5 { font-size: var(--font-size-h5-mobile); }
  h6 { font-size: var(--font-size-h6-mobile); }

  .highlight { font-size: 40px; }
  .texto-destacado { font-size: 20px; }
  .footer-titles { font-size: 18px; }

  .bloque-enlaces {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

  .bloque-enlaces .bloque-enlace {
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
}

/* ========================================================================
   ENLACES
======================================================================== */
a {
  color: var(--c-primario);
  text-decoration: none;
  transition: color var(--transition-normal);
}
a:hover,
a:focus {
  color: var(--c-secundario);
}

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

.site-footer {
  background: none !important;
    background-color: var(--c-grisclaro) !important;
    text-align: center;
}

.site-footer img {
    width: 100%;
    height: auto;
}

.site-footer .container {
    max-width: 877px;
    margin: auto;
}

.contenedor-imagen-footer {
    display: flex;
    justify-content: center;
    padding-top: 66px;
    padding-bottom: 74px;
}

.contenedor-imagen-footer {
    max-width: 250px;
    margin: auto;
}

.bloque-enlaces {
    display: flex;
    padding-bottom: 20px;
}

.bloque-enlaces .bloque-enlace {
    flex: 0 0 25%;
}

.bloque-enlace .titulo {
    color: #232323;
    font-size: 18px;
    font-weight: 600;
    padding-bottom: 10px;
}

.site-footer #footer a {
    color: #777777;
}

.bloque-enlace a {
    font-size: 14px;
    margin-bottom: 2px;
}
.bloque-enlace a, .bloque-enlace span {
    display: block;
}

.contenedor-copy {
    padding-top: 34px;
    padding-bottom: 30px;
    text-align: center;
}

.contenedor-imagen-pagos {
    margin-top: 20px;
    margin-bottom: 0;
    border-top: 1px solid #d7dadd;
    border-bottom: 1px solid #d7dadd;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* ========================================================================
   HEADER
======================================================================== */
#header {
    padding-bottom: 0px !important;
}

.contenedor-header a {
  color:#5c616c !important;
}

.header-icono {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-icono {
    padding: 5px;
}

.header-icono span {
    justify-content: center;
    display: flex;
    align-items: center;
}

.header-icono > span {
    flex: 0 0 33%;
}
.header-icono img {
    width: 39px;
    margin-right: 11px;
}

.img-fabrica {
    width: 32px !important;
}

.header-icono .negrita {
    padding-left: 4px;
    padding-right: 4px;
}

.header-icono .negrita {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 15px;
}
.header-personalizado {
    height: 130px;
    display: flex;
    align-items: center;
}

.header-personalizado > div:nth-child(1) {
    padding-left: 25px;
    flex: 0 0 21%;
}

.header-personalizado > div:nth-child(2) {
    padding-left: 35px;
    flex: 0 0 41%;
}

.header-personalizado > div:nth-child(3) {
    flex: 0 0 38%;
}

.contenedor-header .container {
  max-width: 1170px;
}

.contenedor-header {
  font-size: 15px;
}

.contacto-header {
    text-align: right;
}

.contacto-header span {
    font-style: italic;
    color: rgb(119, 125, 131) !important;
}

.contacto-header span {
    text-transform: uppercase;
}

.contenedor-telefono {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 1.5px;
    color: rgb(205, 0, 47) !important;
}

.contenedor-telefono img {
    padding-right: 5px;
    margin-bottom: 3px;
}

.contenedor-telefono img {
    height: 16px!important;
}

.header-personalizado > div:nth-child(4) {
    justify-content: space-between;
    padding-left: 38px;
    flex: 0 0 12%;
}

.sesion-carro {
    padding-left: 20px;
}

.sesion-carro {
    display: flex;
    justify-content: space-evenly;
}

.elementor-nav-menu li a.elementor-item {
    position: relative;
}

.elementor-nav-menu li a.elementor-item::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 35px;
    height: 2px;
    opacity: 1 !important;
}

.elementor-nav-menu li:nth-child(1) a:hover,
.elementor-nav-menu li:nth-child(1) a.elementor-item-active,
.elementor-nav-menu li:nth-child(1) a::after {
    background: #cd002f !important;
}

/* 2 */
.elementor-nav-menu li:nth-child(2) a:hover,
.elementor-nav-menu li:nth-child(2) a.elementor-item-active,
.elementor-nav-menu li:nth-child(2) a::after {
    background: #7e3794 !important;
}

/* 3 */
.elementor-nav-menu li:nth-child(3) a:hover,
.elementor-nav-menu li:nth-child(3) a.elementor-item-active,
.elementor-nav-menu li:nth-child(3) a::after {
    background: #4d9ce4 !important;
}

/* 4 */
.elementor-nav-menu li:nth-child(4) a:hover,
.elementor-nav-menu li:nth-child(4) a.elementor-item-active,
.elementor-nav-menu li:nth-child(4) a::after {
    background: #7cc77e !important;
}

/* 5 */
.elementor-nav-menu li:nth-child(5) a:hover,
.elementor-nav-menu li:nth-child(5) a.elementor-item-active,
.elementor-nav-menu li:nth-child(5) a::after {
    background: #ff9e48 !important;
}

/* 6 */
.elementor-nav-menu li:nth-child(6) a:hover,
.elementor-nav-menu li:nth-child(6) a.elementor-item-active,
.elementor-nav-menu li:nth-child(6) a::after {
    background: #7e3794 !important;
}

/* 7 */
.elementor-nav-menu li:nth-child(7) a:hover,
.elementor-nav-menu li:nth-child(7) a.elementor-item-active,
.elementor-nav-menu li:nth-child(7) a::after {
    background: #cd002f !important;
}