/* Configuración global */
:root {
    font-size: 10px;
    --var-color-background: #5d695e;
    --var-color-background-oscuro: #606661;
    --var-color-blanco: white;
    --var-color-whatsapp: lightgreen;
    --var-color-whatsapp-oscuro: rgb(22, 117, 22);
}

/* Importar las fuentes */

@font-face {
    font-family: spartan;
    src: url('../fonts/Spartan/LeagueSpartan-Medium.ttf');
}

@font-face {
    font-family: raleway;
    src: url('../fonts/Raleway/Raleway-Medium.ttf');
}

/* Header */
.header {
    display: flex;
    flex-direction: row;
    height: 15rem;
    background: var(--var-color-background);
    box-shadow: 0px 4px 10px rgba(13, 13, 13, 0.47);
    z-index: 3;
    position: relative;
}

.header__left,
.header__center,
.header__right {
    flex-basis: 35%;
}

.header__center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header__num {
    font-size: 3rem;
    color: var(--var-color-blanco);
    font-weight: bold;
}

.header__icon {
    width: 25rem;
    height: 13rem;
}

.header__right {
    display: flex;
    justify-content: flex-end;
    padding-right: 3rem;
    gap: 1rem;
    padding-top: 2rem;
}

.icon {
    font-size: 3rem;
    color: var(--var-color-whatsapp);
}

.header__whatsapp {
    margin-top: 0.6rem;
}

.header__numero:hover {
    cursor: pointer;
    transition: all 300ms;
    color: var(--var-color-whatsapp);
}

.menu {
    color: var(--var-color-blanco);
    transition: all 300ms;
    font-size: 3.6rem;
    margin-top: 3rem;
    margin-left: 3rem;
}

.menu:hover {
    cursor: pointer;
    color: var(--var-color-whatsapp);
}

/* Banner */

.portada {
    z-index: 2;
    position: relative;
}

.portada__top {
    height: 54vh;
    width: 100%;
}

.portada__banner {
    position: relative;
    height: 100%;
    width: 100%;
}

.portada__imagen {
    height: 100%;
    width: 100%;
}

.portada__texto {
    position: absolute;
    font-size: 4rem;
    color: var(--var-color-blanco);
    background: var(--var-color-background);
    border-radius: 2rem;
    opacity: 0.8;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: spartan;
    font-weight: bold;
    width: 59%;
    letter-spacing: 2px;
    text-align: center;
    font-size: 6rem;
    padding: 1rem;
}

/* Banner icons */

.portada__services {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    margin-top: 3rem;
}

.portada__service {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
}

.icon-reformas {
    font-size: 6rem;
    color: var(--var-color-background);
}

.portada__bottom {
    margin-top: 2rem;
}

.service__bottom {
    font-size: 2rem;
    color: black;
    font-family: spartan;
}
.button,
.presupuesto__submit {
    color: white;
    background-color: var(--var-color-whatsapp);
    font-size: 2rem;
    outline: none;
    padding: 1.8rem;
    border-radius: 2rem;
    transition: all 300ms ease-in-out;
    font-weight: bold;
    margin-bottom: 4rem;
    border: none;
    font-weight: bolder;
    font-family: 'spartan';
    font-size: 2.8rem;
    width: 42rem;
    text-align: center;
    height: 7rem;
}

.portada__button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 3rem;
}

.button:hover {
    cursor: pointer;
    filter: saturate(1.4);
    transform: scale(1.03);
}

.portada__imagen {
    mask-image: linear-gradient(
        black 100%,
        transparent
    );
    object-position: bottom;
}

.portada__article {
    height: 70rem;
}

.portada__text {
    right: 20%;
}

.articles__top {
    box-shadow: 4px 0px 10px rgba(13, 13, 13, 0.47);
}

/* Banner text buttom */
.articles__buttom--text {
    margin: 4rem auto;
    font-size: 3rem;
    width: 65%;
    text-align: center;
}

.articles__strong {
    color: var(--var-color-background);
}

.articles__buttom p {
    color: gray;
}

.articles__buttom {
    margin: 4rem 0;
}

.reformas {
    display: flex;
}

