Preview de mixed.css
/* MIXED CSS PACK */
/* Template: servi-max.com.ar/index.html */
/* Template mtime: 2025-10-24 17:06:30 */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap */
/* ===== INLINE <style> BLOCK #1 ===== */
:root {
/* Paleta de colores moderna y profesional */
--primary: #2563eb;
--primary-dark: #1d4ed8;
--primary-light: #3b82f6;
--secondary: #0ea5e9;
--accent: #f59e0b;
--text-900: #0f172a;
--text-700: #334155;
--text-500: #64748b;
--text-300: #cbd5e1;
--surface: #ffffff;
--muted: #f8fafc;
--muted-dark: #f1f5f9;
--border: #e2e8f0;
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--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);
--radius: 12px;
--radius-lg: 16px;
--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
html, body {
overflow-x: hidden;
scroll-behavior: smooth;
}
body {
font-family: "Outfit", "Inter", system-ui, -apple-system, sans-serif;
color: var(--text-900);
background: #fff;
line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Inter", system-ui, -apple-system, sans-serif;
font-weight: 700;
line-height: 1.2;
}
a {
color: var(--primary);
text-decoration: none;
transition: var(--transition);
}
a:hover {
color: var(--primary-dark);
}
/* Navbar moderna */
.navbar {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border);
padding: 1rem 0;
transition: var(--transition);
}
.navbar.scrolled {
box-shadow: var(--shadow);
padding: 0.75rem 0;
}
.navbar .nav-link {
font-weight: 500;
position: relative;
padding: 0.5rem 1rem !important;
border-radius: 8px;
transition: var(--transition);
}
.navbar .nav-link:not(.btn):hover {
background: rgba(37, 99, 235, 0.05);
color: var(--primary);
}
.navbar .nav-link.active {
color: var(--primary);
font-weight: 600;
}
.navbar .nav-link.active:after {
content: '';
position: absolute;
bottom: 0;
left: 1rem;
right: 1rem;
height: 2px;
background: var(--primary);
border-radius: 2px;
}
.brand-logo {
height: 39px;
width: auto;
transition: var(--transition);
}
/* Hero section espectacular */
.hero {
padding: 120px 0 80px;
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
position: relative;
overflow: hidden;
}
.hero:before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(circle at 20% 80%, rgba(37, 99, 235, 0.08) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(14, 165, 233, 0.05) 0%, transparent 50%),
radial-gradient(circle at 40% 40%, rgba(245, 158, 11, 0.03) 0%, transparent 50%);
z-index: 0;
}
.hero .container {
position: relative;
z-index: 1;
}
.hero h1{
font-weight: 800;
letter-spacing: -0.02em;
color:#fff !important; /* ONLY the H1 is white */
background:none !important; /* no gradient clip */
-webkit-text-fill-color:#fff !important;
-webkit-background-clip: initial !important;
background-clip: initial !important;
mix-blend-mode: normal !important;
margin-bottom: 1.5rem;
}
.hero .lead {
color: var(--text-700);
font-size: 1.25rem;
margin-bottom: 2rem;
}
.hero .pill {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.75rem 1.25rem;
border: 1px solid var(--border);
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(10px);
border-radius: 50px;
font-size: 0.9rem;
font-weight: 500;
box-shadow: var(--shadow-sm);
margin-bottom: 2rem;
transition: var(--transition);
}
.hero .pill:hover {
transform: translateY(-2px);
box-shadow: var(--shadow);
}
/* Botones mejorados */
.btn {
border-radius: 10px;
font-weight: 600;
padding: 0.75rem 1.5rem;
transition: var(--transition);
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}
.btn-primary {
background: var(--primary);
border-color: var(--primary);
box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.3);
}
.btn-primary:hover {
background: var(--primary-dark);
border-color: var(--primary-dark);
transform: translateY(-2px);
box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.4);
}
.btn-outline-secondary {
border: 2px solid var(--border);
color: var(--text-700);
}
.btn-outline-secondary:hover {
background: var(--muted);
border-color: var(--text-300);
transform: translateY(-2px);
box-shadow: var(--shadow);
}
/* Secciones */
.section {
padding: 80px 0;
}
.section-title {
font-weight: 800;
letter-spacing: -0.02em;
margin-bottom: 1rem;
position: relative;
}
.section-title:after {
content: '';
display: block;
width: 60px;
height: 4px;
background: linear-gradient(90deg, var(--primary), var(--secondary));
border-radius: 2px;
margin-top: 0.75rem;
}
.section-title.text-center:after {
margin-left: auto;
margin-right: auto;
}
/* Cards modernas */
.card-clean {
border: 1px solid var(--border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow);
transition: var(--transition);
overflow: hidden;
background: var(--surface);
}
.card-clean:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-xl);
}
.icon-pill {
display: inline-grid;
place-items: center;
width: 60px;
height: 60px;
border-radius: 16px;
background: linear-gradient(135deg, var(--primary), var(--secondary));
color: white;
font-size: 1.5rem;
box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.3);
transition: var(--transition);
}
.card-clean:hover .icon-pill {
transform: scale(1.05) rotate(5deg);
}
/* Grid servicios */
.svc-icon {
font-size: 22px;
}
/* Ticker (carousel cuadrado 500) */
.trabajos-wrap {
max-width: 1100px;
margin: 0 auto;
}
.square-500 {
width: 100%;
max-width: 500px;
aspect-ratio: 1 / 1;
border-radius: var(--radius-lg);
border: 1px solid var(--border);
background: #fff;
box-shadow: var(--shadow-lg);
margin-inline: auto;
display: grid;
place-items: center;
overflow: hidden;
transition: var(--transition);
}
.square-500:hover {
transform: scale(1.02);
box-shadow: var(--shadow-xl);
}
.square-500 img {
width: 100%;
height: 100%;
object-fit: cover;
transition: var(--transition);
}
.square-500:hover img {
transform: scale(1.05);
}
.carousel-control-prev, .carousel-control-next {
width: 50px;
height: 50px;
background: rgba(255, 255, 255, 0.9);
border-radius: 50%;
top: 50%;
transform: translateY(-50%);
opacity: 0.8;
box-shadow: var(--shadow-lg);
transition: var(--transition);
}
.carousel-control-prev {
left: 20px;
}
.carousel-control-next {
right: 20px;
}
.carousel-control-prev:hover, .carousel-control-next:hover {
opacity: 1;
transform: translateY(-50%) scale(1.1);
}
.carousel-indicators [data-bs-target] {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: var(--primary);
opacity: 0.5;
transition: var(--transition);
}
.carousel-indicators [data-bs-target].active {
opacity: 1;
transform: scale(1.2);
}
.carousel {
--bs-carousel-transition-duration: 0.6s;
}
/* FAQs mejoradas */
.accordion {
--bs-accordion-border-color: var(--border);
--bs-accordion-border-radius: var(--radius);
--bs-accordion-inner-border-radius: calc(var(--radius) - 1px);
--bs-accordion-btn-focus-border-color: var(--primary);
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.25);
}
.accordion-button {
font-weight: 600;
padding: 1.25rem 1.5rem;
background: var(--muted);
}
.accordion-button:not(.collapsed) {
color: var(--primary);
background-color: rgba(37, 99, 235, 0.05);
box-shadow: none;
}
.accordion-button:after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232563eb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-body {
padding: 1.25rem 1.5rem;
}
/* Contacto */
.contact-card {
border: 1px solid var(--border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow);
background: var(--surface);
transition: var(--transition);
}
.contact-card:hover {
box-shadow: var(--shadow-lg);
}
.required:after {
content: " *";
color: #ef4444;
}
.form-control, .form-select {
border-radius: 10px;
border: 1px solid var(--border);
padding: 0.75rem 1rem;
transition: var(--transition);
}
.form-control:focus, .form-select:focus {
border-color: var(--primary);
box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.25);
}
/* Footer */
footer {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
color: #cbd5e1;
padding: 3rem 0 1.5rem;
}
footer a {
color: #e2e8f0;
transition: var(--transition);
}
footer a:hover {
color: #fff;
transform: translateY(-2px);
}
/* Animaciones y efectos */
.fade-in {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
/* Efectos de partículas para el hero */
.particles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
overflow: hidden;
}
.particle {
position: absolute;
background: rgba(37, 99, 235, 0.1);
border-radius: 50%;
animation: float 15s infinite linear;
}
@keyframes float {
0% {
transform: translateY(0) rotate(0deg);
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
}
100% {
transform: translateY(-1000px) rotate(720deg);
opacity: 0;
}
}
/* Responsive adjustments */
@media (max-width: 768px) {
.hero {
padding: 100px 0 60px;
text-align: center;
}
.hero h1 {
font-size: 2.5rem;
}
.section {
padding: 60px 0;
}
.square-500 {
max-width: 100%;
}
.carousel-control-prev, .carousel-control-next {
width: 40px;
height: 40px;
}
.carousel-control-prev {
left: 10px;
}
.carousel-control-next {
right: 10px;
}
}
/* Efectos de brillo y gradientes */
.gradient-text {
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.glow {
box-shadow: 0 0 20px rgba(37, 99, 235, 0.3);
}
/* ===== INLINE <style> BLOCK #2 ===== */
:root{
/* Palette aligned with the logo */
--primary: #1E88E5; /* vivid blue */
--primary-dark: #1565C0;
--primary-light: #42A5F5;
--secondary: #FF6A00; /* orange */
--accent: #FF8C00; /* warm accent */
--text-900: #0e141b; /* near-black for readability */
--text-700: #2b2f33;
--text-500: #6b7280;
--muted: #f7f9fb;
--muted-dark: #eef2f6;
--border: #e3e8ef;
}
/* Icon pills use brand gradient: blue -> orange */
.icon-pill{
background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
width: 56px; height: 56px; border-radius: 14px;
}
/* Slightly smaller service icons inside the pill */
.svc-icon{ font-size: 20px !important; }
/* Buttons pick new brand */
.btn-primary{ background: var(--primary) !important; border-color: var(--primary) !important; }
.btn-primary:hover{ background: var(--primary-dark) !important; border-color: var(--primary-dark) !important; }
.section-title:after{ background: linear-gradient(90deg, var(--primary), var(--secondary)) !important; }
/* Footer accent to orange */
#footer-servimax{ border-top: 3px solid var(--secondary) !important; }
/* HERO tweak for better contrast with new palette */
.hero{
background: linear-gradient(135deg, #f5f7fa 0%, #e9eef5 100%) !important;
}
.hero h1{
/* subtle gradient text using brand */
background: linear-gradient(135deg, var(--text-900), var(--primary)) !important;
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
/* === Mobile compactness === */
@media (max-width: 576px){
/* Reduce general paddings on cards created with utility p-4 */
.card-clean{ padding: 1rem !important; }
/* Icon pill smaller for phone */
.icon-pill{ width: 44px; height: 44px; border-radius: 12px; }
.svc-icon{ font-size: 18px !important; }
/* Headings & lead more compact */
.hero h1{ font-size: 2.05rem !important; line-height: 1.15 !important; }
.hero .lead{ font-size: 1.05rem !important; }
/* Buttons slimmer */
.btn{ padding: .6rem 1rem !important; border-radius: 9px !important; }
/* Brand logo a poco más chico para que la navbar no "salte" */
.brand-logo{ height: 32px !important; }
/* Reduce gaps */
.row.g-5{ --bs-gutter-x: 1.25rem; --bs-gutter-y: 1.25rem; }
/* Carousel controls a tamaño de dedo pero menos invasivos */
#trabajos .carousel-control-prev-icon,
#trabajos .carousel-control-next-icon{ width: 36px; height: 36px; }
/* Grid spacing in Servicios */
#servicios .row.g-4{ --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
/* Smaller FAQ paddings */
.accordion-button{ padding: .9rem 1rem !important; }
.accordion-body{ padding: .9rem 1rem !important; }
}
/* ===== INLINE <style> BLOCK #3 ===== */
/* Make prev/next controls round, visible, and always on */
#trabajos .carousel-control-prev,
#trabajos .carousel-control-next{
width: 64px;
opacity: 1 !important;
}
#trabajos .carousel-control-prev-icon,
#trabajos .carousel-control-next-icon{
width: 56px; height: 56px;
border-radius: 50%;
background-color: rgba(17, 24, 39, .75); /* dark circle */
box-shadow: 0 8px 18px rgba(2,6,23,.22);
background-size: 42% 42%;
background-position: center;
background-repeat: no-repeat;
border: 2px solid rgba(255,255,255,.75);
}
/* Replace default Bootstrap svg so they are always visible */
#trabajos .carousel-control-prev-icon{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='white' d='M10.854 1.646a.5.5 0 0 1 0 .708L5.207 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>");
}
#trabajos .carousel-control-next-icon{
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='white' d='M5.146 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 1 1-.708-.708L10.293 8 5.146 2.354a.5.5 0 0 1 0-.708z'/></svg>");
}
#trabajos .carousel-control-prev:hover .carousel-control-prev-icon,
#trabajos .carousel-control-next:hover .carousel-control-next-icon{
background-color: rgba(17, 24, 39, .9);
transform: scale(1.03);
}
/* Brand ring with blue→orange gradient */
#trabajos .carousel-control-prev-icon,
#trabajos .carousel-control-next-icon{
position: relative;
overflow: hidden;
}
#trabajos .carousel-control-prev-icon::after,
#trabajos .carousel-control-next-icon::after{
content: "";
position: absolute; inset: 0;
border-radius: 50%;
padding: 2px; /* ring width */
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-mask:
radial-gradient(farthest-side, #0000 calc(100% - 2px), #000 calc(100% - 1px)) content-box,
radial-gradient(farthest-side, #000 100%, #0000 0) border-box;
mask:
radial-gradient(farthest-side, #0000 calc(100% - 2px), #000 calc(100% - 1px)) content-box,
radial-gradient(farthest-side, #000 100%, #0000 0) border-box;
-webkit-mask-composite: xor; mask-composite: exclude;
}
/* Position a bit further from image edges */
#trabajos .carousel-control-prev{ left: -10px; }
#trabajos .carousel-control-next{ right: -10px; }
/* Mobile size */
@media (max-width: 576px){
#trabajos .carousel-control-prev,
#trabajos .carousel-control-next{ width: 56px; }
#trabajos .carousel-control-prev-icon,
#trabajos .carousel-control-next-icon{
width: 46px; height: 46px;
background-size: 44% 44%;
}
#trabajos .carousel-control-prev{ left: -6px; }
#trabajos .carousel-control-next{ right: -6px; }
}
/* ===== INLINE <style> BLOCK #4 ===== */
/* Hide Bootstrap's default icon spans */
#trabajos .carousel-control-prev .carousel-control-prev-icon,
#trabajos .carousel-control-next .carousel-control-next-icon{
display: none !important;
}
/* Use the control itself to render a round button with a glyph */
#trabajos .carousel-control-prev,
#trabajos .carousel-control-next{
width: 72px; opacity: 1 !important;
}
#trabajos .carousel-control-prev::after,
#trabajos .carousel-control-next::after{
content: attr(data-arrow); /* we will set via CSS below as fallback */
display: grid; place-items: center;
width: 56px; height: 56px;
border-radius: 50%;
font-size: 28px; font-weight: 800; line-height: 1;
color: #fff;
background: linear-gradient(135deg, var(--primary), var(--secondary));
box-shadow: 0 8px 18px rgba(2,6,23,.22);
border: 2px solid rgba(255,255,255,.85);
}
/* Explicit characters (safer than attr) */
#trabajos .carousel-control-prev::after{ content: "‹"; } /* single-left angle */
#trabajos .carousel-control-next::after{ content: "›"; }
/* Position and hover */
#trabajos .carousel-control-prev{ left: -8px; }
#trabajos .carousel-control-next{ right: -8px; }
#trabajos .carousel-control-prev:hover::after,
#trabajos .carousel-control-next:hover::after{ transform: scale(1.05); }
@media (max-width: 576px){
#trabajos .carousel-control-prev,
#trabajos .carousel-control-next{ width: 60px; }
#trabajos .carousel-control-prev::after,
#trabajos .carousel-control-next::after{
width: 46px; height: 46px; font-size: 24px;
}
#trabajos .carousel-control-prev{ left: -6px; }
#trabajos .carousel-control-next{ right: -6px; }
}
/* ===== INLINE <style> BLOCK #5 ===== */
/* === Scoped hero text colors (safe) === */
.hero .lead,
.hero p,
.hero small,
.hero .small,
.hero a:not(.btn){ color: var(--text-700) !important; }
.hero .btn, .hero .btn *{ color:#fff !important; }
/* ===== INLINE <style> BLOCK #6 ===== */
/* ====== SOLO BOTONES DEL CAROUSEL EN #trabajos ====== */
#trabajos .carousel-control-prev,
#trabajos .carousel-control-next{
width:auto; /* no estiran el layout */
padding:0 .6rem;
opacity:1; /* bien visibles */
z-index:10; /* por arriba de la imagen */
}
#trabajos .carousel-control-prev-icon,
#trabajos .carousel-control-next-icon{
/* icono nativo de Bootstrap (no máscaras raras) */
-webkit-mask:none !important; mask:none !important;
background-color: rgba(0,0,0,.45); /* círculo oscuro semi */
border-radius: 50%;
width:44px; height:44px; /* botón redondo */
background-repeat:no-repeat;
background-position:center;
background-size: 55% auto; /* flecha un poco más chica */
filter: drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
#trabajos .carousel-control-prev-icon{
background-image: var(--bs-carousel-control-prev-icon-bg) !important;
}
#trabajos .carousel-control-next-icon{
background-image: var(--bs-carousel-control-next-icon-bg) !important;
}
/* por si algún CSS global les baja la opacidad en hover */
#trabajos .carousel-control-prev:hover,
#trabajos .carousel-control-next:hover{
opacity:1;
}
/* mobile: un poco más grandes para el dedo */
@media (max-width:576px){
#trabajos .carousel-control-prev,
#trabajos .carousel-control-next{ padding:0 .8rem }
#trabajos .carousel-control-prev-icon,
#trabajos .carousel-control-next-icon{ width:40px; height:40px }
}
/* ===== INLINE <style> BLOCK #7 ===== */
/* ===== Footer Servi-Max (scope) ===== */
#footer-servimax{
background:#0f1720; /* fondo oscuro elegante */
color:#c9d4df; /* texto suave */
margin:0; /* evita franjas blancas */
border-top: 3px solid #e45841; /* acento sutil */
}
#footer-servimax .brand{
gap:14px;
}
#footer-servimax .brand img{ height:52px }
#footer-servimax .brand .title{
font-weight:700; color:#fff; letter-spacing:.2px
}
#footer-servimax .brand .subtitle{
font-size:.925rem; color:#a6b4c3
}
/* enlaces del menú */
#footer-servimax .footer-nav a{
color:#c9d4df; text-decoration:none; margin-right:1rem
}
#footer-servimax .footer-nav a:last-child{ margin-right:0 }
#footer-servimax .footer-nav a:hover{
color:#fff; text-decoration:underline
}
/* separador */
#footer-servimax hr{
border-color:rgba(255,255,255,.12);
opacity:1
}
/* bloque legal y contacto */
#footer-servimax .legal{
color:#a6b4c3
}
#footer-servimax .legal a{
color:#e3ecf5; text-decoration:none
}
#footer-servimax .legal a:hover{ text-decoration:underline }
/* iconos sociales */
#footer-servimax .social a{
display:inline-flex; align-items:center; justify-content:center;
width:38px; height:38px; border-radius:50%;
background:rgba(255,255,255,.06);
color:#e9f0f6; margin-left:.35rem;
transition:transform .15s ease, background .15s ease
}
#footer-servimax .social a:hover{
background:#e45841; color:#fff; transform:translateY(-2px)
}
/* responsive */
@media (max-width:768px){
#footer-servimax .footer-nav{ margin-top:12px }
#footer-servimax .footer-nav a{ display:inline-block; margin:0 .6rem .4rem 0 }
#footer-servimax .brand img{ height:46px }
}
/* ===== INLINE <style> BLOCK #8 ===== */
/* Vars y estilos scoped para Facebook */
.fb-float{
--fb: #4267B2; --fb-dark: #365899; --fb-darker: #29487d;
position: fixed; right: 18px; bottom: 90px; z-index: 9999; font-family: inherit;
}
.fb-float .fb-btn{
background: linear-gradient(135deg, var(--fb), var(--fb-dark));
color:#fff; border:0; width:60px; height:60px; border-radius:50%;
display:grid; place-items:center; box-shadow:0 10px 30px rgba(0,0,0,.25);
cursor:pointer; transition:transform .3s, box-shadow .3s, background .3s;
position:relative; overflow:hidden; text-decoration: none;
}
.fb-float .fb-btn::after{
content:""; position:absolute; inset:0;
background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
opacity:0; transition:opacity .3s;
}
.fb-float .fb-btn:hover{
transform: translateY(-3px) scale(1.05);
box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.fb-float .fb-btn:hover::after{
opacity:1;
}
/* Responsive */
@media (max-width: 480px){
.fb-float{ right:12px; bottom:84px; }
}
/* ===== INLINE <style> BLOCK #9 ===== */
/* Vars y estilos scoped para evitar choques con el sitio */
.wa-float{
--wa: #25D366; --wa-dark: #128C7E; --wa-darker: #075E54;
--dark-bg: #0b0f18; --darker-bg: #0a1324;
--light-text: #ffffff; --muted-text: rgba(255,255,255,.7);
position: fixed; right: 18px; bottom: 18px; z-index: 9999; font-family: inherit;
}
.wa-float .wa-btn{
background: linear-gradient(135deg, var(--wa), var(--wa-dark));
color:#fff; border:0; width:60px; height:60px; border-radius:50%;
display:grid; place-items:center; box-shadow:0 10px 30px rgba(0,0,0,.25);
cursor:pointer; transition:transform .3s, box-shadow .3s, background .3s; position:relative; overflow:hidden;
}
.wa-float .wa-btn::after{ content:""; position:absolute; inset:0;
background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
opacity:0; transition:opacity .3s;
}
.wa-float .wa-btn:hover{ transform: translateY(-3px) scale(1.05); box-shadow:0 14px 36px rgba(0,0,0,.35); }
.wa-float .wa-btn:hover::after{ opacity:1; }
.wa-float .wa-card{
position:absolute; right:0; bottom:74px; width:min(360px, 92vw);
background: var(--dark-bg); color: var(--light-text); border-radius:18px; overflow:hidden;
box-shadow: 0 18px 60px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.08);
transform: translateY(10px); opacity:0; transition: transform .3s, opacity .3s;
}
.wa-float .wa-card[aria-modal="true"]{ transform: translateY(0); opacity:1; }
.wa-float .wa-head{ display:flex; align-items:center; gap:12px; padding:14px;
background: linear-gradient(180deg, #0d162c, var(--darker-bg)); border-bottom:1px solid rgba(255,255,255,.06);
}
.wa-float .wa-avatar{
width:40px; height:40px; border-radius:8px; background:#0e1a33;
display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); overflow:hidden;
}
.wa-float .wa-title{ font-weight:700; font-size:1.05rem; }
.wa-float .wa-status{ font-size:.85rem; color:var(--muted-text); display:flex; align-items:center; gap:6px; }
.wa-float .wa-status::before{ content:""; width:8px; height:8px; border-radius:50%; background: var(--wa); }
.wa-float .wa-close{ margin-left:auto; background:transparent; color:#fff; border:0; font-size:24px; cursor:pointer; opacity:.7;
width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.2s;
}
.wa-float .wa-close:hover{ opacity:1; background: rgba(255,255,255,.1); }
.wa-float .wa-body{ padding:12px 14px; max-height:40vh; overflow:auto; background: var(--dark-bg);
display:flex; flex-direction:column; gap:8px; }
.wa-float .wa-bubble{ max-width:88%; padding:10px 12px; border-radius:14px; line-height:1.35; box-shadow:0 4px 14px rgba(0,0,0,.25); animation:fadeInWA .25s ease; }
@keyframes fadeInWA{ from{opacity:0; transform:translateY(5px)} to{opacity:1; transform:none} }
.wa-float .wa-bot{ background:#0c1428; border:1px solid rgba(255,255,255,.06); align-self:flex-start; border-bottom-left-radius:4px; }
.wa-float .wa-user{ background: var(--wa-darker); align-self:flex-end; border-bottom-right-radius:4px; }
.wa-float .wa-compose{ display:grid; grid-template-columns:1fr auto; gap:8px; padding:10px; background: var(--dark-bg); border-top:1px solid rgba(255,255,255,.08); }
.wa-float .wa-compose textarea{
resize:none; border-radius:12px; padding:10px 12px; border:1px solid rgba(255,255,255,.12);
background:#0a1324; color:var(--light-text); outline:none; min-height:44px; font-family:inherit; transition:.2s;
}
.wa-float .wa-compose textarea:focus{ border-color: var(--wa); box-shadow: 0 0 0 2px rgba(37,211,102,.15); }
.wa-float .wa-send{ background: var(--wa); color:#0b1220; border:0; border-radius:12px; padding:0 16px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; }
.wa-float .wa-send:hover{ background: var(--wa-dark); transform: scale(1.05); }
/* Scrollbar */
.wa-float .wa-body::-webkit-scrollbar{ width:6px; }
.wa-float .wa-body::-webkit-scrollbar-track{ background: rgba(255,255,255,.05); border-radius:3px; }
.wa-float .wa-body::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.2); border-radius:3px; }
.wa-float .wa-body::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,.3); }
/* Responsive */
@media (max-width: 480px){
.wa-float{ right:12px; bottom:12px; }
.wa-float .wa-card{ width: calc(100vw - 24px); right:0; }
}