/*!
Theme Name: Orbitta Child
Theme URI: https://orbitta.es/
Author: Orbitta
Author URI: https://orbitta.es/
Template: orbitta
Description: Orbitta Theme Child
Version: 1.0
Text Domain: orbitta-child
*/

:root {
  --large: 1680px;
}

body {
  font-family: "Lexend Deca", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  background: #F4F0E8;
}

/* General (root) */

/* Fonts */

h1 { font-size: var(--fs70); line-height: 110%; letter-spacing: -1.4px; }
h2 { font-size: var(--fs36); }
h3 { font-size: var(--fs24); }

p { font-size: var(--fs16); font-weight: 300; }

/* Icons */

/* Elements */

.btn-red a,
.btn-black a {
  border-radius: 5px !important;
  padding: 15px 25px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.btn-red a {
  background: #FB0107 !important;
  color: white !important;
}

.btn-black a {
  background: #000000 !important;
  color: white !important;
}

.btn-trans-red {
  border-radius: 5px;
  border: 3px solid #FB0107;
  background: transparent;
  padding: 15px 25px;
}

.btn-trans-white {
  border-radius: 5px;
  border: 3px solid white;
  background: transparent;
  padding: 15px 25px;
}

.estrella-1::after,
.estrella-2::after,
.estrella-3::after,
.estrella-4::after {
  content: "";
  display: inline-block;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M5 0L6.35045 3.64955L10 5L6.35045 6.35045L5 10L3.64955 6.35045L0 5L3.64955 3.64955L5 0Z' fill='%23FB0107'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 10px 10px;
  vertical-align: top;
  margin-left: 4px;
}

/* Clases con número de estrellas */
.estrella-1::after { width: 10px; }
.estrella-2::after { width: 20px; }
.estrella-3::after { width: 30px; }
.estrella-4::after { width: 40px; } 

.plus-red a {
  display: flex;
  gap: 10px;
  align-items: center;
}

.plus-red-big {
  display: flex;
  gap: 15px;
}

.plus-red a::before,
.plus-red-big::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M4.67045 11.3066V0.0566406H6.57955V11.3066H4.67045ZM0 6.63619V4.72709H11.25V6.63619H0Z' fill='%23FB0107'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease; /* transición suave */
}

.plus-red-big::after {
  width: 15px;
  height: 15px;
  transition: transform 0.3s ease; /* transición suave */
}

.plus-red a:hover::before {
  transform: rotate(180deg); /* o 360deg para giro completo */
}

.plus-red-big:hover::after {
  transform: rotate(90deg);
}

.plus-white {
  display: flex;
  gap: 50px;
  align-items: center;
  justify-content: space-between;
  line-height: 130% !important;
}

.plus-white::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6.61648%2015.9375V0H9.32102V15.9375H6.61648ZM0%209.32102V6.61648H15.9375V9.32102H0Z%22%20fill%3D%22%23F4F0E8%22/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex: none;
}


/* Header */

.transparency-header .menu-orbitta {
  color: white !important;
}

.menu-orbitta {
  font-size: 14px;
}

.menu-orbitta .plus-red-big {
  position: relative; /* necesario para posicionar ::after */
  display: inline-block;
  padding-bottom: 10px;
  text-decoration: none;
}

.menu-orbitta .plus-red-big::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 3px;
  background-color: #FB0107;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.menu-orbitta .plus-red-big:hover::before {
  transform: scaleX(1);
}

#offcanvas-off-mobile .container-offcanvas {
  background-color: #FB0107;
  color: white;
  padding: 0 var(--padsecmob);
}

#offcanvas-off-mobile .close-offcanvas {
  color: white;
  top: 30px;
  right: var(--padsecmob);
}

#main-mobile .hamburger-orbitta {
  position: relative;
  top: -20px;
}

/* Hero */

.home .wp-block-cover > span {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.50) 5.79%, rgba(0, 0, 0, 0.10) 51.99%, rgba(0, 0, 0, 0.50) 100%);
    opacity: 1 !important;
    background-color: transparent !important;
}


.img-hero-servicio .wp-block-image {
    position: relative;
    width: 110%;
    right: 10%;
    z-index: -1;
}

/* Bloques Guttenberg */

.bloque-borde {
  border: 1px solid #D7D5CB;
}

.grupo-empresa {
  position: relative;
  top: -10vw;
}

/* Shortcodes */

/* Contact Form 7 */

.wpcf7 .screen-reader-response {
  display: none;
}

.wpcf7 {
  font-size: var(--fs16);
  font-weight: 300;
}

.wpcf7 .wpcf7-text,
.wpcf7 .wpcf7-textarea {
  border: 0;
  border-bottom: 1px solid #000;
  background: #FEFCF8;
  margin-top: 5px;
}

.wpcf7 .wpcf7-submit {
  border-radius: 5px;
  padding: 15px 25px;
  font-size: 14px;
  font-weight: 700;
  background: #FB0107;  
  color: white;
  width: auto;
}

.wpcf7 input[type=checkbox] {
  background-color: #FEFCF8;
}

/* Archive y Post */

/* Categoria y Producto (woo) */

/* Footer */


/*--------------------------------------------------------------
>>> MEDIA QUERYS:
---------------------------------------------------------------- */

@media only screen and (max-width: 1023px) {
  /* Estilos para dispositivos móviles (teléfonos y tablets en orientación vertical) */

	h1, p.fs70 { font-size: 30px !important; }
	h2, p.fs36 { font-size: 25px !important; }
	h3, p.fs24 { font-size: 20px !important; }
	
  .img-hero-servicio .wp-block-image {
    position: unset;
    width: 100%;
    z-index: 0;
    margin-top: 40px;
  }

  .wp-block-cover.cover-empresa img {
      object-position: 50% 30vh!important;
  }

  .wp-block-cover.cover-empresa .grupo-titulo-empresa {
      margin-bottom: 100vh!important;
  }

  .grupo-empresa {
      position: unset;
      top: 0;
      margin-bottom: 150px;
  }

}

@media only screen and (min-width: 1024px)	{
  /* Estilos para pantallas de escritorio y dispositivos más grandes */

}

@media only screen and (min-width: 1024px) and (max-width: 1279px) {
  /* Estilos para pantallas medianas (por ejemplo, laptops pequeñas y tablets grandes) */

}

@media only screen and (min-width: 1280px)	{
  /* Estilos para pantallas grandes (por ejemplo, laptops grandes y monitores de escritorio) */

}