.reformas__right {
    flex-basis: 50%;
    box-shadow:
  0 4px 6px rgba(0, 0, 0, 0.1),   /* sombra principal */
  0 10px 20px rgba(0, 0, 0, 0.1), /* sombra más profunda */
  0 2px 4px rgba(0, 0, 0, 0.06);  /* sombra cercana */
    height: 75vh;
}

.reformas__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-basis: 50%;
    font-size: 2.2rem;
}

.reformas__left p {
    width: 73%;
    margin: 0 auto;
    font-size: 2rem;
}

.cocina {
    margin-top: 10rem;
}

img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Estilos para el footer */
.footer {
    display: flex;
    width: 100%;
    margin-top: 10rem;
}

.footer__left {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 15%;
    background: #789883;
    padding: 2rem;
}

.footer__right {
    display: flex;
    flex-basis: 85%;
    background: #789883;
    padding: 2rem;
}

.footer__politicas,
.footer__contacto,
.footer__redes-sociales {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 33%;
    font-size: 1.8rem;
    color: white;
}

.footer__politicas,
.footer__contacto {
    text-decoration: underline;
}

.footer__contacto {
    flex-direction: column;
}

.footer__redes-sociales {
    gap: 2rem;
}

.iconos-redes {
    display: flex;
    font-size: 4rem;
    cursor: pointer;
    transition: all 300ms ease-in-out;
}

.icono-facebook {
    font-size: 3.5rem;
}

.iconos-redes:hover,
.contacto__item:hover {
    color: lightgreen;
}

.contacto__item {
    transition: all 300ms ease-in-out;
}

.politica__enlace {
    transition: all 300ms ease-in-out;
}

.politica__enlace:hover {
    color: lightgreen;
}


/* Animación de menú hamburguesa a X */
.menu.open::before,
.menu.open::after {
    content: '';
    position: absolute;
    width: 3rem;
    height: 0.4rem;
    background: white;
    left: 0;
    transition: 0.3s ease;
}

.menu.open::before {
    transform: rotate(45deg);
    top: 0;
}

.menu.open::after {
    transform: rotate(-45deg);
    top: 0;
}

.menu.open {
    position: relative;
    font-size: 0;
}

.side-menu {
    position: fixed;
    top: -82px !important;
    left: -100%;
    height: 100vh;
    width: 80%;
    max-width: 30rem;
    background-color: white;
    box-shadow: 4px 0 10px rgba(0,0,0,0.3);
    transition: left 0.3s ease;
    z-index: 10;
    padding-top: 10rem;
}

.menu-hamburguesa {
    color: var(--var-color-background);
}

.side-menu--open {
    left: 0rem !important;
}

.side-menu__list {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 2rem;
    font-size: 2.4rem;
}

.side-menu__list a {
    text-decoration: none;
    transition: color 0.3s ease;
}

.side-menu__list a:hover {
    color: var(--var-color-whatsapp);
}

.side-menu__list li {
    border-bottom: 1px solid white;
    padding-bottom: 1rem;
}

.side-menu__list li {
    border-bottom: 1px solid white;
    padding: 1rem 0;
}

.side-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 80%;
  max-width: 30rem;
  height: 70vh;
  color: var(--var-color-background) !important;
  background-color: white;
  transition: left 0.3s ease;
  z-index: 999;
  display: flex;
  flex-direction: column;
  height: 75rem
}


.side-menu__header {
  display: flex;
  align-items: center;
  margin-left: 1rem;
  height: 6rem;
  padding: 0 2rem;
}

.close-menu {
  font-size: 3.6rem;
  color: var(--var-color-background);
  cursor: pointer;
  transition: color 0.3s ease;
}

.close-menu:hover {
  color: var(--var-color-whatsapp);
}

.side-menu__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 1.9rem;
  padding: 2rem;
}

.side-menu__list li {
  border-bottom: 1px solid var(--var-color-whatsapp);
  padding: 1rem 0;
}

.side-menu__list a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.side-menu__list a:hover {
  color: var(--var-color-whatsapp);
}

.header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  animation: slideDown 0.3s ease-in-out;
}

