/*
Theme Name: Cozyrise Landing
Theme URI: https://cozyrise.com/
Author: Galaxia Digital
Author URI: https://galaxiadigital.com.ar/
Description: Theme base desarrollado desde cero con Bootstrap 5.3.7
Version: 1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: galaxia-from-the-scratch
*/

body {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}
body, html {
  overflow-x: hidden;
}

.gallery .gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.5rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.gallery .gallery-item .ratio {
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.gallery .gallery-item .ratio img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.glightbox-clean .gslide-image img {
  max-width: 100%;
  max-height: 90vh;
  margin: auto;
  display: block;
}

/* ===== Override Bootstrap primary global ===== */
:root{
  --bs-primary: #FF5757;
  --bs-primary-rgb: 255, 87, 87;

  /* enlaces */
  --bs-link-color: #FF5757;
  --bs-link-hover-color: #e24f4f;
}

/* ===== Botón .btn-primary ===== */
.btn-primary{
  --bs-btn-color: #fff;
  --bs-btn-bg: #FF5757;
  --bs-btn-border-color: #FF5757;

  --bs-btn-hover-bg: #e24f4f;
  --bs-btn-hover-border-color: #e24f4f;

  --bs-btn-active-bg: #cc4a4a;
  --bs-btn-active-border-color: #cc4a4a;

  --bs-btn-disabled-bg: #FF5757;
  --bs-btn-disabled-border-color: #FF5757;
}

/* (Opcional) Alert primary */
.alert-primary{
  --bs-alert-color: #6a1f1f;
  --bs-alert-bg: #ffe6e6;
  --bs-alert-border-color: #ffc9c9;
}
.spacer100{
	margin: 50px 0;
}
h2, h3, h4, h5{
	color: #555!important;
	font-weight: 900;
	letter-spacing: -1px;
}

h1{
	font-weight: 900;
	font-size: 3rem;
	letter-spacing: -1px;
	text-transform: uppercase;
	color: #ff5757!important;
}
@media (max-width: 575.98px) {
  h1 {
    font-size: 2rem;
  }
}

.svg-hero, .svg-service {
  width: 40%;
}
@media (max-width: 768px) {
  .svg-hero, .svg-service {
    width: 60%;
  }
}
@media (max-width: 480px) {
  .svg-hero, .svg-service {
    width: 80%;
  }
}

.svg-hero {
  display: inline-block;
  opacity: 0;
  transform: scale(1.2);
  animation: heroFadeIn 1.2s ease-out forwards;
}

@keyframes heroFadeIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.svg-service {
  display: inline-block;
  opacity: 0;
  transform: scale(1.2);
  animation: serviceFadeIn 1.2s ease-out forwards;
}

@keyframes serviceFadeIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* ============================================
   Wave animada (PNG) — ping-pong
   ============================================ */
.wave-wrapper{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  overflow: hidden;
  z-index: 0;
  line-height: 0;
}

/* El track es el que se mueve */
.wave-wrapper .wave-track{
  width: 300%;                /* xs */
  will-change: transform;
  animation: wavePingPong 25s ease-in-out infinite alternate;
}

/* La imagen ocupa todo el track */
.wave-wrapper img{
  display: block;
  width: 100%;
  height: auto;
}

@keyframes wavePingPong{
  0%   { transform: translateX(-66.6667%); } /* extremo derecho */
  100% { transform: translateX(0%); }        /* extremo izquierdo */
}

/* sm (≥576px) → ancho 250% */
@media (min-width: 576px){
  .wave-wrapper .wave-track{ width: 250%; }
  @keyframes wavePingPong{
    0%   { transform: translateX(-60%); }
    100% { transform: translateX(0%); }
  }
}

/* md (≥768px) → ancho 200% */
@media (min-width: 768px){
  .wave-wrapper .wave-track{ width: 200%; }
  @keyframes wavePingPong{
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0%); }
  }
}

/* lg (≥992px) → ancho 180% */
@media (min-width: 992px){
  .wave-wrapper .wave-track{ width: 180%; }
  @keyframes wavePingPong{
    0%   { transform: translateX(-44.4444%); }
    100% { transform: translateX(0%); }
  }
}

/* xl (≥1200px) → ancho 160% */
@media (min-width: 1200px){
  .wave-wrapper .wave-track{ width: 160%; }
  @keyframes wavePingPong{
    0%   { transform: translateX(-37.5%); }
    100% { transform: translateX(0%); }
  }
}

/* xxl (≥1400px) → ancho 150% */
@media (min-width: 1400px){
  .wave-wrapper .wave-track{ width: 150%; }
  @keyframes wavePingPong{
    0%   { transform: translateX(-33.3333%); }
    100% { transform: translateX(0%); }
  }
}

/* Ola superior del footer */
.footer-wave {
  width: 100%;
  background: #FF5757 url('assets/svg/wave-footer2.svg') no-repeat center bottom;
  background-size: 100% auto;   /* ocupa todo el ancho sin cortar bordes */
  height: clamp(120px, 18vw, 260px); /* altura adaptable */
  margin-bottom: -1px;          /* evita micro-corte entre ola y footer */
  line-height: 0;
}

/* Footer */
.footer-cozy {
  background-color: #FF5757;
  padding-top: clamp(120px, 18vw, 260px); /* arranca después de la ola */
}

/* Ajustes responsivos */
@media (max-width: 991.98px) {
  .footer-wave {
    height: clamp(100px, 20vw, 180px);
  }
  .footer-cozy {
    padding-top: clamp(100px, 20vw, 180px);
  }
}

@media (max-width: 575.98px) {
  .footer-wave {
    height: clamp(80px, 22vw, 140px);
  }
  .footer-cozy {
    padding-top: clamp(80px, 22vw, 140px);
  }
}

/* Ola inferior del header */
/* Ola inferior del header */
.header-wave {
  width: 100%;
  background: #FF5757 url('assets/img/wave-header.png') no-repeat center bottom;
  background-size: 100% auto;
  height: 165px;
  margin-bottom: -1px;
  line-height: 0;
}

/* Header */
.header-cozy {
  background-color: #FF5757;
}

/* Ajustes responsivos */
@media (max-width: 991.98px) {
  .header-wave {
    height: 130px;
  }
}

@media (max-width: 575.98px) {
  .header-wave {
    height: 100px;
  }
}



.carousel-indicators [data-bs-target] {
  background-color: #FF5757;
}

.carousel-indicators .active {
  background-color: #cc2424; /* opcional: un tono más oscuro para el activo */
}

/* Flechas del carousel en gris #888 */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
.step-circle {
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  background-color: #FF5757; /* Rojo Cozyrise */
  color: #fff;
  font-weight: bold;
  font-size: 1.25rem;
}

.especial {
  background-color: #fafafa;
  background-image: repeating-linear-gradient(
    135deg,
    rgba(0,0,0,0.01) 0,   /* gris casi transparente */
    rgba(0,0,0,0.01) 20px,
    transparent 20px,
    transparent 40px
  );
}

