ministeriofuegoenelaltar.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&display=swaphttps://unpkg.com/[email protected]/dist/aos.css:root {
--primary: #6a3093;
--primary-dark: #4a1c6d;
--primary-light: #8e44ad;
--accent: #ff9d00;
--accent-light: #ffb74d;
--dark: #0f172a;
--dark-light: #1e293b;
--light: #f8fafc;
--light-bg: #f9f7fe;
--text: #1e293b;
--text-light: #64748b;
--gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
--gradient-hero: linear-gradient(135deg, rgba(106, 48, 147, 0.92) 0%, rgba(74, 28, 109, 0.88) 100%);
--gradient-accent: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);
--gradient-light: linear-gradient(to bottom right, var(--light-bg), #ffffff);
--shadow-sm: 0 4px 6px rgba(0, 0, 0, 0.05);
--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 16px;
--radius-xl: 24px;
--radius-2xl: 32px;
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem;
--space-3xl: 4rem;
--space-4xl: 6rem;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
font-family: 'Montserrat', sans-serif;
color: var(--text);
line-height: 1.6;
background-color: var(--light);
overflow-x: hidden;
}
/* 🔒 Evitar desbordes de secciones que usan clip-path/animaciones */
.hero, .section, footer { overflow-x: clip; }
img, svg { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 {
font-family: 'Playfair Display', serif;
font-weight: 700;
line-height: 1.3;
}
.navbar-brand { font-family: 'Montserrat', sans-serif; font-weight: 700; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }
@keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0px); } }
@keyframes glow { 0% { box-shadow: 0 0 5px rgba(255, 157, 0, 0.5); } 50% { box-shadow: 0 0 20px rgba(255, 157, 0, 0.8); } 100% { box-shadow: 0 0 5px rgba(255, 157, 0, 0.5); } }
.animate-fadeIn { animation: fadeIn 1s ease forwards; }
.animate-float { animation: float 6s ease-in-out infinite; }
.animate-pulse { animation: pulse 3s ease infinite; }
.animate-glow { animation: glow 4s ease infinite; }
/* Navbar */
.navbar {
padding: 1.2rem 0;
background: rgba(255, 255, 255, 0.98) !important;
backdrop-filter: blur(12px);
box-shadow: var(--shadow-sm);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.navbar.scrolled { padding: 0.7rem 0; box-shadow: var(--shadow-md); }
.navbar-brand { font-size: 1.8rem; display: flex; align-items: center; position: relative; }
.navbar-brand i { color: var(--primary); font-size: 2rem; margin-right: .5rem; transition: all 0.3s ease; }
.navbar-brand:hover i { transform: rotate(15deg); color: var(--accent); }
.navbar-brand b { color: var(--primary); background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; position: relative; }
.navbar-brand::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 3px; background: var(--gradient-accent); transition: width 0.3s ease; }
.navbar-brand:hover::after { width: 100%; }
.nav-link { font-weight: 500; color: var(--text) !important; position: relative; padding: .5rem 1rem !important; transition: all .3s ease; margin: 0 0.2rem; }
.nav-link::before { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 3px; background: var(--gradient-accent); transition: all .3s ease; transform: translateX(-50%); border-radius: 10px; }
.nav-link:hover::before, .nav-link.active::before { width: 80%; }
.btn-brand {
background: var(--gradient-primary); color: #fff; border: none; border-radius: var(--radius-md);
padding: .75rem 1.8rem; font-weight: 600; transition: all .3s ease; box-shadow: var(--shadow-sm);
position: relative; overflow: hidden; z-index: 1;
}
.btn-brand::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--gradient-accent); transition: all 0.4s ease; z-index: -1; }
.btn-brand:hover::before { left: 0; }
.btn-brand:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); color: #fff; }
.btn-outline-brand {
background: transparent; color: var(--primary); border: 2px solid var(--primary); border-radius: var(--radius-md);
padding: .75rem 1.8rem; font-weight: 600; transition: all .3s ease; position: relative; overflow: hidden; z-index: 1;
}
.btn-outline-brand::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: var(--gradient-primary); transition: all 0.4s ease; z-index: -1; }
.btn-outline-brand:hover::before { width: 100%; }
.btn-outline-brand:hover { color: #fff; border-color: transparent; transform: translateY(-3px); box-shadow: var(--shadow-md); }
/* ✅ Icono hamburguesa visible SIEMPRE (usamos bi-list dentro del botón) */
.navbar-toggler { border-color: rgba(30,41,59,0.25); padding: .35rem .55rem; }
.navbar-toggler:focus { box-shadow: 0 0 0 .25rem rgba(106,48,147,.25); }
.navbar-toggler i.bi { font-size: 1.65rem; line-height: 1; color: var(--text); }
/* Hero */
.hero { position: relative; isolation: isolate; overflow: hidden; padding: 8rem 0 6rem;
background: var(--gradient-hero); color: white; clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); }
.hero::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%); z-index: 0; animation: pulse 8s ease-in-out infinite; }
.hero::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='0.03' d='M0,288L48,272C96,256,192,224,288,197.3C384,171,480,149,576,165.3C672,181,768,235,864,250.7C960,267,1056,245,1152,224C1248,203,1344,181,1392,170.7L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
background-size: cover; background-position: bottom; z-index: -1; opacity: 0.5; }
.hero-content { position: relative; z-index: 2; }
.hero h1 { font-size: 3.5rem; font-weight: 800; margin-bottom: 1.5rem; line-height: 1.2; text-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.hero p.lead { font-size: 1.3rem; margin-bottom: 2rem; opacity: .95; font-weight: 400; }
.chip { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1.2rem; border-radius: 100px;
background: rgba(255, 255, 255, 0.15); border: 1px solid rgba(255, 255, 255, 0.2); font-size: .95rem; transition: all .3s ease; backdrop-filter: blur(10px); }
.chip i { font-size: 1.1rem; }
.chip:hover { background: rgba(255,255,255,.25); transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.contact-card { background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(12px); border-radius: var(--radius-xl); padding: 2.5rem;
border: 1px solid
/* ...cortado... */
.gallery-section .ticker-wrap { position: relative; }
.gallery-section .ticker-viewport{ display:flex; gap:1.25rem; overflow-x:auto; padding: .25rem .5rem 1rem; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.gallery-section .ticker-viewport::-webkit-scrollbar{ height:8px; }
.gallery-section .ticker-viewport::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.15); border-radius: 999px; }
.gallery-section .ticker-item{ flex:0 0 auto; border-radius:1rem; overflow:hidden; background:#fff; box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12); scroll-snap-align:center; display:flex; align-items:center; justify-content:center; padding:.5rem; }
.gallery-section .ticker-item img{ display:block; width:auto; height:auto; max-width:92vw; max-height:72vh; object-fit:contain; border-radius:.75rem; }
@media (max-width: 575.98px){ .gallery-section .ticker-viewport{ gap:1rem; padding-left:.75rem; padding-right:.75rem; } .gallery-section .ticker-item img{ max-width:92vw; max-height:78vh; } }
@media (min-width: 576px) and (max-width: 991.98px){ .gallery-section .ticker-item img{ max-width:88vw; max-height:70vh; } }
@media (min-width: 992px){ .gallery-section .ticker-item img{ max-width:70vw; max-height:65vh; } }
@media (min-width: 1400px){ .gallery-section .ticker-item img{ max-width:60vw; max-height:62vh; } }
.ticker-controls .ticker-btn{ border:none; background:#fff; width:42px; height:42px; border-radius:999px; box-shadow:0 .5rem 1.25rem rgba(0,0,0,.12); display:inline-flex; align-items:center; justify-content:center; }
.ticker-controls .ticker-btn:focus{ outline:2px solid rgba(106,48,147,.35); }
:root{ --fab-size:56px; --fab-gap:12px; --wa:#25D366; --fb:#1877F2; --gm:#EA4335; }
.fab-contact{ position:fixed; right:calc(16px + env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:var(--fab-gap); z-index:9999; }
.fab{ width:var(--fab-size); height:var(--fab-size); border-radius:999px; color:#fff; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 .5rem 1.25rem rgba(0,0,0,.18); transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; position:relative; overflow:visible; }
.fab:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 .75rem 1.75rem rgba(0,0,0,.22); }
.fab:active{ transform:scale(.98); }
.fab svg{ width:28px; height:28px; fill:#fff; }
.fab .fab-label{ position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(-50%); background:#1f1f1f; color:#fff; font:500 13px/1 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif; padding:8px 10px; border-radius:10px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
.fab:hover .fab-label{ opacity:1; transform:translate(-2px,-50%); }
@media (max-width: 575.98px){ .fab .fab-label{ display:none; } :root{ --fab-size:54px; --fab-gap:10px; } }
.fab-wa{ background:var(--wa); }
.fab-fb{ background:var(--fb); }
.fab-gm{ background:var(--gm); }
.fab-wa::after{ content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 0 rgba(37,211,102,.45); animation:pulse 2.2s ease-out infinite; }
@keyframes pulse{ 0% { box-shadow:0 0 0 0 rgba(37,211,102,.45); } 70%{ box-shadow:0 0 0 18px rgba(37,211,102,0); } 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); } }
@media (prefers-reduced-motion: reduce){ .fab, .fab *{ transition:none !important; animation:none !important; } }
decomuebles.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://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap:root{
--primario:#8B5E3C; /* madera */
--primario-osc:#6f4a2f;
--primario-suave:rgba(139,94,60,.08);
--negro:#111111;
--gris-oscuro:#2d2d2d;
--gris:#6b7280;
--gris-claro:#f3f4f6;
--blanco:#ffffff;
--sombra:0 10px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
--sombra-hover:0 20px 45px -10px rgba(0,0,0,.15), 0 10px 15px -8px rgba(0,0,0,.15);
--transicion:all .3s cubic-bezier(.4,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}
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:-.025em}
.lead{font-size:1.12rem;color:var(--gris)}
.navbar{box-shadow:0 4px 20px rgba(0,0,0,.05);transition:var(--transicion);padding:.75rem 0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}
.navbar .nav-link{font-weight:500;padding:.5rem 1rem;color:var(--gris-oscuro);transition:var(--transicion);position:relative}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--primario)}
.navbar .nav-link:after{content:'';position:absolute;width:0;height:2px;bottom:0;left:1rem;background:var(--primario);transition:width .3s ease}
.navbar .nav-link:hover:after,.navbar .nav-link.active:after{width:calc(100% - 2rem)}
.navbar-brand img{height:60px;width:auto}
.hero{padding:8rem 0 6rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 15% 50%,var(--primario-suave) 0%,transparent 25%),radial-gradient(circle at 85% 30%,rgba(139,94,60,.05) 0%,transparent 25%);z-index:0}
.hero-content{position:relative;z-index:2}
.badge-24{background:linear-gradient(135deg,var(--primario) 0%,var(--primario-osc) 100%);color:var(--blanco);font-weight:700;letter-spacing:.06em;padding:.6em 1.2em;display:inline-flex;align-items:center;border-radius:50px;box-shadow:0 4px 14px rgba(139,94,60,.4);animation:pulse 2s infinite}
@keyframes pulse{0%{transform:scale(1);box-shadow:0 4px 14px rgba(139,94,60,.4)}50%{transform:scale(1.05);box-shadow:0 6px 20px rgba(139,94,60,.5)}100%{transform:scale(1);box-shadow:0 4px 14px rgba(139,94,60,.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(--primario);font-size:1.5rem}
.feature-icon:hover{transform:translateY(-5px);box-shadow:var(--sombra-hover);color:var(--primario-osc)}
section{padding:6rem 0;position:relative}
section:nth-of-type(even){background:var(--gris-claro)}
.section-title{font-weight:800;letter-spacing:-.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(--primario);border-radius:2px}
.section-title.text-center:after{left:50%;transform:translateX(-50%)}
.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(--primario),var(--primario-osc));transition:height .4s ease}
.service-card:hover{transform:translateY(-10px);box-shadow:var(--sombra-hover);border-color:transparent}
.service-card:hover::before{height:100%}
.btn-primario{background:linear-gradient(135deg,var(--primario) 0%,var(--primario-osc) 100%);color:var(--blanco);border:none;font-weight:600;padding:.875rem 2rem;border-radius:12px;transition:var(--transicion);box-shadow:0 4px 14px rgba(139,94,60,.4)}
.btn-primario:hover{background:linear-gradient(135deg,var(--primario-osc) 0%,#5c3f2c 100%);color:var(--blanco);transform:translateY(-3px);box-shadow:0 8px 25px rgba(139,94,60,.5)}
.btn-outline-primario{border:2px solid var(--primario);color:var(--primario);font-weight:600;padding:.875rem 2rem;border-radius:12px;transition:var(--transicion);background:transparent}
.btn-outline-primario:hover{background:var(--primario);color:var(--blanco);transform:translateY(-3px);box-shadow:0 8px 20px rgba(139,94,60,.25)}
.divider{height:1px;background:linear-gradient(to right,transparent,#e5e7eb,transparent);margin:2rem 0}
.form-control{padding:.875rem 1.25rem;border-radius:12px;border:1px solid #e5e7eb;transition:var(--transicion);font-size:1rem}
.form-control:focus{border-color:var(--primario);box-shadow:0 0 0 3px rgba(139,94,60,.15)}
.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;overflow:hidden;border:1px solid #e5e7eb;box-shadow:var(--sombra);cursor:pointer;transition:var(--transicion);position:relative}
.gallery-item::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);opacity:0;transition:var(--transicion);z-index:1}
.gallery-item:hover{transform:scale(1.05);box-shadow:var(--sombra-hover)}
.gallery-item:hover::before{opacity:1}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:var(--transicion)}
.gallery-item:hover img{transform:scale(1.1)}
@keyframes galleryScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.gallery-track{animation:none}}
@media (max-width:992px){.gallery-item{width:min(44vw,320px)}}
@media (max-width:576px){.gallery-track{gap:1rem;padding:1rem}.gallery-item{width:min(80vw,260px)}}
.hero-logo{height:clamp(150px,20vw,280px);width:auto;display:block;margin:0 auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.1))}
@media (max-width:576px){.hero-logo{height:180px}}
.accordion-button{font-weight:600;padding:1.5rem;border-radius:12px!important;background:var(--blanco);box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:.75rem;color:var(--negro);transition:var(--transicion)}
.accordion-button:not(.collapsed){background:rgba(139,94,60,.08);color:var(--primario);box-shadow:0 4px 12px rgba(139,94,60,.1)}
.accordion-button:focus{box-shadow:0 0 0 3px rgba(139,94,60,.15);border-color:var(--primario)}
footer{background:var(--negro);color:#d1d5db;padding-top:5rem;padding-bottom:3rem;position:relative;overflow:hidden}
footer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(139,94,60,.1) 0%,transparent 30%),radial-gradient(circle at 80% 20%,rgba(139,94,60,.05) 0%,transparent 30%);z-index:0}
footer>.container{position:relative;z-index:1}
footer a{color:#f3f4f6;text-decoration:none;transition:var(--transicion);position:relative}
footer a:hover{color:var(--primario)}
footer a::after{content:'';position:absolute;width:0;height:1px;bottom:-2px;left:0;background:var(--primario);transition:width .3s ease}
footer a:hover::after{width:100%}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);margin-right:.75rem;tran
/* ...cortado... */
.tienda-embed{padding:2rem 0;background:#f8f9fa}
.tienda-embed .container{max-width:1200px;margin:0 auto;padding:0 16px}
.tienda-header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.tienda-title{margin:0;font-size:clamp(1.25rem,2.5vw,1.75rem)}
.tienda-open{background:#0d6efd;color:#fff;padding:.5rem .9rem;border-radius:.6rem;text-decoration:none}
.tienda-open:hover{opacity:.92}
.iframe-wrap{position:relative;width:100%;height:min(85vh,1100px)}
.iframe-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.08);background:#fff}
.iframe-fallback{display:none}
@media (max-width: 576px){ .iframe-wrap{height:70vh} }
servicecordobafrio.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Montserrat:wght@700;800;900&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css:root {
/* Colores personalizados */
--primary: #2563eb;
--primary-dark: #1d4ed8;
--secondary: #f59e0b;
--dark: #0f172a;
--light: #f8fafc;
--gray: #64748b;
--success: #10b981;
/* Efectos */
--shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
/* Tamaños */
--ticker-img-size: 600px;
--ticker-gap: 1.5rem;
}
body {
font-family: "Poppins", sans-serif;
scroll-behavior: smooth;
color: var(--dark);
line-height: 1.6;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
font-family: "Montserrat", sans-serif;
font-weight: 800;
}
/* Navbar */
.navbar {
background-color: rgba(255, 255, 255, 0.98) !important;
backdrop-filter: blur(10px);
box-shadow: var(--shadow);
padding: 1rem 0;
transition: all 0.3s ease;
}
.navbar.scrolled {
padding: 0.5rem 0;
box-shadow: var(--shadow-lg);
}
.navbar-brand {
font-weight: 900;
font-size: 1.75rem;
color: var(--primary) !important;
letter-spacing: -0.5px;
}
.navbar-brand span {
color: var(--secondary);
}
.nav-link {
font-weight: 500;
color: var(--dark) !important;
padding: 0.5rem 1rem !important;
position: relative;
transition: all 0.3s ease;
}
.nav-link:hover, .nav-link:focus {
color: var(--primary) !important;
}
.nav-link::after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 50%;
transform: translateX(-50%);
background-color: var(--primary);
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 60%;
}
.nav-link.active::after {
width: 60%;
}
.btn-primary {
background-color: var(--primary);
border-color: var(--primary);
font-weight: 600;
padding: 0.75rem 1.5rem;
transition: all 0.3s ease;
}
.btn-primary:hover {
background-color: var(--primary-dark);
border-color: var(--primary-dark);
transform: translateY(-2px);
box-shadow: var(--shadow);
}
.btn-outline-primary {
color: var(--primary);
border-color: var(--primary);
font-weight: 600;
}
.btn-outline-primary:hover {
background-color: var(--primary);
border-color: var(--primary);
}
/* Hero Section */
header.hero {
min-height: 100vh;
background: linear-gradient(135deg, rgba(13, 110, 253, 0.95) 0%, rgba(102, 16, 242, 0.95) 100%),
url('https://images.unsplash.com/photo-1600585152220-90363fe7e115?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80') no-repeat center center/cover;
color: var(--light);
display: flex;
align-items: center;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100px;
background: linear-gradient(to top, var(--light), transparent);
z-index: 1;
}
.hero-content {
position: relative;
z-index: 2;
}
.hero h1 {
font-weight: 900;
line-height: 1.2;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.hero h1 span {
color: var(--secondary);
}
.hero .lead {
font-size: 1.25rem;
opacity: 0.9;
}
.hero-img {
position: relative;
animation: float 6s ease-in-out infinite;
}
.hero-img img {
border-radius: 1rem;
box-shadow: var(--shadow-xl);
transform: perspective(1000px) rotateY(-10deg);
border: 5px solid rgba(255, 255, 255, 0.2);
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-20px); }
100% { transform: translateY(0px); }
}
/* Secciones generales */
section {
padding: 6rem 0;
position: relative;
}
.section-title {
font-weight: 900;
margin-bottom: 1rem;
position: relative;
display: inline-block;
}
.section-title::after {
content: '';
position: absolute;
width: 50%;
height: 4px;
bottom: -10px;
left: 0;
background: linear-gradient(to right, var(--primary), var(--secondary));
border-radius: 2px;
}
.section-subtitle {
color: var(--gray);
margin-bottom: 3rem;
font-size: 1.25rem;
}
.bg-light {
background-color: var(--light) !important;
}
/* Tarjetas */
.card {
border: none;
border-radius: 1rem;
overflow: hidden;
transition: all 0.3s ease;
height: 100%;
box-shadow: var(--shadow);
}
.card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-lg);
}
.card-icon {
font-size: 2.5rem;
margin-bottom: 1.5rem;
color: var(--primary);
}
.card-title {
font-weight: 700;
margin-bottom: 1rem;
}
/* Ticker de trabajos */
#trabajos {
padding: 6rem 0;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
color: var(--light);
}
#trabajos .section-title::after {
background: linear-gradient(to right, var(--secondary), var(--light));
}
#trabajos .section-subtitle {
color: rgba(255, 255, 255, 0.8);
}
.ticker-wrapper {
position: relative;
overflow-x: auto;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
padding: 2rem 0;
margin: 0 -1.5rem;
}
.ticker-track {
display: inline-flex;
gap: var(--ticker-gap);
padding: 0 1.5rem;
}
.ticker-track img {
width: var(--ticker-img-size);
height: var(--ticker-img-size);
object-fit: cover;
object-position: center;
border-radius: 1rem;
flex: 0 0 auto;
scroll-snap-align: start;
box-shadow: var(--shadow-xl);
border: 3px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.ticker-track img:hover {
transform: scale(1.03);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.btn-ticker {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 2;
border: none;
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
color: var(--light);
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
transition: all 0.3s ease;
}
.btn-ticker:hover {
background: rgba(255, 255, 255, 0.3);
transform: translateY(-50%) scale(1.1);
}
.btn-ticker.left { left: 1.5rem; }
.btn-ticker.right { right: 1.5rem; }
@media (max-width: 991px) {
:root {
--ticker-img-size: clamp(250px, 80vw, 400px);
}
.btn-ticker { display: none; }
section {
padding: 4rem 0;
}
}
.price-tag {
position
/* ...cortado... */
/* --- ESTO SOLO AFECTA A #ventas --- */
#ventas .ventas-wrapper {
overflow-x: auto;
scroll-behavior: smooth;
white-space: nowrap;
padding: 10px 0;
}
/* Ocultar la barra de scroll SOLO en desktop */
@media (min-width: 992px) {
#ventas .ventas-wrapper {
-ms-overflow-style: none; /* IE/Edge */
scrollbar-width: none; /* Firefox */
}
#ventas .ventas-wrapper::-webkit-scrollbar { /* Chrome/Safari */
display: none;
}
}
#ventas .ventas-track {
display: flex;
gap: 20px;
}
/* Imágenes grandes, respetando su contenido */
#ventas .img-ventas {
flex: 0 0 auto;
height: clamp(260px, 70vw, 520px);
width: auto;
object-fit: contain;
border-radius: 10px;
transition: transform 0.3s;
background: #111;
}
#ventas .img-ventas:hover {
transform: scale(1.03);
}
#ventas .btn-ventas {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(255, 255, 255, 0.2);
color: white;
border: none;
font-size: 2rem;
width: 56px;
height: 56px;
border-radius: 50%;
cursor: pointer;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(6px);
transition: all 0.2s ease;
}
#ventas .btn-ventas:hover {
background-color: rgba(255, 255, 255, 0.3);
transform: translateY(-50%) scale(1.08);
}
#ventas .btn-ventas.left { left: 10px; }
#ventas .btn-ventas.right { right: 10px; }
/* En mobile escondo los botones y hago aún más grande la imagen */
@media (max-width: 991px) {
#ventas .btn-ventas { display: none; }
#ventas .img-ventas {
height: clamp(280px, 85vw, 480px);
}
}
/* Contenedor de botones flotantes */
.social-float-container {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 9999;
display: flex;
flex-direction: column-reverse;
gap: 15px;
align-items: flex-end;
}
/* Estilos base para todos los botones sociales */
.social-float {
position: relative;
transition: all 0.3s ease;
transform-style: preserve-3d;
}
.social-float:hover {
transform: translateY(-5px) rotate(5deg) scale(1.1);
}
.social-button {
display: block;
width: 70px;
height: 70px;
border-radius: 50%;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
position: relative;
transition: all 0.3s ease;
animation: float 3s ease-in-out infinite;
color: white;
text-decoration: none;
}
.social-button:hover {
transform: scale(1.1);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}
.social-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 30px;
}
.social-pulse {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
opacity: 0;
animation: pulse 2s infinite;
}
.social-pulse-delayed {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
opacity: 0;
animation: pulse 2s infinite 0.5s;
}
.social-tooltip {
position: absolute;
right: 90px;
top: 50%;
transform: translateY(-50%);
background: white;
color: #333;
padding: 12px 15px;
border-radius: 10px;
font-size: 14px;
font-weight: 600;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
width: 200px;
text-align: center;
}
.social-tooltip small {
display: block;
font-size: 12px;
color: #666;
font-weight: normal;
margin-top: 3px;
}
.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 white;
}
.social-float:hover .social-tooltip {
opacity: 1;
visibility: visible;
right: 80px;
}
/* Estilos específicos para cada botón */
.whatsapp-button {
background: #25D366;
box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3);
}
.whatsapp-button:hover {
background: #128C7E;
box-shadow: 0 15px 30px rgba(37, 211, 102, 0.4);
}
.whatsapp-pulse {
background: rgba(37, 211, 102, 0.6);
}
.whatsapp-pulse-delayed {
background: rgba(37, 211, 102, 0.4);
}
.instagram-button {
background: #E1306C;
box-shadow: 0 10px 25px rgba(225, 48, 108, 0.3);
}
.instagram-button:hover {
background: #C13584;
box-shadow: 0 15px 30px rgba(193, 53, 132, 0.4);
}
.instagram-pulse {
background: rgba(225, 48, 108, 0.6);
}
.instagram-pulse-delayed {
background: rgba(193, 53, 132, 0.4);
}
.facebook-button {
background: #1877F2;
box-shadow: 0 10px 25px rgba(24, 119, 242, 0.3);
}
.facebook-button:hover {
background: #166FE5;
box-shadow: 0 15px 30px rgba(22, 111, 229, 0.4);
}
.facebook-pulse {
background: rgba(24, 119, 242, 0.6);
}
.facebook-pulse-delayed {
background: rgba(22, 111, 229, 0.4);
}
/* Animaciones */
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
@keyframes pulse {
0% { transform: scale(0.8); opacity: 0; }
70% { transform: scale(1.3); opacity: 0.4; }
100% { transform: scale(1.4); opacity: 0; }
}
/* Efecto de latido al cargar */
@keyframes heartbeat {
0% { transform: scale(1); }
25% { transform: scale(1.1); }
50% { transform: scale(1); }
75% { transform: scale(1.1); }
100% { transform: scale(1); }
}
/* Animación inicial para los botones */
.social-button {
animation: heartbeat 1.5s ease 2s 2, float 3s ease-in-out infinite 3s;
}
/* Mostrar botones con un pequeño retraso entre ellos */
.instagram-float { animation: fadeInUp 0.5s ease 0.2s both; }
.facebook-float { animation: fadeInUp 0.5s ease 0.4s both; }
.whatsapp-float { animation: fadeInUp 0.5s ease 0.6s both; }
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
/* Responsive */
@media (max-width: 768px) {
.social-float-container {
bottom: 20px;
right: 20px;
}
.social-button {
width: 60px;
height: 60px;
}
.social-icon {
font-size: 25px;
}
.social-tooltip {
display: none;
}
}
:root {
/* Colores personalizados */
--primary: #2563eb;
--primary-dark: #1d4ed8;
--secondary: #f59e0b;
--dark: #0f172a;
--light: #f8fafc;
--gray: #64748b;
--success: #10b981;
/* Efectos */
--shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
/* Tamaños */
--ticker-img-size: 600px;
--ticker-gap: 1.5rem;
}
body {
font-family: "Poppins", sans-serif;
scroll-behavior: smooth;
color: var(--dark);
line-height: 1.6;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
font-family: "Montserrat", sans-serif;
font-weight: 800;
}
/* Navbar */
.navbar {
background-color: rgba(255, 255, 255, 0.98) !important;
backdrop-filter: blur(10px);
box-shadow: var(--shadow);
padding: 1rem 0;
transition: all 0.3s ease;
}
.navbar.scrolled {
padding: 0.5rem 0;
box-shadow: var(--shadow-lg);
}
.navbar-brand {
font-weight: 900;
font-size: 1.75rem;
color: var(--primary) !important;
letter-spacing: -0.5px;
}
.navbar-brand span {
color: var(--secondary);
}
.nav-link {
font-weight: 500;
color: var(--dark) !important;
padding: 0.5rem 1rem !important;
position: relative;
transition: all 0.3s ease;
}
.nav-link:hover, .nav-link:focus {
color: var(--primary) !important;
}
.nav-link::after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 50%;
transform: translateX(-50%);
background-color: var(--primary);
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 60%;
}
.nav-link.active::after {
width: 60%;
}
.btn-primary {
background-color: var(--primary);
border-color: var(--primary);
font-weight: 600;
padding: 0.75rem 1.5rem;
transition: all 0.3s ease;
}
.btn-primary:hover {
background-color: var(--primary-dark);
border-color: var(--primary-dark);
transform: translateY(-2px);
box-shadow: var(--shadow);
}
.btn-outline-primary {
color: var(--primary);
border-color: var(--primary);
font-weight: 600;
}
.btn-outline-primary:hover {
background-color: var(--primary);
border-color: var(--primary);
}
/* Hero Section */
header.hero {
min-height: 100vh;
background: linear-gradient(135deg, rgba(13, 110, 253, 0.95) 0%, rgba(102, 16, 242, 0.95) 100%),
url('https://images.unsplash.com/photo-1600585152220-90363fe7e115?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80') no-repeat center center/cover;
color: var(--light);
display: flex;
align-items: center;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100px;
background: linear-gradient(to top, var(--light), transparent);
z-index: 1;
}
.hero-content {
position: relative;
z-index: 2;
}
.hero h1 {
font-weight: 900;
line-height: 1.2;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.hero h1 span {
color: var(--secondary);
}
.hero .lead {
font-size: 1.25rem;
opacity: 0.9;
}
.hero-img {
position: relative;
animation: float 6s ease-in-out infinite;
}
.hero-img img {
border-radius: 1rem;
box-shadow: var(--shadow-xl);
transform: perspective(1000px) rotateY(-10deg);
border: 5px solid rgba(255, 255, 255, 0.2);
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-20px); }
100% { transform: translateY(0px); }
}
/* Secciones generales */
section {
padding: 6rem 0;
position: relative;
}
.section-title {
font-weight: 900;
margin-bottom: 1rem;
position: relative;
display: inline-block;
}
.section-title::after {
content: '';
position: absolute;
width: 50%;
height: 4px;
bottom: -10px;
left: 0;
background: linear-gradient(to right, var(--primary), var(--secondary));
border-radius: 2px;
}
.section-subtitle {
color: var(--gray);
margin-bottom: 3rem;
font-size: 1.25rem;
}
.bg-light {
background-color: var(--light) !important;
}
/* Tarjetas */
.card {
border: none;
border-radius: 1rem;
overflow: hidden;
transition: all 0.3s ease;
height: 100%;
box-shadow: var(--shadow);
}
.card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-lg);
}
.card-icon {
font-size: 2.5rem;
margin-bottom: 1.5rem;
color: var(--primary);
}
.card-title {
font-weight: 700;
margin-bottom: 1rem;
}
/* Ticker de trabajos */
#trabajos {
padding: 6rem 0;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
color: var(--light);
}
#trabajos .section-title::after {
background: linear-gradient(to right, var(--secondary), var(--light));
}
#trabajos .section-subtitle {
color: rgba(255, 255, 255, 0.8);
}
.ticker-wrapper {
position: relative;
overflow-x: auto;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
padding: 2rem 0;
margin: 0 -1.5rem;
}
.ticker-track {
display: inline-flex;
gap: var(--ticker-gap);
padding: 0 1.5rem;
}
.ticker-track img {
width: var(--ticker-img-size);
height: var(--ticker-img-size);
object-fit: cover;
object-position: center;
border-radius: 1rem;
flex: 0 0 auto;
scroll-snap-align: start;
box-shadow: var(--shadow-xl);
border: 3px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.ticker-track img:hover {
transform: scale(1.03);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.btn-ticker {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 2;
border: none;
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
color: var(--light);
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
transition: all 0.3s ease;
}
.btn-ticker:hover {
background: rgba(255, 255, 255, 0.3);
transform: translateY(-50%) scale(1.1);
}
.btn-ticker.left { left: 1.5rem; }
.btn-ticker.right { right: 1.5rem; }
@media (max-width: 991px) {
:root {
--ticker-img-size: clamp(250px, 80vw, 400px);
}
.btn-ticker { display: none; }
section {
padding: 4rem 0;
}
}
.price-tag {
position
/* ...cortado... */
/* --- ESTO SOLO AFECTA A #ventas --- */
#ventas .ventas-wrapper {
overflow-x: auto;
scroll-behavior: smooth;
white-space: nowrap;
padding: 10px 0;
}
/* Ocultar la barra de scroll SOLO en desktop */
@media (min-width: 992px) {
#ventas .ventas-wrapper {
-ms-overflow-style: none; /* IE/Edge */
scrollbar-width: none; /* Firefox */
}
#ventas .ventas-wrapper::-webkit-scrollbar { /* Chrome/Safari */
display: none;
}
}
#ventas .ventas-track {
display: flex;
gap: 20px;
}
/* Imágenes grandes, respetando su contenido */
#ventas .img-ventas {
flex: 0 0 auto;
height: clamp(260px, 70vw, 520px);
width: auto;
object-fit: contain;
border-radius: 10px;
transition: transform 0.3s;
background: #111;
}
#ventas .img-ventas:hover {
transform: scale(1.03);
}
#ventas .btn-ventas {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(255, 255, 255, 0.2);
color: white;
border: none;
font-size: 2rem;
width: 56px;
height: 56px;
border-radius: 50%;
cursor: pointer;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(6px);
transition: all 0.2s ease;
}
#ventas .btn-ventas:hover {
background-color: rgba(255, 255, 255, 0.3);
transform: translateY(-50%) scale(1.08);
}
#ventas .btn-ventas.left { left: 10px; }
#ventas .btn-ventas.right { right: 10px; }
/* En mobile escondo los botones y hago aún más grande la imagen */
@media (max-width: 991px) {
#ventas .btn-ventas { display: none; }
#ventas .img-ventas {
height: clamp(280px, 85vw, 480px);
}
}
/* Contenedor de botones flotantes */
.social-float-container {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 9999;
display: flex;
flex-direction: column-reverse;
gap: 15px;
align-items: flex-end;
}
/* Estilos base para todos los botones sociales */
.social-float {
position: relative;
transition: all 0.3s ease;
transform-style: preserve-3d;
}
.social-float:hover {
transform: translateY(-5px) rotate(5deg) scale(1.1);
}
.social-button {
display: block;
width: 70px;
height: 70px;
border-radius: 50%;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
position: relative;
transition: all 0.3s ease;
animation: float 3s ease-in-out infinite;
color: white;
text-decoration: none;
}
.social-button:hover {
transform: scale(1.1);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}
.social-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 30px;
}
.social-pulse {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
opacity: 0;
animation: pulse 2s infinite;
}
.social-pulse-delayed {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
opacity: 0;
animation: pulse 2s infinite 0.5s;
}
.social-tooltip {
position: absolute;
right: 90px;
top: 50%;
transform: translateY(-50%);
background: white;
color: #333;
padding: 12px 15px;
border-radius: 10px;
font-size: 14px;
font-weight: 600;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
width: 200px;
text-align: center;
}
.social-tooltip small {
display: block;
font-size: 12px;
color: #666;
font-weight: normal;
margin-top: 3px;
}
.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 white;
}
.social-float:hover .social-tooltip {
opacity: 1;
visibility: visible;
right: 80px;
}
/* Estilos específicos para cada botón */
.whatsapp-button {
background: #25D366;
box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3);
}
.whatsapp-button:hover {
background: #128C7E;
box-shadow: 0 15px 30px rgba(37, 211, 102, 0.4);
}
.whatsapp-pulse {
background: rgba(37, 211, 102, 0.6);
}
.whatsapp-pulse-delayed {
background: rgba(37, 211, 102, 0.4);
}
.instagram-button {
background: #E1306C;
box-shadow: 0 10px 25px rgba(225, 48, 108, 0.3);
}
.instagram-button:hover {
background: #C13584;
box-shadow: 0 15px 30px rgba(193, 53, 132, 0.4);
}
.instagram-pulse {
background: rgba(225, 48, 108, 0.6);
}
.instagram-pulse-delayed {
background: rgba(193, 53, 132, 0.4);
}
.facebook-button {
background: #1877F2;
box-shadow: 0 10px 25px rgba(24, 119, 242, 0.3);
}
.facebook-button:hover {
background: #166FE5;
box-shadow: 0 15px 30px rgba(22, 111, 229, 0.4);
}
.facebook-pulse {
background: rgba(24, 119, 242, 0.6);
}
.facebook-pulse-delayed {
background: rgba(22, 111, 229, 0.4);
}
/* Animaciones */
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
@keyframes pulse {
0% { transform: scale(0.8); opacity: 0; }
70% { transform: scale(1.3); opacity: 0.4; }
100% { transform: scale(1.4); opacity: 0; }
}
/* Efecto de latido al cargar */
@keyframes heartbeat {
0% { transform: scale(1); }
25% { transform: scale(1.1); }
50% { transform: scale(1); }
75% { transform: scale(1.1); }
100% { transform: scale(1); }
}
/* Animación inicial para los botones */
.social-button {
animation: heartbeat 1.5s ease 2s 2, float 3s ease-in-out infinite 3s;
}
/* Mostrar botones con un pequeño retraso entre ellos */
.instagram-float { animation: fadeInUp 0.5s ease 0.2s both; }
.facebook-float { animation: fadeInUp 0.5s ease 0.4s both; }
.whatsapp-float { animation: fadeInUp 0.5s ease 0.6s both; }
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
/* Responsive */
@media (max-width: 768px) {
.social-float-container {
bottom: 20px;
right: 20px;
}
.social-button {
width: 60px;
height: 60px;
}
.social-icon {
font-size: 25px;
}
.social-tooltip {
display: none;
}
}
azul
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=Poppins:wght@300;400;500;600;700;800&display=swaphttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css:root {
--azul-900: #0a4e8a;
--azul-800: #0d5c9f;
--azul-700: #0f6cc9;
--azul-600: #1679db;
--azul-500: #1e90ff;
--azul-400: #4da6ff;
--azul-300: #80bfff;
--azul-200: #b3d9ff;
--azul-100: #e0f0ff;
--celeste-100: #eaf4ff;
--gris-900: #111827;
--gris-800: #1f2937;
--gris-700: #374151;
--gris-600: #4b5563;
--gris-500: #6b7280;
--gris-400: #9ca3af;
--gris-300: #d1d5db;
--gris-200: #e5e7eb;
--gris-100: #f3f4f6;
--gris-50: #f9fafb;
--radius-lg: 16px;
--radius-xl: 24px;
--shadow-soft: 0 10px 30px rgba(0,0,0,.08);
--shadow-medium: 0 15px 40px rgba(0,0,0,.12);
--shadow-large: 0 20px 50px rgba(0,0,0,.15);
/* Transiciones */
--transition-fast: 0.3s ease;
--transition-normal: 0.5s ease;
--transition-slow: 0.8s ease;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
color: var(--gris-800);
line-height: 1.6;
overflow-x: hidden;
scroll-behavior: smooth;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 700;
line-height: 1.2;
margin-bottom: 0.5em;
}
.text-brand { color: var(--azul-700); }
.bg-brand { background: linear-gradient(135deg, var(--azul-900), var(--azul-700)); }
/* Animaciones */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
.animate-fadeIn {
animation: fadeIn 1s var(--transition-normal) forwards;
opacity: 0;
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
.animate-pulse-slow {
animation: pulse 2s ease-in-out infinite;
}
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }
.delay-4 { animation-delay: 0.8s; }
.delay-5 { animation-delay: 1s; }
/* Navbar mejorada */
.navbar {
background: rgba(255, 255, 255, 0.95) !important;
backdrop-filter: blur(10px);
box-shadow: 0 4px 20px rgba(2, 31, 71, 0.08);
padding: 0.8rem 0;
transition: all var(--transition-fast);
}
.navbar.scrolled {
padding: 0.5rem 0;
}
.navbar-brand {
font-weight: 800;
font-size: 1.8rem;
letter-spacing: -0.5px;
}
.navbar .nav-link {
font-weight: 500;
position: relative;
margin: 0 0.5rem;
transition: all var(--transition-fast);
}
.navbar .nav-link:after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 2px;
background: var(--azul-500);
transition: all var(--transition-fast);
transform: translateX(-50%);
}
.navbar .nav-link:hover:after,
.navbar .nav-link.active:after {
width: 100%;
}
.btn-whatsapp {
background: #25D366;
color: #fff;
font-weight: 600;
border-radius: 50px;
padding: 0.5rem 1.2rem;
transition: all var(--transition-fast);
box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}
.btn-whatsapp:hover {
background: #1db857;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
}
/* Hero mejorado */
.hero {
background: linear-gradient(135deg, var(--azul-900) 0%, var(--azul-700) 50%, var(--azul-500) 100%);
color: #fff;
position: relative;
overflow: hidden;
padding: 7rem 0 5rem;
}
.hero:before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 600px;
height: 600px;
background: rgba(255, 255, 255, 0.05);
border-radius: 50%;
z-index: 1;
}
.hero:after {
content: '';
position: absolute;
bottom: -30%;
left: -10%;
width: 500px;
height: 500px;
background: rgba(255, 255, 255, 0.03);
border-radius: 50%;
z-index: 1;
}
.hero-content {
position: relative;
z-index: 2;
}
.hero h1 {
font-size: 3.2rem;
font-weight: 800;
line-height: 1.2;
margin-bottom: 1.5rem;
}
.hero-badge {
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 50px;
padding: 0.5rem 1.2rem;
font-size: 0.85rem;
font-weight: 500;
margin-bottom: 1.5rem;
display: inline-block;
}
.hero-card {
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
backdrop-filter: blur(12px);
border-radius: var(--radius-xl);
padding: 2rem;
color: #fff;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
transition: all var(--transition-normal);
}
.hero-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.btn-hero-primary {
background: #fff;
color: var(--azul-700);
font-weight: 600;
border-radius: 50px;
padding: 0.8rem 2rem;
transition: all var(--transition-fast);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.btn-hero-primary:hover {
background: var(--gris-100);
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.btn-hero-secondary {
background: transparent;
color: #fff;
border: 2px solid rgba(255, 255, 255, 0.3);
font-weight: 500;
border-radius: 50px;
padding: 0.8rem 2rem;
transition: all var(--transition-fast);
}
.btn-hero-secondary:hover {
background: rgba(255, 255, 255, 0.1);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-3px);
}
/* Secciones */
.section {
padding: 6rem 0;
position: relative;
}
.section-title {
font-size: 2.8rem;
font-weight: 800;
margin-bottom: 1rem;
background: linear-gradient(135deg, var(--azul-900), var(--azul-700));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-subtitle {
color: var(--gris-600);
font-size: 1.2rem;
margin-bottom: 3rem;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
.lead-muted {
color: rgba(255, 255, 255, 0.8);
}
.bullet-check li {
padding-left: 2rem;
position: relative;
margin: 0.8rem 0;
list-style: none;
}
.bullet-check li:before {
content: "✓";
position: absolute;
left: 0;
color: var(--azul-700);
font-weight: 900;
width: 24px;
height: 24px;
background: var(--azul-100);
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.8rem;
}
.card-feature {
border: none;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-soft);
transition: all v
/* ...cortado... */
/* ===== Footer Azul Servicios (celestón fuerte) ===== */
.footer-azul{
--celeste: #0d5ea3;
--celeste-dark: #09497f;
--tinta-clara: #ffffff;
/* fuerza color de fondo */
background: var(--celeste) !important;
background-image: none !important;
background-color: var(--celeste) !important;
color: var(--tinta-clara);
border-top: 0;
}
/* títulos y textos */
.footer-azul .brand{ color:#fff; font-weight:800; letter-spacing:.3px; margin-bottom:.35rem; }
.footer-azul .sub{ color: rgba(255,255,255,.9); }
/* secciones / links */
.footer-azul .section-title{
color: #cde7ff;
text-transform: uppercase; letter-spacing:.08em;
font-weight:700; font-size:.8rem; margin-bottom:.9rem;
}
.footer-azul .footer-link{
color:#fff; opacity:.95; text-decoration:none; transition:opacity .15s ease;
}
.footer-azul .footer-link:hover{ opacity:1; }
/* mapa y separador */
.footer-azul .map-thumb{
border-radius:14px; overflow:hidden;
border:1px solid rgba(255,255,255,.25);
box-shadow:0 8px 18px rgba(0,0,0,.25);
}
.footer-azul .divider{ border-color: rgba(255,255,255,.25) !important; opacity:1; }
/* redes */
.footer-azul .social{ display:flex; gap:.65rem; }
.footer-azul .social a{
width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
background: rgba(255,255,255,.15);
border:1px solid rgba(255,255,255,.25);
color:#fff; border-radius:50%;
text-decoration:none; transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.footer-azul .social a:hover{
transform: translateY(-2px);
background: rgba(255,255,255,.28);
border-color: rgba(255,255,255,.35);
}
/* volver arriba */
.footer-azul .back-top{ color:#fff; text-decoration:none; font-weight:600; }
.footer-azul .back-top:hover{ color:#e9f4ff; }
@media (max-width:576px){
.footer-azul .cols-top > [class*="col-"]{ margin-bottom:.35rem; }
}
.social-float{
position: fixed;
bottom: 20px;
right: 20px;
display: flex;
flex-direction: column;
gap: 12px;
z-index: 9999;
}
.social-float .float-btn{
width: 52px;
height: 52px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 24px;
text-decoration: none;
box-shadow: 0 4px 14px rgba(0,0,0,.25);
transition: transform .2s ease, box-shadow .2s ease;
}
.social-float .float-btn:hover{
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(0,0,0,.35);
}
.float-btn.whatsapp{ background: #25D366; }
.float-btn.email{ background: #0d6efd; } /* azul Bootstrap */
mantenimientototalbahia.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap:root {
--primary: #2a5bd7;
--primary-dark: #1e4bb6;
--secondary: #ff6b35;
--dark: #1a1a2e;
--light: #f8f9fa;
--success: #28a745;
--carousel-height: 550px;
--box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
--transition: all 0.3s ease;
}
body {
font-family: 'Poppins', sans-serif;
scroll-behavior: smooth;
color: #444;
line-height: 1.7;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
font-weight: 700;
}
/* ===== NAVBAR ===== */
.navbar {
background-color: var(--dark);
padding: 15px 0;
transition: var(--transition);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.navbar.scrolled {
padding: 10px 0;
background-color: rgba(26, 26, 46, 0.95);
backdrop-filter: blur(10px);
}
.navbar-brand {
font-weight: 700;
font-size: 1.5rem;
color: white !important;
display: flex;
align-items: center;
}
.navbar-brand i {
margin-right: 10px;
color: var(--secondary);
}
.nav-link {
color: rgba(255, 255, 255, 0.85) !important;
font-weight: 500;
margin: 0 8px;
transition: var(--transition);
position: relative;
padding: 8px 12px !important;
}
.nav-link:hover {
color: white !important;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 12px;
width: 0;
height: 2px;
background-color: var(--secondary);
transition: var(--transition);
}
.nav-link:hover::after {
width: calc(100% - 24px);
}
.navbar-toggler {
border: none;
padding: 8px;
}
.navbar-toggler:focus {
box-shadow: none;
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
/* ===== HERO SECTION ===== */
.hero {
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%), url('img/mtb.jpeg') center/cover no-repeat fixed;
padding: 100px 0 100px;
text-align: center;
color: white;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxkZWZzPjxwYXR0ZXJuIGlkPSJwYXR0ZXJuIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSg0NSkiPjxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0icmdiYSgyNTUsMjU1LDI1NSwwLjA1KSIvPjwvcGF0dGVybj48L2RlZnM+PHJlY3QgZmlsbD0idXJsKCNwYXR0ZXJuKSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIvPjwvc3ZnPg==');
opacity: 0.5;
}
.hero h1 {
font-size: 1.5rem;
font-weight: 800;
margin-bottom: 20px;
position: relative;
z-index: 1;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.hero p {
font-size: 1.3rem;
max-width: 700px;
margin: 0 auto 30px;
position: relative;
z-index: 1;
opacity: 0.9;
}
.hero .btn {
position: relative;
z-index: 1;
padding: 12px 30px;
font-weight: 600;
border-radius: 50px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
transition: var(--transition);
border: none;
background-color: var(--secondary);
}
.hero .btn:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
background-color: #ff5a1f;
}
/* ===== SECTION STYLES ===== */
.section {
padding: 80px 0;
}
.section-title {
text-align: center;
margin-bottom: 60px;
font-size: 2.5rem;
font-weight: 700;
color: var(--dark);
position: relative;
}
.section-title::after {
content: '';
position: absolute;
bottom: -15px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 4px;
background: linear-gradient(90deg, var(--primary), var(--secondary));
border-radius: 2px;
}
.section-subtitle {
text-align: center;
max-width: 700px;
margin: 0 auto 50px;
color: #666;
font-size: 1.1rem;
}
/* ===== CARD STYLES ===== */
.card {
border: none;
border-radius: 12px;
overflow: hidden;
box-shadow: var(--box-shadow);
transition: var(--transition);
height: 100%;
background-color: white;
}
.card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}
.card-icon {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 20px;
}
.card-title {
font-weight: 700;
color: var(--dark);
margin-bottom: 15px;
}
.card-body {
padding: 30px;
}
/* ===== ABOUT SECTION ===== */
.about-img {
border-radius: 12px;
overflow: hidden;
box-shadow: var(--box-shadow);
}
.about-img img {
width: 75%;
height: auto;
transition: var(--transition);
}
.about-img:hover img {
transform: scale(1.03);
}
.feature-list {
list-style: none;
padding: 0;
}
.feature-list li {
margin-bottom: 15px;
padding-left: 30px;
position: relative;
}
.feature-list li::before {
content: '\f00c';
font-family: 'Font Awesome 6 Free';
font-weight: 900;
position: absolute;
left: 0;
top: 2px;
color: var(--success);
}
/* ===== SERVICES SECTION ===== */
.services-section {
background-color: #f9fafc;
}
.service-card {
position: relative;
overflow: hidden;
}
.service-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
opacity: 0;
transition: var(--transition);
z-index: 0;
}
.service-card:hover::before {
opacity: 0.9;
}
.service-card .card-body {
position: relative;
z-index: 1;
}
.service-card:hover .card-icon,
.service-card:hover .card-title,
.service-card:hover .card-text,
.service-card:hover ul {
color: white;
}
.service-card:hover ul li::before {
color: white;
}
/* ===== TECHISTAS SECTION ===== */
.techistas-section {
background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ed 100%);
}
.techista-card {
text-align: center;
padding: 30px;
}
.techista-img {
width: 150px;
height: 150px;
border-radius: 50%;
object-fit: cover;
border: 5px solid white;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
margin: 0 auto 20px;
}
/* ===== GALLERY SECTION ===== */
.gallery-section {
background-color: #f9fafc;
}
#carouselTrabajos {
border-radius: 12px;
overflow: hidden;
box-shadow: var(--box-shadow);
}
#carouselTrabajos .carousel-item {
trans
/* ...cortado... */
.flotante {
position: fixed;
bottom: 30px;
right: 30px;
display: flex;
flex-direction: column;
gap: 15px;
z-index: 1000;
}
.boton-flotante {
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
transition: all 0.3s ease;
cursor: pointer;
overflow: hidden;
position: relative;
}
.boton-flotante:hover {
transform: translateY(-5px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
.boton-flotante img {
width: 30px;
height: 30px;
}
.facebook {
background: linear-gradient(135deg, #1877F2, #0A5BC4);
}
.instagram {
background: linear-gradient(135deg, #E1306C, #C13584, #833AB4, #5851DB, #405DE6);
}
.whatsapp {
background: linear-gradient(135deg, #25D366, #128C7E);
}
.tooltip {
position: absolute;
right: 70px;
background-color: #333;
color: white;
padding: 5px 10px;
border-radius: 5px;
font-size: 14px;
white-space: nowrap;
opacity: 0;
transition: opacity 0.3s;
pointer-events: none;
}
.boton-flotante:hover .tooltip {
opacity: 1;
}
@media (max-width: 768px) {
.flotante {
bottom: 20px;
right: 20px;
}
.boton-flotante {
width: 50px;
height: 50px;
}
}
revestimientosplasticosav.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/font-awesome/5.15.4/css/all.min.csshttps://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap:root {
/* Paleta de colores mejorada */
--primary: #761a1c;
--primary-dark: #1d4ed8;
--primary-light: #3b82f6;
--secondary: #5a3e46;
--accent: #f59e0b;
--dark: #0f172a;
--dark-light: #1e293b;
--muted: #64748b;
--light: #f8fafc;
--white: #ffffff;
/* Sombras */
--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
/* Bordes */
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 16px;
--radius-xl: 24px;
/* Espaciado */
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 24px;
--space-xl: 32px;
--space-xxl: 48px;
}
/* ---------------------------------------------
Estilos generales
----------------------------------------------*/
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
max-width: 100%;
overflow-x: clip; /* evita scroll lateral fantasma en móviles */
}
body {
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
color: var(--dark);
background-color: var(--light);
line-height: 1.6;
}
img, video {
max-width: 100%;
height: auto;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Playfair Display', serif;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1rem;
}
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
font-family: 'Playfair Display', serif;
}
.text-gradient {
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-title {
position: relative;
display: inline-block;
margin-bottom: 2.5rem;
}
.section-title:after {
content: '';
position: absolute;
bottom: -12px;
left: 0;
width: 60px;
height: 4px;
background: linear-gradient(to right, var(--primary), var(--secondary));
border-radius: 2px;
}
.section-title.center:after {
left: 50%;
transform: translateX(-50%);
}
.btn {
font-weight: 600;
border-radius: var(--radius-md);
padding: 0.75rem 1.5rem;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.btn-brand {
background: linear-gradient(135deg, var(--primary), var(--secondary));
color: var(--white);
border: none;
box-shadow: var(--shadow-md);
}
.btn-brand:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
color: var(--white);
}
.btn-outline-brand {
border: 2px solid var(--primary);
color: var(--primary);
background: transparent;
}
.btn-outline-brand:hover {
background: var(--primary);
color: var(--white);
border-color: var(--primary);
}
.section {
padding: 6rem 0;
position: relative;
}
.bg-light-custom {
background-color: var(--light);
}
.bg-white-custom {
background-color: var(--white);
}
.bg-gradient-primary {
background: linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, rgba(14, 165, 233, 0.05) 100%);
}
/* Animaciones */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
.animate-fadeIn {
animation: fadeIn 1s ease forwards;
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
/* ---------------------------------------------
NAVBAR MEJORADA + FIX ICONO HAMBURGUESA
----------------------------------------------*/
.navbar {
backdrop-filter: saturate(1.8) blur(12px);
background: rgba(255, 255, 255, 0.92) !important;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: var(--shadow-sm);
padding: 0.75rem 0;
transition: all 0.3s ease;
}
.navbar-brand {
font-family: 'Playfair Display', serif;
font-weight: 800;
font-size: 1.5rem;
color: var(--dark);
}
.navbar-brand span {
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.nav-link {
font-weight: 500;
color: var(--dark);
position: relative;
padding: 0.5rem 1rem !important;
transition: all 0.3s ease;
}
.nav-link:before {
content: '';
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 2px;
background: linear-gradient(to right, var(--primary), var(--secondary));
transition: all 0.3s ease;
transform: translateX(-50%);
}
.nav-link:hover:before,
.nav-link.active:before {
width: 70%;
}
.navbar-toggler {
border: 1px solid rgba(15, 23, 42, .2);
padding: .35rem .5rem;
border-radius: .5rem;
}
/* Forzamos el ícono hamburguesa para que se vea siempre,
ya que no estamos usando .navbar-light/.navbar-dark */
.navbar-toggler-icon {
width: 1.5em;
height: 1.5em;
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(15,23,42,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-toggler:focus {
box-shadow: 0 0 0 .2rem rgba(37,99,235,.25);
}
/* ---------------------------------------------
HERO MEJORADO
----------------------------------------------*/
.hero {
position: relative;
padding: 8rem 0 6rem;
overflow: hidden;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.95) 100%),
url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" preserveAspectRatio="none"><polygon fill="%23f1f5f9" points="0,0 1000,800 0,800"/></svg>');
background-size: cover;
background-position: center;
}
.hero:before {
content: '';
position: absolute;
top: -100px;
right: -100px;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(37, 99, 235, 0.1) 0%, rgba(37, 99, 235, 0) 70%);
z-index: 0;
pointer-events: none;
}
.hero:after {
content: '';
position: absolute;
bottom: -100px;
left: -100px;
width: 400px;
height: 400px;
border-radius: 50%;
background: radial-gradient(circle, rgba(14, 165, 233, 0.1) 0%, rgba(14, 165, 233, 0) 70%);
z-index: 0;
pointer-events: none;
}
.hero-content {
position: relative;
z-index: 2;
}
.hero-badge {
display: inline-block;
background: linear-gradient(135deg, rgba(37, 99, 235, 0.1), rgba(14, 165, 233, 0.1));
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 50px;
font-weight: 600;
font-size: 0.875re
/* ...cortado... */
:root{
/* Ajustá estos colores al gusto del logo */
--brand-a:#0ea5e9; /* celeste */
--brand-b:#6366f1; /* violeta */
--ring-size:2px;
--radius:22px;
}
.logo-card{
/* Tamaño controlado y responsivo */
--size: clamp(220px, 38vw, 420px);
width: var(--size);
aspect-ratio: 1 / 1;
position: relative;
border-radius: var(--radius);
overflow: hidden;
background: #0b1020; /* base oscura para resaltar el logo */
box-shadow:
0 18px 40px rgba(2, 6, 23, .18),
inset 0 0 0 1px rgba(255,255,255,.04);
transition: transform .25s ease, box-shadow .25s ease;
}
/* Borde gradiente fino animado (sin invadir el contenido) */
.logo-card::before{
content:"";
position:absolute; inset:0;
padding: var(--ring-size);
border-radius: inherit;
background: conic-gradient(from 0deg,
var(--brand-a),
var(--brand-b),
var(--brand-a)
);
-webkit-mask:
linear-gradient(#000 0 0) content-box,
linear-gradient(#000 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
animation: spin 12s linear infinite;
opacity:.9;
pointer-events:none;
}
/* Fondo leve con luz radial (muy sutil) */
.logo-card::after{
content:"";
position:absolute; inset:0;
background:
radial-gradient(60% 60% at 70% 20%, rgba(99,102,241,.12), transparent 60%),
radial-gradient(50% 50% at 10% 90%, rgba(14,165,233,.10), transparent 60%);
pointer-events:none;
}
.logo-card img{
width:100%; height:100%;
object-fit: contain; /* respeta proporciones del logo */
background:#fff; /* borde blanco prolijo alrededor del logo */
padding: clamp(12px, 3.2vw, 22px);
border-radius: calc(var(--radius) - 2px);
transform: translateZ(0);
animation: soft-zoom 14s ease-in-out infinite alternate;
filter: saturate(1.02) contrast(1.02);
}
/* Brillo que cruza suavemente */
.logo-card .gloss{
position:absolute; inset:-20%;
background: linear-gradient(110deg,
rgba(255,255,255,0) 42%,
rgba(255,255,255,.28) 50%,
rgba(255,255,255,0) 58%
);
transform: translateX(-110%);
animation: gloss 6.5s ease-in-out infinite;
mix-blend-mode: screen;
pointer-events:none;
}
/* Interacción sutil (sin “girar todo”) */
@media (hover:hover){
.logo-card:hover{
transform: translateY(-4px) scale(1.01);
box-shadow:
0 24px 56px rgba(2, 6, 23, .22),
inset 0 0 0 1px rgba(255,255,255,.05);
}
}
/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
.logo-card::before, .logo-card img, .logo-card .gloss { animation: none !important; }
}
/* Animaciones */
@keyframes spin { to { transform: rotate(1turn); } }
@keyframes gloss{
0% { transform: translateX(-110%); }
48% { transform: translateX(15%); }
100% { transform: translateX(120%); }
}
@keyframes soft-zoom{
0% { transform: scale(1.00); }
100% { transform: scale(1.03); }
}
.lb-root[hidden] { display:none; }
.lb-root{
position:fixed; inset:0; z-index:1100;
display:flex; align-items:center; justify-content:center;
}
.lb-backdrop{
position:absolute; inset:0; background:rgba(0,0,0,.85);
backdrop-filter:saturate(120%) blur(2px);
}
.lb-frame{
position:relative; z-index:1; max-width:90vw; max-height:90vh;
display:flex; align-items:center; justify-content:center;
}
.lb-img{
max-width:90vw; max-height:90vh; width:auto; height:auto;
box-shadow:0 10px 30px rgba(0,0,0,.5); border-radius:10px;
user-select:none; -webkit-user-drag:none;
}
.lb-btn{
position:absolute; top:50%; transform:translateY(-50%);
border:0; background:rgba(255,255,255,.12); color:#fff;
width:48px; height:48px; border-radius:999px; cursor:pointer;
display:flex; align-items:center; justify-content:center;
font-size:28px; line-height:1; transition:background .2s ease;
}
.lb-btn:hover{ background:rgba(255,255,255,.22); }
.lb-prev{ left:12px; }
.lb-next{ right:12px; }
.lb-close{
position:absolute; top:14px; right:14px; z-index:2;
border:0; background:rgba(255,255,255,.12); color:#fff;
width:40px; height:40px; border-radius:999px; cursor:pointer;
font-size:24px; line-height:1;
}
.lb-counter{
position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
color:#fff; font-size:13px; background:rgba(0,0,0,.45);
padding:6px 10px; border-radius:999px; letter-spacing:.3px;
}
/* ================= FOOTER NUEVO ================= */
.site-footer{
position: relative;
color: #e2e8f0;
background: linear-gradient(135deg, var(--dark, #0f172a) 0%, var(--dark-light, #1e293b) 100%);
padding: 3.5rem 0 2rem;
overflow: hidden;
border-top: 1px solid rgba(255,255,255,.06);
}
/* banda superior decorativa */
.site-footer .footer-topbar{
position:absolute; top:0; left:0; right:0; height:4px;
background: linear-gradient(90deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
opacity:.9;
}
.site-footer .footer-brand{
font-family: 'Playfair Display', serif;
font-weight: 800;
font-size: 1.7rem;
color: #fff;
text-decoration: none;
}
.site-footer .footer-brand span{
background: linear-gradient(135deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
-webkit-background-clip: text; background-clip: text;
-webkit-text-fill-color: transparent;
}
.site-footer .footer-text{ color:#cbd5e1; }
.site-footer .footer-heading{
color:#e5e7eb; font-weight:700; letter-spacing:.3px; margin-bottom:.75rem;
}
.site-footer .footer-links a{
display:inline-block; padding:.25rem 0; color:#cbd5e1; text-decoration:none; position:relative;
}
.site-footer .footer-links a::after{
content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
background: linear-gradient(90deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
transition:width .25s ease;
}
.site-footer .footer-links a:hover{ color:#fff; }
.site-footer .footer-links a:hover::after{ width:100%; }
.site-footer .footer-contact li{
margin-bottom:.35rem; color:#cbd5e1;
}
.site-footer .footer-contact a{
color:#cbd5e1; text-decoration:none;
}
.site-footer .footer-contact a:hover{ color:#fff; }
.site-footer .social-btn{
width:40px; height:40px; border-radius:50%;
display:flex; align-items:center; justify-content:center;
background: rgba(255,255,255,.06);
color:#fff; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
border:1px solid rgba(255,255,255,.08);
}
.site-footer .social-btn:hover{
background: rgba(255,255,255,.12); transform: translateY(-2px);
box-shadow: 0 6px 14px rgba(0,0,0,.18);
}
.site-footer .btn-footer-cta{
display:inline-flex; align-items:center; gap:.35rem;
background: linear-gradient(135deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
color:#fff; border:none; padding:.6rem .9rem; border-radius:10px; font-weight:600; text-decoration:none;
box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.site-footer .btn-footer-cta:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.site-footer .footer-bottom{
border-top: 1px solid rgba(255,255,255,.08);
}
/* Botón volver arriba */
.site-footer .to-top{
position:absolute; right:12px; bottom:18px; width:42px; height:42px;
display:flex; align-items:center; justify-content:center;
border-radius:50%; color:#fff; text-decoration:none;
background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
transition:transform .2s ease, background .2s ease;
}
.site-footer .to-top:hover{ transform: translateY(-2px); background: rgba(255,255,255,.15); }
/* Responsive tweaks */
@media (max-width: 767px){
.site-footer{ padding: 2.5rem 0 2rem; }
.site-footer .footer-brand{ font-size:1.5rem; }
}
/* ================= FOOTER NUEVO ================= */
.site-footer{
position: relative;
color: #e2e8f0;
background: linear-gradient(135deg, var(--dark, #0f172a) 0%, var(--dark-light, #1e293b) 100%);
padding: 3.5rem 0 2rem;
overflow: hidden;
border-top: 1px solid rgba(255,255,255,.06);
}
/* banda superior decorativa */
.site-footer .footer-topbar{
position:absolute; top:0; left:0; right:0; height:4px;
background: linear-gradient(90deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
opacity:.9;
}
.site-footer .footer-brand{
font-family: 'Playfair Display', serif;
font-weight: 800;
font-size: 1.7rem;
color: #fff;
text-decoration: none;
}
.site-footer .footer-brand span{
background: linear-gradient(135deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
-webkit-background-clip: text; background-clip: text;
-webkit-text-fill-color: transparent;
}
.site-footer .footer-text{ color:#cbd5e1; }
.site-footer .footer-heading{
color:#e5e7eb; font-weight:700; letter-spacing:.3px; margin-bottom:.75rem;
}
.site-footer .footer-links a{
display:inline-block; padding:.25rem 0; color:#cbd5e1; text-decoration:none; position:relative;
}
.site-footer .footer-links a::after{
content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
background: linear-gradient(90deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
transition:width .25s ease;
}
.site-footer .footer-links a:hover{ color:#fff; }
.site-footer .footer-links a:hover::after{ width:100%; }
.site-footer .footer-contact li{
margin-bottom:.35rem; color:#cbd5e1;
}
.site-footer .footer-contact a{
color:#cbd5e1; text-decoration:none;
}
.site-footer .footer-contact a:hover{ color:#fff; }
.site-footer .social-btn{
width:40px; height:40px; border-radius:50%;
display:flex; align-items:center; justify-content:center;
background: rgba(255,255,255,.06);
color:#fff; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
border:1px solid rgba(255,255,255,.08);
}
.site-footer .social-btn:hover{
background: rgba(255,255,255,.12); transform: translateY(-2px);
box-shadow: 0 6px 14px rgba(0,0,0,.18);
}
.site-footer .btn-footer-cta{
display:inline-flex; align-items:center; gap:.35rem;
background: linear-gradient(135deg, var(--primary, #2563eb), var(--secondary, #5a3e46));
color:#fff; border:none; padding:.6rem .9rem; border-radius:10px; font-weight:600; text-decoration:none;
box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.site-footer .btn-footer-cta:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.site-footer .footer-bottom{
border-top: 1px solid rgba(255,255,255,.08);
}
/* Botón volver arriba */
.site-footer .to-top{
position:absolute; right:12px; bottom:18px; width:42px; height:42px;
display:flex; align-items:center; justify-content:center;
border-radius:50%; color:#fff; text-decoration:none;
background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
transition:transform .2s ease, background .2s ease;
}
.site-footer .to-top:hover{ transform: translateY(-2px); background: rgba(255,255,255,.15); }
/* Responsive tweaks */
@media (max-width: 767px){
.site-footer{ padding: 2.5rem 0 2rem; }
.site-footer .footer-brand{ font-size:1.5rem; }
}
/* === FX extra para el logo === */
.logo-card {
transform-style: preserve-3d;
will-change: transform, box-shadow;
}
/* entrada suave en scroll */
.logo-card.reveal {
opacity: 0;
transform: translateY(16px) scale(.96);
transition: transform .8s cubic-bezier(.2,.8,.2,1), opacity .6s ease;
}
.logo-card.reveal.is-visible {
opacity: 1;
transform: translateY(0) scale(1);
}
/* zoom + fade suave sobre la imagen */
.logo-card img {
transition: transform 900ms ease, filter 600ms ease, opacity 600ms ease;
opacity: .98;
}
.logo-card:hover img {
transform: scale(1.06);
filter: saturate(1.08) contrast(1.05);
opacity: 1;
}
/* brillo barre un poco más lento cuando está visible */
.logo-card.reveal.is-visible .gloss {
animation-duration: 7.5s;
}
/* en dispositivos táctiles quitamos tilt fuerte */
@media (hover:none), (pointer:coarse) {
.logo-card { transform: none !important; }
.logo-card:hover img { transform: scale(1.03); }
}