/* Opcional: animación suave */
@keyframes slideDown {
  from {
    top: -100px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

/* Añadir un padding al body cuando el header está fijo para evitar salto de contenido */
body.header-fixed-active {
  padding-top: 15rem; /* misma altura que tu header */
}

.servicio {
    width: 12rem;
}

.service__bottom {
    color: var(--var-color-background);
    font-weight: bold;
}

p {
    font-family: raleway;
}

.num-whatsapp {
    width: 100%;
    height: 100%;
}

.whatsapp-contacto {
    position: fixed;
    z-index: 100;
    right: 3rem;
    bottom: 3rem;
    width: 7rem;
    height: 7rem;
    transition: all 300ms ease-in-out;
    cursor: pointer;
}


.reformas__title {
    font-family: spartan;
    font-size: 5rem;
    width: 80%;
    text-align: center;
}

.reformas__left-container {
    width: 72%;
}

.reformas__sombra-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.reformas__sombra-container::after {
  content: "";
  position: absolute;
  bottom: -4rem;
  left: 10%;
  width: 80%;
  height: 2.5rem;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.2) 0%, transparent 80%);
  filter: blur(6px);
  z-index: 0;
}

.reformas__sombra-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

/* Estilos pagina de presupuesto */

.presupuesto {
    display: flex;
    width: 90%;
    flex-direction: column;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}

.presupuesto__header {
    display: flex;
    justify-content: flex-start;
}

.header--title {
    font-size: 6rem;
    font-family: spartan;
}

.presupuesto__bottom {
    display: flex;
    gap: 5rem;
    flex-direction: row;
    justify-content: center;
}

.presupuesto__left {
    background: #CCC3B9;
    padding: 2.5rem;
    border-radius: 2rem;
    min-height: 70vh;
}

.presupuesto__label {
    text-transform: uppercase;
    color: var(--var-color-blanco);
    font-size: 2rem;
    font-weight: bold;
    margin: 0 auto;
}

.presupuesto__input {
    margin: 0 auto;
    width: 35rem;
    height: 4rem;
    border-radius: 0.6rem;
    border: none;
    font-size: 2rem;
    outline: none;
    padding: 0.4rem;
}

.presupuesto__submit {
    width: 25rem;
    margin: 4rem auto;
    height: 5rem;
    line-height: 1.8rem;
    cursor: pointer;
}

.presupuesto__submit:hover {
    cursor: pointer;
    filter: saturate(1.4);
    transform: scale(1.03);
}

.presupuesto__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.presupuesto__fast {
    font-size: 2.8rem;
    width: 100%;
    text-align: center;
    background-color: #98A899;
    color: var(--var-color-blanco);
    font-family: spartan;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.presupuesto__calidad {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2.5rem 0;
    gap: 3.5rem;
}

.presupuesto__icon {
    width: 7rem;
}

.presupuesto__subtitle {
    color: var(--var-color-blanco);
    font-weight: bold;
    font-size: 1.3rem;
    text-align: center;
}

.presupuesto__reformas-logo {
    width: 20rem;
    text-align: center;
}

.logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.presupuesto__banner-icon {
  width: 70rem;
  border-radius: 1.5rem;
  object-fit: cover;
  max-width: 100%;
  height: 35vh;
}

.presupuesto__banner {
    overflow: hidden;
    position: relative;
}

.banner__logo-icon {
    width: 80%;
    height: 80%;
    object-fit: contain;
}

.banner__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18rem;
    height: 18rem;
    background-color: #5D695E;
    border-radius: 999px;
    position: absolute;
    left: 2rem;
    bottom: 2rem;
}

.presupuesto__descripcion {
    display: flex;
}

.descripcion__left {
    width: 35rem;
    min-height: 10rem;
    background: #ACB9AD;
    color: var(--var-color-blanco);
    font-family: spartan;
    font-size: 3.5rem;
    padding: 0.8rem;
    text-align: center;
    position: relative;
}

.descripcion__left::after {
  content: "";
  position: absolute;
  bottom: -3rem;
  left: 10%;
  width: 80%;
  height: 2.5rem;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.6) 0%, transparent 80%);
  filter: blur(6px);
  z-index: 0;
}

