body { font-family: "Ubuntu", sans-serif; margin: 0; padding: 0; text-align: center; background-color: rgb(244 244 244); } /* Banner */ .banner { background-image: linear-gradient(rgb(0 0 0 / 69%), rgb(0 104 117 / 54%)), url('./img/banner.png'); background-size: contain; background-attachment: local; background-position: center; height: 400px; display: flex; justify-content: center; align-items: center; color: white; text-align: center; padding: 50px; margin: 1rem 2rem; border-radius: 20px; } .banner h1 { font-size: 40px; font-weight: 500; margin-bottom: 20px; } .banner p { font-size: 20px; font-weight: 300; margin-bottom: 30px; } .banner .btn-shop { background-color: #effdff; padding: 10px 20px; color: #14878b;; text-decoration: none; font-size: 18px; font-weight: 500; border-radius: 20px; transition: color 0.3s ease, transform 0.3s ease; /* Transición para color y transformación */ } .banner .btn-shop:hover { color: #03494c; transform: scale(1.1); /* Le da un pequeño efecto de aumento */ } main { max-width: 1200px; margin: 20px auto; padding: 20px 2rem; } h2 { font-weight: 500; color: #117079; margin-bottom: 1rem; } .combos-promos-wrapper { display: flex; flex-wrap: wrap; /* Por si el ancho es menor */ gap: 40px; justify-content: center; align-items: flex-start; } .irresi, .promos-section { flex: 1 1 400px; max-width: 500px; } .combos-section { padding: 10px 20px; text-align: center; font-family: inherit; } .combo-carousel { position: relative; max-width: 600px; aspect-ratio: 16 / 9; margin: 0 auto; overflow: hidden; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; border-radius: 20px; } .combo-slide { position: absolute; top: 0; left: 0; width: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s ease; } .combo-slide.active-slide { opacity: 1; z-index: 2; } .combo-dots { margin-top: 20px; display: flex; justify-content: center; gap: 10px; } .combo-dot { width: 12px; height: 12px; border-radius: 50%; background-color: #a0c2c7; cursor: pointer; transition: background-color 0.3s; } .combo-dot.active-dot { background-color: #074d57; } /* Promo cards responsive */ .promo-carousel { position: relative; width: 100%; max-width: 600px; margin: 0 auto; overflow: hidden; height: 120px; } .promo-card { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #117079; color: white; border-radius: 20px; padding: 20px; font-size: 18px; font-weight: 500; display: flex; align-items: center; justify-content: center; transition: opacity 0.5s ease; opacity: 0; text-align: center; } .promo-card.active { opacity: 1; z-index: 2; } /* Responsive ajustes */ @media (max-width: 768px) { .promo-card { min-height: 120px; font-size: 16px; padding: 16px; } .combos-promos-wrapper { display: flex; flex-wrap: wrap; } } .code { background-color: #ffffff; color: #117079; padding: 4px 8px; border-radius: 5px; font-family: inherit; margin-left: 6px; } .dots { margin-top: 20px; display: flex; justify-content: center; gap: 10px; } .dot { width: 12px; height: 12px; border-radius: 50%; background-color: #a0c2c7; cursor: pointer; transition: background-color 0.3s; } .active-dot { background-color: #074d57; } .video-nosotros { padding: 60px 20px; } .video-contenido { display: flex; flex-direction: column; max-width: 900px; margin: 0 auto; gap: 20px; } .video-texto { flex: 1; text-align: center; } .video-texto p { font-size: 1em; color: #117079; line-height: 1.5; } .video-container { flex: 1; width: 100%; } /* MÓVIL: relación 16:9 clásica */ @media (max-width: 767px) { .video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; } .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } } /* ESCRITORIO: altura fija y natural */ @media (min-width: 768px) { .video-contenido { flex-direction: row; align-items: center; } .video-container iframe { width: 100%; height: 300px; /* puedes ajustar esta altura */ border-radius: 8px; border: none; } } .beneficios { padding: 60px 20px; background: #117079; border-radius: 20px; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; text-align: center; } .beneficios h2 { color: white; margin-bottom: 40px; } .beneficios-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; } .beneficios i { padding: 1rem; font-size: 2rem; background: white; border-radius: 50px; color: #117079; } .beneficio img { width: 60px; margin-bottom: 15px; } .beneficio h3 { margin: 10px 0; font-weight: 500; color: white; } .beneficio p { font-size: 0.95em; color: white; } .galeria { text-align: center; padding: 60px 20px; } .carrusel { position: relative; max-width: 700px; margin: 0 auto; overflow: hidden; } .carrusel-imagenes { display: flex; transition: transform 0.4s ease-in-out; width: 100%; } .carrusel-img { min-width: 100%; height: auto; display: none; border-radius: 20px; box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; } .carrusel-img.activa { display: block; } .flecha { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.4); color: white; border: none; font-size: 2em; padding: 10px 15px; cursor: pointer; z-index: 2; border-radius: 5px; } .flecha.izquierda { left: 10px; } .flecha.derecha { right: 10px; } .indicadores { margin-top: 15px; } .punto { height: 12px; width: 12px; margin: 0 5px; background-color: #a0c2c7; display: inline-block; border-radius: 50%; cursor: pointer; } .punto.activo { background-color: #074d57; } .newsletter-section { padding: 50px 20px; text-align: center; font-family: inherit; } .newsletter-section p { font-size: 18px; color: #117079; margin-bottom: 20px; } .newsletter-form { display: flex; flex-direction: column; gap: 10px; max-width: 400px; margin: 0 auto; } .newsletter-form input { padding: 12px; border: 2px solid #117079; font-family: inherit; color: #117079; border-radius: 8px; font-size: 15px; } .newsletter-form input:focus { outline: none; } .newsletter-form button { padding: 12px; background-color: #117079; font-family: inherit; color: white; font-size: 16px; border: none; border-radius: 20px; cursor: pointer; transition: background 0.3s; box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px; } .newsletter-form button:hover { background-color:rgb(16, 132, 150); } .newsletter-msg { margin-top: 15px; color: green; font-weight: 500; } /* 4. FAQ */ .faq-section { padding: 50px 20px; max-width: 800px; margin: auto; } .faq-item { margin-bottom: 20px; } .faq-question { cursor: pointer; padding: 15px; color: white; background: #117079; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; font-weight: 500; position: relative; transition: background 0.3s; } .faq-question:hover { background: #135c66; } .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.5s ease; padding: 0 15px; color: #117079; } .faq-item.active .faq-answer { max-height: 200px; padding: 15px; } /* Animaciones */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsividad para pantallas pequeñas */ @media (max-width: 768px) { .banner { background-size: cover; height: auto; } .banner h1 { font-size: 1.5rem; } .banner p { font-size: 1rem; } }