serviciosdebombas24hs.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://unpkg.com/[email protected]/dist/aos.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.csshttps://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap:root {
--rojo: #e10600;
--rojo-oscuro: #c10500;
--rojo-suave: rgba(225, 6, 0, 0.08);
--negro: #111111;
--gris-oscuro: #2d2d2d;
--gris: #6b7280;
--gris-claro: #f3f4f6;
--blanco: #ffffff;
--sombra: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
--sombra-hover: 0 20px 45px -10px rgba(0, 0, 0, 0.15), 0 10px 15px -8px rgba(0, 0, 0, 0.15);
--transicion: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 80px;
overflow-x: hidden;
width: 100%;
}
body {
color: var(--negro);
background: var(--blanco);
font-family: 'Inter', system-ui, -apple-system, sans-serif;
line-height: 1.6;
overflow-x: hidden;
width: 100%;
position: relative;
}
/* Tipografía mejorada */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
font-weight: 800;
line-height: 1.2;
margin-bottom: 1rem;
letter-spacing: -0.025em;
}
.lead {
font-size: 1.25rem;
font-weight: 400;
color: var(--gris);
}
/* Navbar mejorada */
.navbar {
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
transition: var(--transicion);
padding-top: 0.75rem;
padding-bottom: 0.75rem;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
}
.navbar.scrolled {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
.navbar .nav-link {
font-weight: 500;
padding: 0.5rem 1rem;
position: relative;
color: var(--gris-oscuro);
transition: var(--transicion);
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
color: var(--rojo);
}
.navbar .nav-link:after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 1rem;
background-color: var(--rojo);
transition: width 0.3s ease;
}
.navbar .nav-link:hover:after,
.navbar .nav-link.active:after {
width: calc(100% - 2rem);
}
.brand-small {
font-size: .72rem;
letter-spacing: .18em;
color: var(--gris);
text-transform: uppercase;
font-weight: 500;
}
/* Logo más grande en navbar */
.navbar-brand img {
height: 60px !important;
width: auto;
}
/* Hero section mejorada */
.hero {
padding: 8rem 0 6rem;
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image:
radial-gradient(circle at 15% 50%, rgba(225, 6, 0, 0.08) 0%, transparent 25%),
radial-gradient(circle at 85% 30%, rgba(225, 6, 0, 0.05) 0%, transparent 25%);
z-index: 0;
}
.hero-content {
position: relative;
z-index: 2;
}
.badge-24 {
background: linear-gradient(135deg, var(--rojo) 0%, var(--rojo-oscuro) 100%);
color: var(--blanco);
font-weight: 700;
letter-spacing: .06em;
padding: 0.6em 1.2em;
display: inline-flex;
align-items: center;
border-radius: 50px;
box-shadow: 0 4px 14px rgba(225, 6, 0, 0.4);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); box-shadow: 0 4px 14px rgba(225, 6, 0, 0.4); }
50% { transform: scale(1.05); box-shadow: 0 6px 20px rgba(225, 6, 0, 0.5); }
100% { transform: scale(1); box-shadow: 0 4px 14px rgba(225, 6, 0, 0.4); }
}
.feature-icon {
width: 60px;
height: 60px;
border-radius: 16px;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--blanco);
box-shadow: var(--sombra);
transition: var(--transicion);
color: var(--rojo);
font-size: 1.5rem;
}
.feature-icon:hover {
transform: translateY(-5px);
box-shadow: var(--sombra-hover);
color: var(--rojo-oscuro);
}
/* Secciones mejoradas */
section {
padding: 6rem 0;
position: relative;
}
section:nth-of-type(even) {
background: var(--gris-claro);
}
.section-title {
font-weight: 800;
letter-spacing: -0.025em;
position: relative;
display: inline-block;
color: var(--negro);
}
.section-title:after {
content: '';
position: absolute;
bottom: -12px;
left: 0;
width: 60px;
height: 4px;
background: var(--rojo);
border-radius: 2px;
}
.section-title.text-center:after {
left: 50%;
transform: translateX(-50%);
}
/* Tarjetas de servicio mejoradas */
.service-card {
border: 1px solid #e5e7eb;
border-radius: 20px;
padding: 2rem;
background: var(--blanco);
box-shadow: var(--sombra);
transition: var(--transicion);
height: 100%;
position: relative;
overflow: hidden;
}
.service-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 0;
background: linear-gradient(to bottom, var(--rojo), var(--rojo-oscuro));
transition: height 0.4s ease;
}
.service-card:hover {
transform: translateY(-10px);
box-shadow: var(--sombra-hover);
border-color: transparent;
}
.service-card:hover::before {
height: 100%;
}
.btn-rojo {
background: linear-gradient(135deg, var(--rojo) 0%, var(--rojo-oscuro) 100%);
color: var(--blanco);
border: none;
font-weight: 600;
padding: 0.875rem 2rem;
border-radius: 12px;
transition: var(--transicion);
box-shadow: 0 4px 14px rgba(225, 6, 0, 0.4);
}
.btn-rojo:hover {
background: linear-gradient(135deg, var(--rojo-oscuro) 0%, #a50400 100%);
color: var(--blanco);
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(225, 6, 0, 0.5);
}
.btn-outline-rojo {
border: 2px solid var(--rojo);
color: var(--rojo);
font-weight: 600;
padding: 0.875rem 2rem;
border-radius: 12px;
transition: var(--transicion);
background: transparent;
}
.btn-outline-rojo:hover {
background: var(--rojo);
color: var(--blanco);
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(225, 6, 0, 0.25);
}
.divider {
height: 1px;
background: linear-gradient(to right, transparent, #e5e7eb, transparent);
margin: 2rem 0;
}
/* Formulario mejorado */
.form-control {
padding: 0.875rem 1.25rem;
border-radius: 12px;
border: 1px solid #e5e7eb;
transition: var(--transicion);
font-size: 1rem;
}
.form-control:focus {
border-color: var(--rojo);
box-shadow: 0 0 0 3px rgba(225, 6, 0, 0.15);
}
/* Galería mejorada */
.gallery-wrap {
position: relative;
overflow: hidden;
background: var(--blanco);
border-top: 1px solid #e5e7eb;
border-bottom: 1px solid #e5e7eb;
}
.gallery-track {
display: flex;
align-items: center;
gap: 1.5rem;
padding: 1.5rem;
width: max-content;
animation: galleryScroll 40s linear infinite;
will-change: transform;
}
.gallery-wrap:hover .gallery-track {
animation-play-state: paused;
}
.gallery-item {
flex: 0 0 auto;
width: clamp(220px, 35vw, 400px);
aspect-ratio: 1 / 1;
border-radius: 16px;
/* ...cortado... */
vuelveamilado.com
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.csshttps://unpkg.com/[email protected]/dist/aos.csshttps://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap:root {
--primary: #ff4d8d;
--primary-dark: #c2185b;
--primary-light: #ffe6f0;
--secondary: #6c757d;
--light: #f8f9fa;
--dark: #212529;
--gradient: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
--shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
--transition: all 0.3s ease;
}
body {
font-family: 'Montserrat', sans-serif;
color: var(--dark);
line-height: 1.7;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Playfair Display', serif;
font-weight: 600;
color: var(--dark);
}
a {
text-decoration: none;
transition: var(--transition);
}
/* Navbar */
.navbar {
background-color: white;
box-shadow: 0 2px 30px rgba(0, 0, 0, 0.08);
padding: 15px 0;
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
transition: var(--transition);
}
.navbar.scrolled {
padding: 10px 0;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}
.navbar-brand {
font-weight: 700;
color: var(--primary-dark) !important;
font-size: 1.5rem;
display: flex;
align-items: center;
gap: 10px;
}
.navbar-brand img {
transition: var(--transition);
}
.navbar.scrolled .navbar-brand img {
height: 30px;
}
.nav-link {
color: var(--dark) !important;
font-weight: 500;
padding: 8px 15px !important;
margin: 0 5px;
position: relative;
}
.nav-link:before {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 0;
background-color: var(--primary);
visibility: hidden;
transition: var(--transition);
}
.nav-link:hover:before,
.nav-link.active:before {
visibility: visible;
width: 100%;
}
.nav-link:hover,
.nav-link.active {
color: var(--primary) !important;
}
/* Hero Section */
.hero {
background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)), url('img/hero.png') center/cover no-repeat fixed;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
color: white;
position: relative;
padding-top: 80px;
}
.hero h1 {
font-size: 3.5rem;
margin-bottom: 20px;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
animation: fadeInUp 1s ease;
}
.hero p {
font-size: 1.2rem;
max-width: 700px;
margin: 0 auto 30px;
animation: fadeInUp 1s ease 0.2s forwards;
opacity: 0;
}
.btn-hero {
background: var(--gradient);
color: white;
border: none;
padding: 12px 30px;
font-weight: 600;
border-radius: 50px;
box-shadow: 0 5px 15px rgba(194, 24, 91, 0.4);
transition: var(--transition);
animation: fadeInUp 1s ease 0.4s forwards;
opacity: 0;
}
.btn-hero:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(194, 24, 91, 0.5);
color: white;
}
/* About Section */
.about {
padding: 100px 0;
background-color: white;
}
.section-title {
text-align: center;
margin-bottom: 60px;
}
.section-title h2 {
font-size: 2.5rem;
position: relative;
display: inline-block;
padding-bottom: 15px;
}
.section-title h2:after {
content: '';
position: absolute;
width: 70px;
height: 3px;
background: var(--gradient);
bottom: 0;
left: 50%;
transform: translateX(-50%);
}
.about-card {
background: white;
border-radius: 15px;
padding: 30px;
box-shadow: var(--shadow);
transition: var(--transition);
height: 100%;
border-top: 4px solid var(--primary);
}
.about-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}
.about-card h4 {
color: var(--primary-dark);
margin-bottom: 20px;
position: relative;
padding-bottom: 10px;
}
.about-card h4:after {
content: '';
position: absolute;
width: 40px;
height: 2px;
background: var(--primary);
bottom: 0;
left: 0;
}
/* Services Section */
.services {
padding: 100px 0;
background-color: var(--primary-light);
}
.service-card {
background: white;
border-radius: 15px;
padding: 40px 30px;
text-align: center;
box-shadow: var(--shadow);
transition: var(--transition);
margin-bottom: 30px;
height: 100%;
}
.service-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}
.service-icon {
font-size: 3rem;
color: var(--primary);
margin-bottom: 20px;
display: inline-block;
background: var(--primary-light);
width: 90px;
height: 90px;
line-height: 90px;
border-radius: 50%;
transition: var(--transition);
}
.service-card:hover .service-icon {
background: var(--gradient);
color: white;
transform: rotateY(180deg);
}
.service-card h5 {
margin-bottom: 15px;
font-weight: 600;
}
/* Gallery Section */
.gallery {
padding: 100px 0;
background: white;
overflow: hidden;
}
.ticker-wrapper {
position: relative;
overflow: hidden;
padding: 50px 0;
}
.ticker-track {
display: flex;
gap: 30px;
width: max-content;
animation: ticker 30s linear infinite;
}
.ticker-track img {
width: 300px;
height: 200px;
object-fit: cover;
border-radius: 15px;
border: 4px solid white;
box-shadow: var(--shadow);
transition: var(--transition);
}
.ticker-track img:hover {
transform: scale(1.05);
}
@media (max-width: 576px) {
.hero .btn {
padding: 8px 16px !important;
font-size: 0.9rem !important;
border-radius: 30px !important;
}
.hero .btn i {
font-size: 1rem !important;
}
}
@keyframes ticker {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
/* Contact Section */
.contact {
padding: 100px 0;
background: var(--primary-light);
}
.chat-container {
background: white;
border-radius: 15px;
overflow: hidden;
box-shadow: var(--shadow);
height: 100%;
}
.chat-header {
background: var(--gradient);
color: white;
padding: 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
.chat-header .status {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.9rem;
}
.status-dot {
width: 10px;
height: 10px;
background: #4ade80;
border-radius: 50%;
animation: pulse 1.5s infinite;
}
.chat-body {
background: #f0f2f5;
padding: 20px;
height: 430px;
overflow-y: auto;
}
.message {
max-width: 70%;
padding: 10px 15px;
border-radius: 18px;
margin-bottom: 15px;
position: relative;
animation: fadeIn 0.5s ease;
}
.received {
background: white;
border-top-left-radius: 5p
/* ...cortado... */
.chat-input-container {
display: flex;
gap: 10px;
padding: 15px;
background: white;
border-top: 1px solid #e0e0e0;
}
.chat-input {
flex: 1;
border-radius: 20px;
padding: 10px 15px;
border: 1px solid #e0e0e0;
}
.chat-send-btn {
width: 40px;
height: 40px;
border-radius: 50%;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
}
.chat-footer {
background: #f5f5f5;
border-top: 1px solid #e0e0e0;
}
.whatsapp-btn {
background: #25D366;
border: none;
padding: 10px 20px;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}
.whatsapp-btn:hover {
background: #128C7E;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(37, 211, 102, 0.3);
}
.floating-btn {
position: fixed;
right: 30px;
width: 50px;
height: 50px;
border-radius: 50%;
font-size: 1.3rem;
color: white;
display: flex;
align-items: center;
justify-content: center;
z-index: 999;
transition: 0.3s ease;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}
.floating-btn:hover {
transform: scale(1.1) translateY(-3px);
}
.floating-btn.ig {
bottom: 110px;
background: #E1306C;
}
.floating-btn.fb {
bottom: 170px;
background: #3b5998;
}
.floating-btn.wp {
bottom: 50px;
background: #25D366;
}
demo-bar-1
https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Orbitron:wght@500&family=Press+Start+2P&display=swap:root {
--primary-color: #ff00c1;
--secondary-color: #00f0ff;
--accent-color: #ff3e9d;
--text-color: #ffffff;
--dark-bg: #0f0f1a;
--neon-glow: 0 0 10px var(--primary-color),
0 0 20px var(--secondary-color),
0 0 30px rgba(255, 62, 157, 0.5);
}
html, body {
margin: 0;
padding: 0;
height: 100%;
background: linear-gradient(135deg, #0f0c29 0%, #1a1a3e 50%, #24243e 100%);
font-family: 'Montserrat', sans-serif;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
color: var(--text-color);
overflow-x: hidden;
position: relative;
}
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
linear-gradient(rgba(255, 0, 193, 0.1) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 0, 193, 0.1) 1px, transparent 1px);
background-size: 20px 20px;
z-index: -1;
opacity: 0.5;
}
body.fade-in {
animation: fadeIn 1s ease-out forwards;
}
body.fade-out {
animation: fadeOut 1s ease-out forwards;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; }
}
.title {
font-family: 'Press Start 2P', 'Orbitron', sans-serif;
font-size: 2.5rem;
margin-bottom: 1.5rem;
text-transform: uppercase;
letter-spacing: 3px;
color: var(--text-color);
text-shadow: var(--neon-glow);
position: relative;
padding: 15px;
border: 2px solid var(--secondary-color);
box-shadow: inset 0 0 15px var(--primary-color), 0 0 15px var(--secondary-color);
background: rgba(15, 15, 26, 0.7);
}
.title::after {
content: 'â–¼';
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
color: var(--secondary-color);
font-size: 1rem;
animation: bounce 2s infinite;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {transform: translateY(0) translateX(-50%);}
40% {transform: translateY(-10px) translateX(-50%);}
60% {transform: translateY(-5px) translateX(-50%);}
}
.video-container {
position: relative;
max-width: 90%;
max-height: 70vh;
border-radius: 5px;
overflow: hidden;
box-shadow: 0 0 30px rgba(106, 17, 203, 0.5);
margin-bottom: 2rem;
border: 1px solid var(--primary-color);
transition: all 0.5s ease;
}
.video-container:hover {
box-shadow: 0 0 50px rgba(255, 0, 193, 0.7);
transform: scale(1.01);
}
.video-container.fade-out {
opacity: 0;
transform: scale(0.9);
}
video {
max-width: 100%;
max-height: 100%;
display: block;
filter: hue-rotate(0deg) saturate(1.2);
transition: filter 0.5s ease;
}
.video-container:hover video {
filter: hue-rotate(10deg) saturate(1.5);
}
.buttons-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin-top: 20px;
perspective: 1000px;
}
.boton {
padding: 14px 30px;
font-size: 1rem;
font-weight: 600;
color: white;
background: linear-gradient(45deg, var(--primary-color) 0%, var(--secondary-color) 100%);
border: none;
border-radius: 0;
cursor: pointer;
text-decoration: none;
transition: all 0.4s ease;
box-shadow: 0 4px 15px rgba(37, 117, 252, 0.3);
min-width: 200px;
text-align: center;
position: relative;
overflow: hidden;
font-family: 'Orbitron', sans-serif;
letter-spacing: 1px;
text-transform: uppercase;
clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0% 50%);
}
.boton:hover {
transform: translateY(-3px) rotateX(15deg);
box-shadow: 0 10px 25px rgba(255, 0, 193, 0.6);
text-shadow: 0 0 5px white;
}
.boton:active {
transform: translateY(1px);
}
.boton::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
to bottom right,
transparent 45%,
rgba(255, 255, 255, 0.3) 50%,
transparent 55%
);
transform: rotate(30deg);
transition: all 0.5s ease;
}
.boton:hover::before {
left: 100%;
}
/* Overlay vaporwave/post-punk mejorado */
#redirect-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(15, 15, 26, 0.85); /* Más transparente */
backdrop-filter: blur(5px); /* Efecto de desenfoque */
color: white;
display: none;
justify-content: center;
align-items: center;
font-size: 1.5rem;
z-index: 9999;
text-align: center;
padding: 20px;
opacity: 0;
transition: opacity 0.8s ease;
flex-direction: column;
font-family: 'Press Start 2P', cursive;
}
#redirect-overlay.active {
display: flex;
opacity: 1;
}
#redirect-overlay::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
linear-gradient(rgba(255, 0, 193, 0.1) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 0, 193, 0.1) 1px, transparent 1px);
background-size: 20px 20px;
opacity: 0.5;
}
.redirect-content {
position: relative;
z-index: 2;
text-align: center;
width: 80%;
max-width: 500px;
}
.redirect-text {
margin-bottom: 30px;
text-shadow: 0 0 10px var(--secondary-color);
font-size: 1.2rem;
position: relative;
}
.redirect-text span {
color: var(--secondary-color);
animation: glitch 1s linear infinite;
}
@keyframes glitch {
0% {
text-shadow: 0.05em 0 0 var(--primary-color), -0.05em -0.025em 0 var(--secondary-color);
}
14% {
text-shadow: 0.05em 0 0 var(--primary-color), -0.05em -0.025em 0 var(--secondary-color);
}
15% {
text-shadow: -0.05em -0.025em 0 var(--primary-color), 0.025em 0.025em 0 var(--secondary-color);
}
49% {
text-shadow: -0.05em -0.025em 0 var(--primary-color), 0.025em 0.025em 0 var(--secondary-color);
}
50% {
text-shadow: 0.025em 0.05em 0 var(--primary-color), 0.05em 0 0 var(--secondary-color);
}
99% {
text-shadow: 0.025em 0.05em 0 var(--primary-color), 0.05em 0 0 var(--secondary-color);
}
100% {
text-shadow: -0.025em 0 0 var(--primary-color), -0.025em -0.025em 0 var(--secondary-color);
}
}
/* Barra de progreso mejorada */
.loading-container {
width: 100%;
max-width: 400px;
margin: 20px 0;
}
.loading-bar {
width: 100%;
height: 8px;
background: rgba(255, 255, 255, 0.1);
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5);
}
.loading-progress {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
box-shadow: 0 0 10px var(--primary-color);
transition: width 0.3s ease-out;
}
.progress-percentage {
font-famil
/* ...cortado... */
#btnCerrarSesion {
background: linear-gradient(45deg, #ff00ff, #00ffff);
border: none;
color: white;
padding: 10px 20px;
text-transform: uppercase;
font-family: 'Courier New', monospace;
font-weight: bold;
letter-spacing: 2px;
border-radius: 0;
box-shadow: 0 0 10px rgba(255, 0, 255, 0.7),
0 0 20px rgba(0, 255, 255, 0.5);
text-shadow: 0 0 5px #fff;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
#btnCerrarSesion:hover {
background: linear-gradient(45deg, #00ffff, #ff00ff);
box-shadow: 0 0 15px rgba(255, 0, 255, 0.9),
0 0 25px rgba(0, 255, 255, 0.7);
transform: translateY(-2px);
}
#btnCerrarSesion::before {
content: "";
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
to bottom right,
rgba(255, 255, 255, 0.3) 0%,
rgba(255, 255, 255, 0) 60%
);
transform: rotate(30deg);
}
#btnCerrarSesion:hover::before {
animation: shine 1.5s infinite;
}
@keyframes shine {
0% {
left: -50%;
}
100% {
left: 150%;
}
}
<style>
/* Modal más pequeño y compacto */
#loginModal .modal-dialog {
max-width: 320px;
margin: 2rem auto; /* un poco más abajo */
}
/* Fondo oscuro translúcido */
#loginModal .modal-content {
background: transparent;
backdrop-filter: blur(8px);
border: none;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
overflow: hidden;
position: relative;
}
/* Borde fino blanco */
#loginModal .modal-content::after {
content: '';
position: absolute;
inset: 0;
border-radius: 10px;
padding: 0.5px;
background: rgba(255, 255, 255, 0.15);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
/* Header más bajo y sin botón de cerrar */
#loginModal .modal-header {
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
padding: 0.75rem 1rem;
}
#loginModal .modal-title {
color: white;
font-size: 1rem;
font-weight: 500;
margin: 0 auto;
}
/* Ocultamos el botón cerrar (X) */
#loginModal .btn-close {
display: none;
}
/* Cuerpo del modal compacto */
#loginModal .modal-body {
padding: 1rem;
}
#loginModal .form-control {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.1);
color: white;
border-radius: 6px;
padding: 8px 12px;
margin-bottom: 0.8rem;
font-size: 0.9rem;
}
#loginModal .btn-login {
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
color: white;
border-radius: 6px;
padding: 8px 0;
font-size: 0.9rem;
width: 100%;
transition: all 0.2s ease;
}
#loginModal .btn-login:hover {
background: rgba(255, 255, 255, 0.15);
}
cateringbenitez.com.ar
https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Montserrat:wght@300;400;500;600;700;800&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.csshttps://unpkg.com/[email protected]/dist/aos.css:root {
--negro: #0B0B0B;
--negro-2: #121212;
--crema: #F6EBDD;
--crema-2: #E8DBC5;
--blanco: #FFFFFF;
--azul: #0D1B2A;
--azul-2: #1B263B;
--dorado: #C8A047;
--dorado-2: #D4B15F;
--dorado-3: #E3C477;
--dorado-claro: rgba(200, 160, 71, 0.1);
--acento: #1F6FEB;
--ticker-img-size: 500px;
--font-serif: 'Playfair Display', serif;
--font-sans: 'Montserrat', sans-serif;
}
html, body {
background: var(--negro);
color: var(--blanco);
scroll-behavior: smooth;
overflow-x: hidden;
}
body {
font-family: var(--font-sans);
line-height: 1.6;
position: relative;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-serif);
font-weight: 700;
letter-spacing: 0.5px;
}
a {
color: inherit;
text-decoration: none;
transition: all 0.3s ease;
}
a:hover {
color: var(--dorado);
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
background: var(--negro-2);
}
::-webkit-scrollbar-thumb {
background: var(--dorado);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--dorado-2);
}
/* Navbar - Premium */
.navbar {
background: rgba(13, 27, 42, 0.98) !important;
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(200, 160, 71, 0.3);
padding: 15px 0;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.navbar.scrolled {
padding: 10px 0;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}
.brand-mark {
font-family: var(--font-serif);
font-weight: 800;
font-size: 1.5rem;
letter-spacing: 0.5px;
position: relative;
}
.brand-dot {
color: var(--dorado);
}
.nav-link {
font-weight: 600;
padding: 0.5rem 1rem;
position: relative;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 1rem;
width: 0;
height: 2px;
background: var(--dorado);
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: calc(100% - 2rem);
}
.btn-cta {
background: linear-gradient(45deg, var(--dorado), var(--dorado-3));
color: var(--negro);
border: none;
font-weight: 700;
padding: 0.8rem 1.5rem;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(200, 160, 71, 0.3);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
z-index: 1;
}
.btn-cta::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(45deg, var(--dorado-2), var(--dorado-3));
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}
.btn-cta:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(200, 160, 71, 0.4);
color: var(--negro);
}
.btn-cta:hover::before {
opacity: 1;
}
/* Hero Section - Ultra Premium */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
padding-top: 80px;
background:
radial-gradient(1200px 600px at 20% -10%, rgba(200, 160, 71, 0.15), transparent 60%),
radial-gradient(1200px 600px at 120% 110%, rgba(31, 111, 235, 0.12), transparent 60%),
linear-gradient(180deg, rgba(13, 27, 42, 0.9), rgba(11, 11, 11, 0.98));
}
.hero::before {
content: "";
position: absolute;
inset: -20% -10% auto auto;
width: 60vmax;
height: 60vmax;
border-radius: 50%;
background: radial-gradient(circle at 30% 30%, rgba(248, 240, 227, 0.15), transparent 40%);
filter: blur(60px);
opacity: 0.6;
pointer-events: none;
animation: float 8s ease-in-out infinite;
}
.hero::after {
content: "";
position: absolute;
inset: 30% -30% auto auto;
width: 40vmax;
height: 40vmax;
border-radius: 50%;
background: radial-gradient(circle at 70% 30%, rgba(31, 111, 235, 0.1), transparent 50%);
filter: blur(40px);
opacity: 0.4;
pointer-events: none;
animation: float 6s ease-in-out 2s infinite reverse;
}
.hero h1 {
font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
font-weight: 800;
line-height: 1.1;
margin-bottom: 1.5rem;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
position: relative;
display: inline-block;
}
.hero h1::after {
content: '';
position: absolute;
bottom: -10px;
left: 0;
width: 100px;
height: 4px;
background: var(--dorado);
border-radius: 2px;
}
.hero p.lead {
color: var(--crema-2);
font-size: 1.2rem;
max-width: 600px;
margin-bottom: 2rem;
}
.badge-pill {
background: rgba(200, 160, 71, 0.2);
color: var(--crema);
border: 1px solid rgba(200, 160, 71, 0.4);
border-radius: 2rem;
padding: 0.5rem 1rem;
margin-right: 0.5rem;
margin-bottom: 0.5rem;
font-weight: 600;
display: inline-flex;
align-items: center;
transition: all 0.3s ease;
}
.badge-pill:hover {
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
background: rgba(200, 160, 71, 0.3);
}
.badge-pill i {
margin-right: 0.3rem;
font-size: 0.9rem;
}
.hero-ctas .btn {
padding: 1rem 1.8rem;
border-radius: 12px;
font-weight: 700;
transition: all 0.3s ease;
}
.hero-ctas .btn-light {
background: rgba(255, 255, 255, 0.9);
color: var(--negro);
border: none;
box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}
.hero-ctas .btn-light:hover {
background: var(--blanco);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);
}
.hero-image-container {
position: relative;
perspective: 1000px;
}
.hero-image {
border-radius: 20px;
transform-style: preserve-3d;
box-shadow: 0 30px 50px rgba(0, 0, 0, 0.4);
transition: transform 0.5s ease;
border: 2px solid rgba(200, 160, 71, 0.3);
}
.hero-image-container:hover .hero-image {
transform: rotateY(5deg) rotateX(2deg) translateY(-5px);
}
.hero-image-container::before {
content: '';
position: absolute;
top: -20px;
left: -20px;
width: 100%;
height: 100%;
border: 2px solid var(--dorado);
border-radius: 20px;
z-index: -1;
opacity: 0.5;
transition: all 0.5s ease;
}
.hero-image-container:hover::before {
top: -15px;
left: -15px;
}
/* Section Styles */
.section {
padding: 100px 0;
position: relative;
}
.section-title {
font-weight: 800;
letter-spacing: 0.5px;
position: relative;
display: inline-block;
margin-bottom: 1.5rem;
}
.section-title::after {
content: '';
position: absolute;
bottom: -10px;
left: 0;
width: 60px;
height: 4px;
background: var(--dorado);
border-radius: 2px;
}
.section-sub {
color: var(--crema-2);
font-size: 1.2rem;
max-width: 700px;
margin: 0
/* ...cortado... */
/* Ajusta el ancho de cada campo en desktop */
@media (min-width: 992px) {
.contact-card .form-control,
.contact-card .form-select,
.contact-card textarea {
min-width: 220px;
}
.contact-card .form-label {
white-space: nowrap;
}
.contact-card .form-group {
display: flex;
align-items: center;
gap: .5rem;
margin-bottom: .5rem;
}
}
camisetasmania.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.csshttps://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Montserrat:wght@700;800&display=swaphttps://cdn.jsdelivr.net/npm/[email protected]/animate.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css:root {
--primary: #6a5acd; /* Violeta principal */
--primary-light: #8a7aff; /* Violeta claro */
--secondary: #1f8ef1; /* Azul acento */
--accent: #ff6b6b; /* Rojo coral */
--dark: #1a1a2e; /* Azul oscuro */
--text: #2d3748; /* Texto principal */
--text-light: #718096; /* Texto secundario */
--bg-light: #f8fafc; /* Fondo claro */
--bg-soft: #f0f4f8; /* Fondo suave */
--radius: 20px; /* Radio de bordes */
--shadow: 0 12px 24px rgba(0,0,0,0.08);
--shadow-lg: 0 20px 40px rgba(0,0,0,0.12);
--transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
html {
scroll-behavior: smooth;
overflow-x: hidden;
}
body {
font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: var(--text);
background: #fff;
line-height: 1.6;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Montserrat", sans-serif;
font-weight: 700;
line-height: 1.2;
}
/* Navbar moderna */
.navbar {
padding: 1rem 0;
background: rgba(255, 255, 255, 0.98) !important;
backdrop-filter: blur(10px);
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
transition: var(--transition);
}
.navbar.scrolled {
padding: 0.5rem 0;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}
.navbar-brand {
font-weight: 800;
font-size: 1.5rem;
color: var(--primary) !important;
display: flex;
align-items: center;
gap: 0.5rem;
}
.navbar-brand i {
color: var(--secondary);
}
.nav-link {
font-weight: 500;
color: var(--text) !important;
padding: 0.5rem 1rem !important;
position: relative;
transition: var(--transition);
}
.nav-link:hover {
color: var(--primary) !important;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 1rem;
width: 0;
height: 2px;
background: var(--primary);
transition: var(--transition);
}
.nav-link:hover::after {
width: calc(100% - 2rem);
}
.btn-whatsapp {
background: linear-gradient(135deg, #25D366, #128C7E);
color: white !important;
font-weight: 600;
border-radius: 50px;
padding: 0.5rem 1.5rem;
transition: var(--transition);
box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}
.btn-whatsapp:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(37, 211, 102, 0.4);
}
/* Hero section con gradiente moderno */
.hero {
background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(246,248,255,1) 100%);
padding: 120px 0 80px;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 80%;
height: 200%;
background: radial-gradient(circle, rgba(106,90,205,0.08) 0%, rgba(255,255,255,0) 70%);
z-index: 0;
}
.hero::after {
content: '';
position: absolute;
bottom: -50%;
left: -20%;
width: 80%;
height: 200%;
background: radial-gradient(circle, rgba(31,142,241,0.08) 0%, rgba(255,255,255,0) 70%);
z-index: 0;
}
.hero-content {
position: relative;
z-index: 1;
}
.hero h1 {
font-size: 3.5rem;
font-weight: 800;
margin-bottom: 1.5rem;
line-height: 1.1;
background: linear-gradient(90deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
.hero .lead {
font-size: 1.25rem;
color: var(--text-light);
max-width: 600px;
}
.hero-badge {
background: rgba(106, 90, 205, 0.1);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 50px;
font-weight: 600;
display: inline-block;
margin-bottom: 1.5rem;
backdrop-filter: blur(5px);
border: 1px solid rgba(106, 90, 205, 0.2);
}
.hero-cta .btn {
border-radius: 50px;
padding: 0.75rem 1.75rem;
font-weight: 600;
transition: var(--transition);
}
.hero-cta .btn-lg {
padding: 1rem 2rem;
}
.btn-primary {
background: linear-gradient(135deg, var(--primary), var(--primary-light));
border: none;
box-shadow: 0 4px 15px rgba(106, 90, 205, 0.3);
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(106, 90, 205, 0.4);
}
.btn-outline-primary {
border: 2px solid var(--primary);
color: var(--primary);
background: transparent;
}
.btn-outline-primary:hover {
background: var(--primary);
color: white;
}
.hero-mockup {
border-radius: var(--radius);
box-shadow: var(--shadow-lg);
background: white;
overflow: hidden;
transform: perspective(1000px) rotateY(-10deg);
transition: var(--transition);
border: 1px solid rgba(255, 255, 255, 0.2);
position: relative;
z-index: 1;
}
.hero-mockup:hover {
transform: perspective(1000px) rotateY(-5deg);
box-shadow: var(--shadow-lg);
}
.hero-mockup::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(106,90,205,0.1), rgba(31,142,241,0.1));
z-index: -1;
border-radius: var(--radius);
}
/* Secciones */
.section {
padding: 6rem 0;
position: relative;
}
.section-title {
font-size: 2.5rem;
font-weight: 800;
margin-bottom: 1rem;
position: relative;
display: inline-block;
}
.section-title::after {
content: '';
position: absolute;
bottom: -10px;
left: 0;
width: 60px;
height: 4px;
background: linear-gradient(90deg, var(--primary), var(--secondary));
border-radius: 2px;
}
.section-subtitle {
font-size: 1.1rem;
color: var(--text-light);
margin-bottom: 3rem;
max-width: 700px;
}
.bg-light {
background-color: var(--bg-light) !important;
}
/* Tarjetas modernas */
.card-soft {
background: white;
border: none;
border-radius: var(--radius);
box-shadow: var(--shadow);
transition: var(--transition);
overflow: hidden;
position: relative;
z-index: 1;
}
.card-soft:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-lg);
}
.card-soft::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, rgba(106,90,205,0.03), rgba(31,142,241,0.03));
z-index: -1;
}
.icon-box {
width: 60px;
height: 60px;
display: grid;
place-items: center;
border-radius: 16px;
background: linear-gradient(135deg, rgba(106,90,205,0.1), rgba(31,142,241,0.1));
color: var(--primary);
font-size: 1.5rem;
margin-bottom: 1.5rem;
transition: var(--transition);
}
.feature-card:hover .icon-box {
transform: rotate(10deg) scale(1.1);
background: linear-gradient(135deg, var(--primary), var(--primary-light));
color: white;
}
/* Productos grid */
.product-card {
border-radius: var(--radius);
p
/* ...cortado... */
:root{
--hero-bg: #0f1020;
--hero-grad-1: rgba(15,16,32,0.85);
--hero-grad-2: rgba(32,20,60,0.85);
}
.hero{
position: relative;
padding: clamp(60px, 8vw, 120px) 0;
background: radial-gradient(1200px 600px at 10% 10%, #2a2450 0%, #181530 40%, #0f1020 100%);
color: #fff;
overflow: hidden;
isolation: isolate; /* crea nuevo stacking-context */
}
/* Overlay que NO tapa botones ni textos */
.hero::before{
content:"";
position:absolute; inset:0;
background: linear-gradient(135deg, var(--hero-grad-1), var(--hero-grad-2));
z-index: 0; /* debajo del contenido */
pointer-events: none;
}
.hero .container{ position: relative; z-index: 2; }
.hero-mockup{ position: relative; z-index: 1; }
.hero-badge{
display:inline-flex; align-items:center; gap:.5rem;
background: rgba(255,255,255,.08);
border: 1px solid rgba(255,255,255,.15);
padding:.5rem .75rem; border-radius: 999px;
font-weight:600; font-size:.95rem;
backdrop-filter: blur(4px);
}
.hero h1{
margin-top:1rem; margin-bottom:.75rem;
font-weight:800; line-height:1.1;
letter-spacing:.2px;
}
.hero p.lead{
color:#e9e9ff;
max-width: 48ch;
}
.hero-cta .btn{
padding:.85rem 1.25rem;
border-width:2px;
}
/* Animación suave de la maqueta/logo */
@keyframes floatY{ 0%{transform: translateY(0)} 50%{transform: translateY(-10px)} 100%{transform: translateY(0)} }
.animate-float{ animation: floatY 6s ease-in-out infinite; }
/* Responsive tweaks */
@media (max-width: 991.98px){
.hero{ padding: 70px 0; text-align:center; }
.hero p.lead{ margin-inline:auto; }
.hero-cta .d-flex{ justify-content:center; }
.hero-mockup{ margin-top:30px; }
}
/* Efecto de gradiente personalizado */
.bg-gradient-primary {
background: linear-gradient(135deg, #3a7bd5 0%, #00d2ff 100%) !important;
}
.bg-gradient-secondary {
background: linear-gradient(135deg, #4776E6 0%, #8E54E9 100%) !important;
}
.bg-gradient-dark {
background: linear-gradient(135deg, #485563 0%, #29323c 100%) !important;
}
.text-gradient-primary {
background: -webkit-linear-gradient(45deg, #3a7bd5, #00d2ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Tipografía y espaciado premium */
.letter-spacing-2 {
letter-spacing: 2px;
}
.tracking-wide {
letter-spacing: 0.05em;
}
/* Cards de productos */
.card-product {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-product:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0,0,0,0.12) !important;
}
.card-header-product {
border-bottom: none !important;
}
/* Items de producto */
.product-item a {
transition: all 0.25s ease;
}
.product-item:hover a {
background-color: #f8f9fa;
}
.hover-lift:hover {
transform: translateY(-2px);
}
/* Badges destacados */
.badge.bg-primary-soft {
background-color: rgba(58, 123, 213, 0.1) !important;
}
/* Efecto de botón */
.btn.lift {
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn.lift:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(58, 123, 213, 0.3) !important;
}
/* Estilos generales */
:root {
--whatsapp-green: #25D366;
--whatsapp-dark: #075E54;
--whatsapp-light: #DCF8C6;
--whatsapp-blue: #34B7F1;
--text-dark: #4A4A4A;
--text-light: #757575;
--bg-white: #FFFFFF;
--bg-gray: #F0F0F0;
}
/* Contenedor principal */
.whatsapp-chat-container {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 9999;
font-family: 'Segoe UI', Helvetica, Arial, sans-serif;
}
/* Estado cerrado (botón flotante) */
.whatsapp-closed {
position: relative;
transition: all 0.3s ease;
}
.chat-button {
display: flex;
align-items: center;
justify-content: center;
width: 70px;
height: 70px;
border-radius: 50%;
background: var(--whatsapp-green);
box-shadow: 0 5px 15px rgba(37, 211, 102, 0.4);
color: white;
font-size: 36px;
position: relative;
cursor: pointer;
transition: all 0.3s ease;
animation: float 3s ease-in-out infinite;
}
.chat-button:hover {
transform: scale(1.1);
box-shadow: 0 8px 25px rgba(37, 211, 102, 0.6);
}
.notification-badge {
position: absolute;
top: -5px;
right: -5px;
background: #FF3B30;
color: white;
border-radius: 50%;
width: 25px;
height: 25px;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: bold;
animation: pulse 1.5s infinite;
}
.chat-pulse {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
background: rgba(37, 211, 102, 0.4);
animation: pulse 2s infinite;
z-index: -1;
}
/* Tooltip del chat cerrado */
.chat-tooltip {
position: absolute;
right: 90px;
top: 50%;
transform: translateY(-50%);
background: var(--bg-white);
color: var(--text-dark);
width: 250px;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
overflow: hidden;
}
.chat-header {
display: flex;
align-items: center;
padding: 12px;
background: var(--whatsapp-dark);
color: white;
position: relative;
}
.chat-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
margin-right: 10px;
object-fit: cover;
}
.chat-info {
flex: 1;
}
.chat-info strong {
display: block;
font-size: 14px;
}
.chat-info small {
font-size: 11px;
opacity: 0.8;
}
.chat-time {
font-size: 11px;
opacity: 0.8;
}
.chat-preview {
padding: 12px;
font-size: 13px;
border-bottom: 1px solid var(--bg-gray);
}
.tooltip-arrow {
position: absolute;
right: -10px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid var(--bg-white);
}
.whatsapp-closed:hover .chat-tooltip {
opacity: 1;
visibility: visible;
right: 80px;
}
/* Estado abierto (chat completo) */
.whatsapp-open {
width: 300px;
background: var(--bg-white);
border-radius: 10px;
box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
overflow: hidden;
display: none;
flex-direction: column;
height: 450px;
}
.whatsapp-open .chat-header {
background: var(--whatsapp-dark);
}
.close-chat {
background: none;
border: none;
color: white;
cursor: pointer;
font-size: 16px;
opacity: 0.8;
transition: opacity 0.2s;
}
.close-chat:hover {
opacity: 1;
}
.chat-messages {
flex: 1;
padding: 10px;
overflow-y: auto;
background: #e5ddd5;
background-image: url('https://web.whatsapp.com/img/bg-chat-tile-light_a4be512e7195b6b733d9110b408f075d.png');
background-repeat: repeat;
}
.message {
display: flex;
margin-bottom: 10px;
max-width: 80%;
}
.message-content {
padding: 8px 12px;
border-radius: 7.5px;
position: relative;
word-wrap: break-word;
font-size: 14px;
}
.message-time {
font-size: 11px;
color: var(--text-light);
align-self: flex-end;
margin: 0 5px;
white-space: nowrap;
}
.message.received {
align-self: flex-start;
}
.message.received .message-content {
background: var(--bg-white);
color: var(--text-dark);
border-top-left-radius: 0;
}
.message.sent {
align-self: flex-end;
flex-direction: row-reverse;
}
.message.sent .message-content {
background: var(--whatsapp-light);
color: var(--text-dark);
border-top-right-radius: 0;
}
.chat-input {
display: flex;
padding: 10px;
background: var(--bg-gray);
border-top: 1px solid #ddd;
}
.chat-input input {
flex: 1;
border: none;
border-radius: 20px;
padding: 10px 15px;
font-size: 14px;
outline: none;
}
.send-button {
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--whatsapp-green);
color: white;
border: none;
margin-left: 10px;
cursor: pointer;
transition: background 0.2s;
}
.send-button:hover {
background: var(--whatsapp-dark);
}
/* Animaciones */
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-5px); }
100% { transform: translateY(0px); }
}
@keyframes pulse {
0% { transform: scale(0.95); opacity: 0.8; }
70% { transform: scale(1.05); opacity: 0.4; }
100% { transform: scale(1.1); opacity: 0; }
}
/* Mostrar/ocultar chat */
.chat-visible .whatsapp-closed {
display: none;
}
.chat-visible .whatsapp-open {
display: flex;
}
/* Responsive */
@media (max-width: 480px) {
.whatsapp-chat-container {
bottom: 20px;
right: 20px;
}
.whatsapp-open {
width: calc(100vw - 40px);
height: 70vh;
right: 20px;
bottom: 20px;
}
.chat-tooltip {
display: none;
}
}
tarotgladysalejandrabaez.com
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.csshttps://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css:root{
--primary-color:#9c27b0;--primary-light:#d05ce3;--primary-dark:#6a0080;
--secondary-color:#ff9800;--dark-color:#2d2d2d;--light-color:#f8f9fa;
--gradient-purple:linear-gradient(135deg,#9c27b0 0%,#673ab7 100%);
--gradient-orange:linear-gradient(135deg,#ff9800 0%,#ff5722 100%);
--box-shadow:0 10px 30px rgba(0,0,0,.1);
--transition:all .4s cubic-bezier(.25,.8,.25,1)
}
*{box-sizing:border-box}
body{font-family:'Montserrat',sans-serif;line-height:1.7;color:var(--dark-color);background:#fff;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:700;color:var(--dark-color)}
a{text-decoration:none;transition:var(--transition)}
/* Navbar */
.navbar{padding:20px 0;background:rgba(255,255,255,.95)!important;box-shadow:0 2px 20px rgba(0,0,0,.08);transition:var(--transition)}
.navbar.scrolled{padding:10px 0;background:rgba(255,255,255,.98)!important;box-shadow:0 5px 25px rgba(0,0,0,.1)}
.navbar-brand{font-weight:700;font-size:1.8rem;color:var(--primary-color)!important;display:flex;align-items:center}
.navbar-brand span{font-family:'Playfair Display',serif;font-style:italic}
.nav-link{font-weight:500;padding:8px 15px!important;margin:0 5px;color:var(--dark-color)!important;position:relative}
.nav-link:before{content:'';position:absolute;width:0;height:2px;bottom:0;left:0;background:var(--primary-color);visibility:hidden;transition:var(--transition)}
.nav-link:hover:before,.nav-link.active:before{visibility:visible;width:100%}
.nav-link:hover,.nav-link.active{color:var(--primary-color)!important}
.navbar-toggler{border:none;padding:.5rem}
.navbar-toggler:focus{box-shadow:none}
.navbar-toggler-icon{background-image:none;height:2px;width:24px;background:var(--primary-color);position:relative;transition:var(--transition)}
.navbar-toggler-icon:before,.navbar-toggler-icon:after{content:'';position:absolute;height:2px;width:24px;background:var(--primary-color);left:0;transition:var(--transition)}
.navbar-toggler-icon:before{top:-8px}.navbar-toggler-icon:after{top:8px}
/* Hero */
.hero{
position:relative;height:100vh;min-height:600px;display:flex;align-items:center;
background:
linear-gradient(to bottom right,rgba(255,165,0,.6),rgba(255,255,0,.6)),
url('img/hero1.png') center/cover no-repeat;
color:#FFD700;padding-top:350px;overflow:hidden
}
.hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto;padding:0 20px;text-align:center}
.hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.2;margin-bottom:15px;text-shadow:0 3px 15px rgba(0,0,0,.3)}
.hero p.descripcion-servicios{color:#111;font-weight:500;text-shadow:none}
.hero .btn{background:#fff;color:#000;border:2px solid #000;padding:10px 25px;border-radius:50px;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;margin:0 8px 10px}
@media (max-width:767.98px){.hero{min-height:500px}.hero .btn{display:block;width:80%;margin:0 auto 10px}}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:1.5rem;animation:bounce 2s infinite}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-20px) translateX(-50%)}60%{transform:translateY(-10px) translateX(-50%)}}
/* Sections */
.section{padding:100px 0;position:relative}
.section-title{margin-bottom:70px;position:relative}
.section-title h2{font-size:2.5rem;font-weight:700;margin-bottom:20px;position:relative;display:inline-block}
.section-title h2:after{content:'';position:absolute;width:60px;height:3px;background:var(--gradient-orange);bottom:-10px;left:50%;transform:translateX(-50%)}
.section-title p{color:#666;max-width:700px;margin:0 auto}
/* About */
.about-img{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--box-shadow)}
.about-img img{width:100%;height:auto;transition:var(--transition)}
.about-img:hover img{transform:scale(1.03)}
.about-img:before{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background:var(--gradient-purple);opacity:.1;z-index:1}
.about-content{padding-left:30px}
.about-content h3{font-size:2rem;margin-bottom:20px;color:var(--primary-color)}
.about-content p{margin-bottom:15px;font-size:1.05rem}
.signature{font-family:'Playfair Display',serif;font-style:italic;font-size:1.5rem;color:var(--primary-color);margin-top:20px}
/* Services */
.services{background:#f9f6ff}
.service-card{background:#fff;border-radius:15px;padding:30px;margin-bottom:30px;box-shadow:var(--box-shadow);transition:var(--transition);height:100%;border:1px solid rgba(0,0,0,.03)}
.service-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px rgba(0,0,0,.15)}
.service-icon{width:80px;height:80px;background:var(--gradient-purple);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;font-size:2rem}
.service-card h4{font-size:1.4rem;margin-bottom:15px;color:var(--primary-color)}
.service-card p{color:#666}
/* Afirmaciones */
.afirmaciones{background:url('https://images.unsplash.com/photo-1518655048521-f130df041f66?auto=format&fit=crop&w=2070&q=80') center/cover no-repeat fixed;position:relative;color:#fff}
.afirmaciones:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:1}
.afirmaciones .container{position:relative;z-index:2}
.afirmacion-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:15px;padding:30px;margin-bottom:30px;border:1px solid rgba(255,255,255,.2);transition:var(--transition);height:100%}
.afirmacion-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.15)}
.afirmacion-icon{font-size:2.5rem;margin-bottom:20px;color:var(--secondary-color)}
.afirmacion-card p{font-style:italic;font-size:1.2rem;line-height:1.6}
/* Certificaciones */
.cert-card{position:relative;border-radius:15px;overflow:hidden;margin-bottom:30px;box-shadow:var(--box-shadow);transition:transform .3s ease}
.cert-card img{width:100%;height:auto;transition:var(--transition)}
.cert-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,.15)}
.cert-card:hover img{transform:scale(1.05)}
.cert-overlay{position:absolute;bottom:0;left:0;width:100%;padding:20px;background:#fdfcfe;border-top:1px solid #eee;color:#333;text-align:center;opacity:0;transition:var(--transition)}
.cert-card:hover .cert-overlay{opacity:1}
/* Contacto */
.contact{background:#f9f6ff}
.contact-info{margin-bottom:40px}
.contact-info h3{font-size:1.8rem;margin-bottom:25px;color:var(--primary-color)}
.contact-item{display:flex;align-items:flex-start;margin-bottom:20px}
.contact-icon{width:50px;height:50px;background:var(--gradient-purple);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-right:15px;flex-shrink:0}
.contact-text h4{font-size:1.1rem;margin-bottom:5px;color:var(--dark-color)}
.contact-text p,.contact-text a{color:#666;margin-bottom:0}
.contact-text a:hover{color:var(--primary-color)}
.contact-form{background:#fff;padding:40px;border-radius:15px;box-shadow:var(--box-shadow)}
.form-control{height:50px;border-radius:10px;border:1px solid #eee;padding-left:20px;margin-bottom:20px;transition:var(--transition)}
.form-control:focus{box-shadow:none;border-color:var(--primary-color)}
textarea.form-control{height:auto;padding-top:15px}
.btn-primary{background:var(--gradient-purple);border:none;padding:12px 30px;border-radius:50px;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.9r
/* ...cortado... */