.descripcion__texto {
    font-size: 2rem;
    width: 30rem;
    font-style: italic;
    color: #949494;
}

.descripcion__content{
    padding: 3rem;
}

.descripcion__cursiva {
    font-style: italic;
    color: #738274;
    font-weight: bold;
}

.presupuesto__iconos-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5rem;
    gap: 1rem;
}

.icono {
    width: 10rem;
}

.icono__descripcion {
    text-align: center;
    font-weight: bold;
    color: #5d695e;
    font-size: 1.3rem;
}

.presupuesto__iconos {
    margin-top: -2rem;
}

.whatsapp-mensaje {
  position: fixed;
  bottom: 12rem; /* Justo encima del ícono */
  right: 3rem;
  background-color: #5d695e;
  color: white;
  font-size: 1.6rem;
  font-family: spartan;
  padding: 1rem 2rem;
  border-radius: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: translateY(4px);
  transition: all 0.5s ease-in-out;
  z-index: 200;
}

.whatsapp-mensaje.visible {
  opacity: 1;
}

.whatsapp-mensaje:hover {
    transform: scale(1.05);
}

.presupuesto__main {
    margin: 5rem auto;
}

.reformas-page {
    margin: 3rem auto;
}

.presupuesto__intro {
    padding: 2rem;
    margin: 3rem 0;
    background: #5D695E;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2rem;
    width: 70%;
}

.presupuesto__texto {
    font-family: raleway;
    color: white;
    font-size: 1.6rem;
}

/* Estilos de la página de cookies */

.paginas__politicas {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin: 7rem auto;
    width: 50%;
}

.politicas__pregunta {
    font-family: sans-serif;
    font-size: 2.5rem;
}

.politicas__content {
    font-family: sans-serif;
    font-size: 2rem;
}

.politicas__title {
    font-size: 4rem;
}

.portada__presupuesto,
.portada__contacto {
    display: none;
}

.icon {
    cursor: pointer;
    transition: all 300ms ease-in-out;
}

.icon:hover {
    color: rgb(67, 234, 67);
}

.cookie-enlace {
    transition: all 300ms ease-in-out;
}

.cookie-enlace:hover {
    color: #738274;
}


.button--no-margin {
    margin-bottom: 0;
}

.respuesta {
    font-size: 1.7rem;
    width: 80%;
    text-align: center;
    margin: 2rem 0 ;
}

#telefono {
    margin-bottom: 2rem;
}

/* Scrollbar */

/* Scrollbar para navegadores WebKit */
body::-webkit-scrollbar {
    width: 10px;
    background: var(--var-color-background-oscuro);
}

body::-webkit-scrollbar-thumb {
    background-color: var(--var-color-whatsapp); /* Usar el color directamente */
    border-radius: 10px; /* Ajustar el radio del borde */
    border: 1px solid black;
}

body:hover::-webkit-scrollbar-thumb {
    background-color: var(--var-color-whatsapp); /* Color al hacer hover en la scrollbar */
}

body:hover::-webkit-scrollbar-thumb:hover {
    background-color: var(--var-color-whatsapp); /* Color al hacer hover en la scrollbar thumb */
} 

body::-webkit-scrollbar-track {
    background-color: transparent;
}

/* Política de cookies */
.cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #f8f8f8;
    color: #333;
    padding: 1rem;
    text-align: center;
    z-index: 9999;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
    font-size: 14px;
}

.cookie-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0.5rem;
}

.cookie-actions button {
    margin: 0 5px;
    padding: 6px 12px;
    background-color: #0051a2;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.cookie-actions button:hover {
    background-color: #003c7a;
}

.cookie-link {
    text-decoration: underline;
    color: #0051a2;
}

/* Privacidad */

.lista-privacidad {
    list-style: square;
    font-size: 2rem;
    padding-left: 3rem;
}

.info {
    font-size: 2rem;   
}

/* CAPTCHA */

.tam-cf {
  transform: scale(0.9);
  transform-origin: center center;
  -webkit-transform: scale(0.9);
  -webkit-transform-origin: center center;
  width: fit-content;
}
