@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');

:root {
  /* Paleta FlyingBox */
  --fb-primary: #007bff;
  --fb-primary-hover: #0056b3;
  --fb-secondary: #FF6B00;
  --fb-secondary-hover: #E05D00;
  --fb-light-bg: #f8f9fa;
  --fb-accent-bg: #e7f1ff;
  --fb-success: #198754;
  --fb-whatsapp: #25D366;
  --fb-whatsapp-hover: #1FAF38;
  --fb-white: #ffffff;
  --fb-dark: #212529;
  --fb-text-secondary: #495057;
  --fb-text-light: #6c757d;
  --fb-border: #dee2e6;
  --fb-danger: #dc3545;
  --fb-shadow-light: rgba(0, 0, 0, 0.05);
  --fb-shadow-medium: rgba(0, 0, 0, 0.1);
  --fb-shadow-strong: rgba(0, 123, 255, 0.18);
  --fb-cubic-bezier: cubic-bezier(0.4, 0, 0.2, 1);
  --fb-cubic-bezier-easeout: cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* --- Reset y Base --- */
html { scroll-padding-top: 70px; scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; color: var(--fb-text-secondary); line-height: 1.65; background-color: var(--fb-white); overflow-x: clip; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: relative; }

/* --- Tipografía Base --- */
h1, h2, h3, h4, h5, h6 { font-weight: 700; color: var(--fb-dark); margin-bottom: 0.75em; line-height: 1.3; }
h1 { font-weight: 800; letter-spacing: -1px; }
h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 700; }
h3 { font-size: clamp(1.35rem, 3vw, 1.65rem); font-weight: 600; }
h4 { font-size: clamp(1.1rem, 2.5vw, 1.25rem); font-weight: 600; }
.display-hero-fb { font-size: clamp(2.3rem, 9vw, 4.5rem); font-weight: 800 !important; line-height: 1.15; letter-spacing: -1.5px; margin-bottom: 0.6em; color: var(--fb-white); text-shadow: 0 2px 10px rgba(0,0,0,0.3); }
.display-hero-fb .highlight-fb { color: var(--fb-secondary); }
.hero-lead-fb { font-size: clamp(1rem, 2.8vw, 1.25rem); font-weight: 400; color: rgba(255, 255, 255, 0.95); text-shadow: 0 1px 4px rgba(0,0,0,0.2); }
.section-title-fb { position: relative; margin-bottom: 25px; padding-bottom: 10px; }
.section-title-fb::after { content: ''; display: block; width: 0; height: 4px; background: var(--fb-primary); margin: 10px auto 0; border-radius: 2px; transition: width 0.6s var(--fb-cubic-bezier-easeout) 0.2s; }
.aos-animate .section-title-fb::after { width: 65px; }
.text-lg-start .section-title-fb::after { margin-left: 0; margin-right: auto; }
.subtitle-text-fb { color: var(--fb-text-light); font-weight: 400; margin-top: -10px; margin-bottom: 45px; font-size: clamp(0.9rem, 2vw, 1.05rem); }
p { margin-bottom: 1rem; font-size: clamp(0.9rem, 1.7vw, 1rem); }
strong { font-weight: 600; }
.highlight-strong-fb { color: var(--fb-secondary); font-weight: 700; }
a { color: var(--fb-primary); text-decoration: none; transition: color 0.25s ease; }
a:hover { color: var(--fb-primary-hover); }
.link-cta-fb { color: var(--fb-secondary); font-weight: 600; text-decoration: underline; }
.link-cta-fb:hover { color: var(--fb-secondary-hover); }

/* --- Helpers y Layout --- */
.section-padding { padding: clamp(60px, 10vw, 100px) 0; }
.section-bg-light-fb { background-color: var(--fb-light-bg); }
.section-bg-accent-fb { background-color: var(--fb-accent-bg); }
.section-tagline-fb { font-size: 0.7rem; font-weight: 700; color: var(--fb-primary); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; display: inline-block; }
.lift { transition: transform 0.25s var(--fb-cubic-bezier-easeout), box-shadow 0.25s var(--fb-cubic-bezier-easeout); will-change: transform; }
.lift:hover { transform: translateY(-4px); }
.lift-hover { transition: transform 0.3s var(--fb-cubic-bezier-easeout), box-shadow 0.3s var(--fb-cubic-bezier-easeout), border-color 0.3s ease; will-change: transform, box-shadow; }
.lift-hover:hover { transform: translateY(-7px); box-shadow: 0 10px 30px var(--fb-shadow-medium); }

/* --- Navbar --- */
.navbar-brand .logo-text-secondary { color: var(--fb-primary); }
.logo-byline { display: block; font-size: 0.65rem; color: var(--fb-text-light); line-height: 1; margin-top: -3px; font-weight: 400; opacity: 0.9; letter-spacing: 0.5px; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--fb-primary) !important; }
.navbar-nav .nav-link::before { background-color: var(--fb-primary); }
.navbar-scrolled { box-shadow: 0 3px 10px rgba(0,0,0,0.07); }
/* Rainbow Glow Button (Header - Desktop Only) - RESTAURADO */
@keyframes rainbow-glow-btn-animation { 0%   { box-shadow: 0 0 10px 3px #ff3b3099, 0 0 5px 1px #ff3b30cc inset; } 14%  { box-shadow: 0 0 12px 4px #ff950099, 0 0 6px 1px #ff9500cc inset; } 28%  { box-shadow: 0 0 10px 3px #ffcc0099, 0 0 5px 1px #ffcc00cc inset; } 42%  { box-shadow: 0 0 12px 4px #4cd96499, 0 0 6px 1px #4cd964cc inset; } 57%  { box-shadow: 0 0 10px 3px #007aff99, 0 0 5px 1px #007affcc inset; } 71%  { box-shadow: 0 0 12px 4px #5856d699, 0 0 6px 1px #5856d6cc inset; } 85%  { box-shadow: 0 0 10px 3px #c644fc99, 0 0 5px 1px #c644fccc inset; } 100% { box-shadow: 0 0 12px 4px #ff3b3099, 0 0 6px 1px #ff3b30cc inset; } }
.nav-cta-button.rainbow-glow-btn { position: relative; animation: rainbow-glow-btn-animation 8s linear infinite alternate; background-color: var(--fb-secondary) !important; border-color: var(--fb-secondary) !important; }
.nav-cta-button.rainbow-glow-btn:hover { transform: scale(1.03); background-color: var(--fb-secondary-hover) !important; border-color: var(--fb-secondary-hover) !important; }

/* --- Hero Section FlyingBox --- */
.hero-section-fb { min-height: 90vh; position: relative; overflow: hidden; background-color: #0a2540; }
.hero-section-fb::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, #003973, #007bff, #4dabf7, #007bff, #003973); background-size: 300% 300%; animation: gradient-animation 20s ease infinite alternate; z-index: 0; }
@keyframes gradient-animation { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } }
/* Partículas RESTAURADO */
#particles-js { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; }
.hero-overlay-fb { background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.45) 70%, rgba(0,0,0,0.65) 100%); z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
.hero-content-fb { position: relative; z-index: 3; }
.hero-section-fb .btn-hero-fb { border-radius: 50px; font-weight: 600 !important; letter-spacing: 0.3px; box-shadow: 0 4px 15px rgba(0,0,0,0.15); transition: all 0.3s var(--fb-cubic-bezier-easeout); }
.hero-buttons-fb .btn-primary { background: linear-gradient(45deg, var(--fb-secondary), #FF8C00); border: none; color: var(--fb-white) !important; }
.hero-buttons-fb .btn-primary:hover { transform: scale(1.05) translateY(-3px); box-shadow: 0 8px 25px rgba(255, 107, 0, 0.4); }
.hero-buttons-fb .btn-outline-light { border-width: 2px; border-color: rgba(255, 255, 255, 0.8); color: var(--fb-white) !important; backdrop-filter: blur(2px); }
.hero-buttons-fb .btn-outline-light:hover { background-color: rgba(255, 255, 255, 0.95); color: var(--fb-primary) !important; border-color: var(--fb-white); transform: scale(1.05) translateY(-3px); }

/* Animación Texto H1 */
#hero-headline span { display: inline-block; opacity: 0; transform: translateY(20px) scale(0.8) rotate(5deg); transition: opacity 0.6s var(--fb-cubic-bezier-easeout), transform 0.6s var(--fb-cubic-bezier-easeout); }
#hero-headline span.visible { opacity: 1; transform: translateY(0) scale(1) rotate(0deg); }

/* --- Barra de Confianza --- */
.trust-bar-fb { border-bottom: 1px solid var(--fb-border); background-color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.03);}
.icon-trust-fb { color: var(--fb-success); font-size: 1.1rem; vertical-align: -1px; }
.trust-bar-fb .row > div { font-size: 0.88rem; font-weight: 500; color: var(--fb-text-secondary); padding: 5px 0; }

/* --- Cómo Funciona Section (FIXED & SMOOTH) --- */
.step-card-fb { border: none; box-shadow: 0 6px 25px var(--fb-shadow-light); border-radius: 10px; transition: all 0.4s var(--fb-cubic-bezier-easeout); text-align: center; height: 100%; padding: 30px 20px; display: flex; flex-direction: column; }
.step-icon-fb { width: 75px; height: 75px; font-size: 2.1rem; background: linear-gradient(135deg, var(--fb-accent-bg), var(--fb-white)); box-shadow: 0 4px 12px rgba(13, 110, 253, 0.1); display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; position: relative; margin: 0 auto 1.2rem auto; transition: all 0.4s var(--fb-cubic-bezier-easeout); flex-shrink: 0; }
.step-icon-fb i { line-height: 1; color: var(--fb-primary); transition: transform 0.4s var(--fb-cubic-bezier-easeout), color 0.35s ease; }
.step-icon-fb span { position: absolute; top: -6px; left: -6px; background-color: var(--fb-primary); color: var(--fb-white); box-shadow: 0 2px 5px rgba(0,0,0,0.25); width: 28px; height: 28px; line-height: 28px; font-size: 0.8rem; border-radius: 50%; font-weight: 700; text-align: center; z-index: 1; transition: background-color 0.35s ease, transform 0.35s ease; }
.step-card-fb:hover { box-shadow: 0 12px 40px var(--fb-shadow-medium), 0 0 35px 8px rgba(0, 123, 255, 0.12); transform: translateY(-6px); }
.step-card-fb:hover .step-icon-fb { background: linear-gradient(135deg, var(--fb-primary), var(--fb-primary-hover)); transform: scale(1.15); box-shadow: 0 10px 25px var(--fb-shadow-strong); }
.step-card-fb:hover .step-icon-fb i { color: var(--fb-white); transform: rotate(-8deg); }
.step-card-fb:hover .step-icon-fb span { background-color: var(--fb-secondary); transform: scale(1.1); }
.step-title-fb { font-size: 1.15rem; color: var(--fb-primary); margin-top: 0; transition: color 0.3s ease; }
.step-card-fb:hover .step-title-fb { color: var(--fb-primary-hover); }
.step-text-fb { font-size: 0.88rem; flex-grow: 1; }

/* --- Sección Garantías Visuales --- */
.guarantee-card-fb { background-color: var(--fb-white); padding: 30px 25px; border-radius: 12px; box-shadow: 0 6px 25px var(--fb-shadow-light); border: 1px solid var(--fb-border); height: 100%; transition: all 0.35s var(--fb-cubic-bezier-easeout); }
.guarantee-card-fb:hover { border-color: var(--fb-success); box-shadow: 0 10px 30px rgba(25, 135, 84, 0.1); }
.guarantee-icon-fb { font-size: 2.8rem; color: var(--fb-success); margin-bottom: 1rem; display: inline-block; transition: transform 0.35s ease; }
.guarantee-card-fb:hover .guarantee-icon-fb { transform: scale(1.15); }
.guarantee-title-fb { font-size: 1.25rem; color: var(--fb-dark); margin-bottom: 0.75rem; }
.guarantee-text-fb { font-size: 0.9rem; color: var(--fb-text-secondary); }

/* --- Sección Calculadora Placeholder --- */
.calculator-placeholder-fb { border: 1px solid var(--fb-border); }
.calculator-placeholder-fb .form-select-lg, .calculator-placeholder-fb .form-control-lg { font-size: 1rem; padding: 0.8rem 1.1rem; }
.calculator-placeholder-fb .btn-primary { background-color: var(--fb-secondary); border-color: var(--fb-secondary); }
.calculator-placeholder-fb .btn-primary:hover { background-color: var(--fb-secondary-hover); border-color: var(--fb-secondary-hover); }

/* --- Qué Puedo Traer Section --- */
.category-card-fb { border: none; box-shadow: 0 8px 30px var(--fb-shadow-light); border-radius: 12px; transition: all 0.35s var(--fb-cubic-bezier-easeout); height: 100%; padding: 25px; }
.category-card-fb:hover { transform: translateY(-6px); box-shadow: 0 12px 35px var(--fb-shadow-medium), 0 0 30px 5px rgba(255, 107, 0, 0.1); }
.category-icon-fb { font-size: 2.5rem; color: var(--fb-secondary); transition: transform 0.35s var(--fb-cubic-bezier-easeout); margin-bottom: 1rem; display: inline-block; }
.category-card-fb:hover .category-icon-fb { transform: scale(1.2); }
.category-title-fb { font-size: 1.3rem; color: var(--fb-dark); margin-bottom: 1rem; }
.category-list-fb { padding-left: 0; list-style: none; margin-bottom: 0; }
.category-list-fb li { margin-bottom: 0.5rem; font-size: 0.92rem; color: var(--fb-text-secondary); display: flex; align-items: flex-start; }
.category-list-fb li i { color: var(--fb-primary); font-size: 0.8rem; margin-right: 8px; width: 15px; text-align: center; flex-shrink: 0; margin-top: 0.2em; }

/* --- Inspírate / Productos --- */
.product-grid-container { perspective: 1000px; }
.product-card-fb { border-radius: 8px; box-shadow: 0 4px 12px var(--fb-shadow-light); border: 1px solid var(--fb-border); overflow: hidden; transition: all 0.3s var(--fb-cubic-bezier-easeout); height: 100%; display: flex; flex-direction: column; }
.product-image-fb { height: 160px; object-fit: cover; border-bottom: 1px solid var(--fb-border); }
.product-caption-fb { font-size: 0.85rem; padding: 12px 10px; flex-grow: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
/* Efecto Tilt */
.product-card-tilt { transition: transform 0.1s linear, box-shadow 0.3s ease; will-change: transform; }
.product-card-tilt:hover { box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); }
/* CTA Card "Próximo Deseo" */
.large-cta-card { min-height: 220px; display: flex !important; align-items: center; justify-content: center; text-align: center; background-color: var(--fb-accent-bg); border-style: dashed; border-color: var(--fb-primary); border-width: 2px; transition: all 0.35s ease; }
.large-cta-card:hover { background-color: var(--fb-white); border-color: var(--fb-secondary); }
.large-cta-card .cta-content-fb i { font-size: 3.5rem !important; color: var(--fb-secondary); opacity: 0.8; margin-bottom: 1rem !important; transition: transform 0.3s ease; }
.large-cta-card:hover .cta-content-fb i { transform: scale(1.1) rotate(5deg); }
.large-cta-card .cta-content-fb .cta-text-fb { font-size: 1.2rem !important; color: var(--fb-primary); font-weight: 700; margin-bottom: 1.2rem !important; }
.large-cta-card .cta-content-fb .btn { font-size: 1rem !important; padding: 10px 25px !important; background-color: var(--fb-secondary); color: var(--fb-white); border: none; transition: background-color 0.3s ease; }
.large-cta-card:hover .cta-content-fb .btn { background-color: var(--fb-secondary-hover); }

/* Efecto Rainbow Glow Title (Inspírate) */
@keyframes rainbow-glow-title-animation { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } }
.rainbow-glow-title { position: relative; color: var(--fb-dark); z-index: 1; }
.rainbow-glow-title::before { content: attr(data-text); position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: -1; background-image: linear-gradient(110deg, hsl(0deg 100% 55%) 0%, hsl(39deg 100% 50%) 17%, hsl(60deg 100% 45%) 33%, hsl(138deg 89% 45%) 50%, hsl(210deg 100% 50%) 67%, hsl(266deg 94% 54%) 83%, hsl(0deg 100% 55%) 100%); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; filter: blur(7px) opacity(0.8); animation: rainbow-glow-title-animation 10s linear infinite alternate; font: inherit; letter-spacing: inherit; line-height: inherit; padding: inherit; }
.rainbow-glow-title::after { display: none; }

/* --- Testimonios --- */
.testimonial-card-fb { background-color: var(--fb-white); border-radius: 15px; padding: 25px; box-shadow: 0 5px 20px var(--fb-shadow-light); text-align: center; height: 100%; border: 1px solid var(--fb-border); display: flex; flex-direction: column; }
.testimonial-img-fb { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin: 0 auto 1rem auto; border: 3px solid var(--fb-white); box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.testimonial-content-fb { flex-grow: 1; }
.testimonial-text-fb { font-style: italic; color: var(--fb-text-secondary); margin-bottom: 1rem; font-size: 0.95rem; line-height: 1.7; }
.testimonial-author-fb { font-weight: 600; color: var(--fb-primary); font-size: 0.9rem; margin-bottom: 0; }

/* --- Contacto Section FlyingBox --- */
.contact-section-fb { background-color: var(--fb-light-bg); }
.form-wrapper-fb { background-color: var(--fb-white); box-shadow: 0 15px 45px rgba(0,0,0,0.08); border: none; border-radius: 15px; padding: clamp(35px, 5vw, 45px); }
.form-wrapper-fb h4 { color: var(--fb-text-secondary); font-weight: 500; }
/* Estilos explícitos Formulario */
.form-wrapper-fb .form-control, .form-wrapper-fb .form-select { display: block; width: 100%; padding: .8rem 1.1rem; font-size: 0.95rem; font-weight: 400; line-height: 1.6; color: var(--fb-dark); appearance: none; background-color: var(--fb-white); background-clip: padding-box; border: 1px solid var(--fb-border); border-radius: .5rem; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.form-wrapper-fb .form-control::placeholder { color: #adb5bd; opacity: 1; }
.form-wrapper-fb .form-control:focus, .form-wrapper-fb .form-select:focus { color: var(--fb-dark); background-color: var(--fb-white); border-color: var(--fb-primary); outline: 0; box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.2); }
.was-validated .form-wrapper-fb .form-control:invalid, .was-validated .form-wrapper-fb .form-select:invalid { border-color: var(--fb-danger) !important; background-image: none !important; }
.was-validated .form-wrapper-fb .form-control:valid, .was-validated .form-wrapper-fb .form-select:valid { border-color: var(--fb-success) !important; background-image: none !important; }
.form-wrapper-fb .form-check-input { margin-top: 0.3em; }
.form-wrapper-fb .form-check-input:checked { background-color: var(--fb-primary); border-color: var(--fb-primary); }
.form-wrapper-fb .form-check-input:focus { box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25); }
/* Botón submit */
.submit-btn-fb { background: linear-gradient(45deg, var(--fb-secondary), #FF8C00); border: none; padding-top: 0.8rem !important; padding-bottom: 0.8rem !important; font-size: 1.1rem !important; font-weight: 600; }
.submit-btn-fb:hover { transform: scale(1.03) translateY(-2px); box-shadow: 0 6px 20px rgba(255, 107, 0, 0.35); }

/* Contact Details Cards Fix & Style */
.contact-details-wrapper-fb h4 { color: var(--fb-primary); }
.contact-card-fb { background-color: var(--fb-white); border-radius: 10px; box-shadow: 0 4px 15px var(--fb-shadow-light); border: 1px solid transparent; transition: all 0.3s ease; text-decoration: none !important; margin-bottom: 1rem; padding: 0; display: block; }
.contact-card-fb > .d-flex { padding: 1rem 1.25rem; align-items: center; }
.contact-card-fb:not(.non-clickable):hover { border-color: var(--fb-primary); transform: translateX(4px) scale(1.01); box-shadow: 0 8px 22px var(--fb-shadow-medium); }
.contact-card-fb .contact-icon-fb { flex-shrink: 0; font-size: 1.6rem; color: var(--fb-primary); width: 35px; text-align: center; margin-right: 1rem; transition: transform 0.3s ease; }
.contact-card-fb:not(.non-clickable):hover .contact-icon-fb { transform: scale(1.1); }
.contact-card-fb .contact-info-fb { flex-grow: 1; line-height: 1.4; }
.contact-card-fb span { font-weight: 500; color: var(--fb-dark); display: block; }
.contact-card-fb small { display: block; font-size: 0.85rem; color: var(--fb-text-light); font-weight: 400; margin-top: 2px; }
.contact-card-fb .arrow-icon-fb { font-size: 1rem; color: #ccc; transition: all 0.3s ease; margin-left: auto; }
.contact-card-fb:not(.non-clickable):hover .arrow-icon-fb { color: var(--fb-primary); transform: translateX(4px); }
.contact-card-fb.non-clickable { background-color: transparent; box-shadow: none; cursor: default; border: 1px solid var(--fb-border); }
/* WhatsApp destacado FIX TEXTO */
.contact-card-highlight-fb { background: linear-gradient(135deg, var(--fb-whatsapp), #1ebea5); color: var(--fb-dark) !important; border: none; box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3); }
.contact-card-highlight-fb:hover { background: linear-gradient(135deg, var(--fb-whatsapp-hover), #1FAF38); transform: translateX(4px) scale(1.03); box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4); }
.contact-card-highlight-fb .contact-icon-fb, .contact-card-highlight-fb .arrow-icon-fb { color: var(--fb-white) !important; }
.contact-card-highlight-fb span, .contact-card-highlight-fb small { color: var(--fb-dark) !important; /* Texto oscuro */ text-shadow: 0 0 1px rgba(255,255,255,0.6); }
.contact-card-highlight-fb:hover span, .contact-card-highlight-fb:hover small { color: var(--fb-white) !important; text-shadow: none; }

/* --- Footer FlyingBox --- */
.site-footer-fb { background-color: var(--fb-dark); color: rgba(255, 255, 255, 0.7); padding: 60px 0 0; font-size: 0.88rem; }
.footer-brand-fb .logo-byline { color: rgba(255, 255, 255, 0.6); }
.footer-heading-fb { color: var(--fb-white); opacity: 0.9; font-size: 1.1rem; margin-bottom: 1.2rem; }
.footer-text-fb { color: rgba(255, 255, 255, 0.65); line-height: 1.7; }
.footer-links-fb li { margin-bottom: 0.7rem; }
.footer-links-fb a { color: rgba(255, 255, 255, 0.75); transition: color 0.3s ease, padding-left 0.3s ease; }
.footer-links-fb a:hover { color: var(--fb-white); padding-left: 5px; }
.footer-links-fb i { font-size: 0.7rem; opacity: 0.7; }
.footer-contact-fb li { margin-bottom: 0.8rem; }
.footer-contact-fb i { color: var(--fb-primary); }
.footer-bottom-fb { border-top: 1px solid rgba(255, 255, 255, 0.1); padding: 25px 0; margin-top: 45px; text-align: center; font-size: 0.82rem; color: rgba(255, 255, 255, 0.55); }
.footer-bottom-fb strong { color: var(--fb-white); font-weight: 500; }
.footer-bottom-fb span.opacity-75 { opacity: 0.75 !important; }

/* --- Botones Flotantes FlyingBox --- */
.whatsapp-float-fb { position: fixed; width: 58px; height: 58px; bottom: 20px; right: 20px; background-color: var(--fb-whatsapp); color: var(--fb-white) !important; border-radius: 50%; text-align: center; font-size: 30px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25); z-index: 1030; display: flex; align-items: center; justify-content: center; visibility: hidden; opacity: 0; transform: translateY(10px) scale(0.9); transition: all 0.4s var(--fb-cubic-bezier-easeout); will-change: transform, opacity; }
.whatsapp-float-fb.active { visibility: visible; opacity: 1; transform: translateY(0) scale(1); }
.whatsapp-float-fb:hover { color: var(--fb-white) !important; background-color: var(--fb-whatsapp-hover); transform: scale(1.1); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); }
.whatsapp-float-fb i { line-height: 0; }
.back-to-top-fb { position: fixed; visibility: hidden; opacity: 0; right: 20px; bottom: 88px; z-index: 1029; background: var(--fb-secondary); width: 46px; height: 46px; border-radius: 50%; transition: all 0.4s var(--fb-cubic-bezier-easeout); box-shadow: 0 5px 18px rgba(255, 107, 0, 0.3); display: flex; align-items: center; justify-content: center; will-change: transform, opacity, bottom; }
.back-to-top-fb i { font-size: 1.4rem; color: var(--fb-white); line-height: 0; }
.back-to-top-fb:hover { background: var(--fb-secondary-hover); transform: translateY(-4px) scale(1.1); }
.back-to-top-fb.active { visibility: visible; opacity: 1; }
.whatsapp-float-fb:not(.active) ~ .back-to-top-fb.active { bottom: 20px; }

/* --- MEDIA QUERIES --- */
@media (max-width: 991.98px) {
    /* Ocultar rainbow glow del botón header en tablet */
    .nav-cta-button.rainbow-glow-btn { animation: none; box-shadow: 0 5px 15px rgba(255, 107, 14, 0.3); }
}
@media (max-width: 767.98px) {
    /* Ajuste Hero H1 Móvil (FIXED) */
    .display-hero-fb {
        font-size: clamp(2.0rem, 8vw, 2.5rem); /* Reducir tamaño máximo */
        line-height: 1.2; /* Ajustar interlineado */
        letter-spacing: -0.8px; /* Reducir espaciado letras */
    }
    .hero-lead-fb { font-size: 0.95rem; }
    /* Aplicar rainbow glow al botón Hero principal en móvil */
    .hero-buttons-fb .btn-primary {
        background: var(--fb-dark) !important; /* Fondo oscuro para contraste */
        border: none !important;
        color: var(--fb-white) !important;
        animation: rainbow-glow-btn-animation 8s linear infinite alternate !important; /* Aplicar animación */
    }
    .hero-buttons-fb .btn-primary:hover {
         background: var(--fb-dark) !important;
         transform: scale(1.03);
         /* La animación de sombra se mantiene */
    }

    /* Ocultar rainbow glow H2 */
    .rainbow-glow-title::before { display: none; }
    .rainbow-glow-title { color: var(--fb-dark); }
    .rainbow-glow-title::after { display: block; }

    /* Otros ajustes móviles */
    .trust-bar-fb .row > div { font-size: 0.8rem; margin-bottom: 8px; }
    .icon-trust-fb { font-size: 1rem; }
    .contact-details-wrapper-fb { text-align: center; margin-top: 30px; }
    .contact-card-fb > .d-flex { flex-direction: column; text-align: center; }
    .contact-card-fb .contact-icon-fb { margin-right: 0; margin-bottom: 8px; }
    .contact-card-fb .arrow-icon-fb { display: none; }
    .large-cta-card { min-height: 180px; }
}
@media (max-width: 575.98px) {
    /* Ajuste Hero H1 Móvil Pequeño (FIXED) */
    .display-hero-fb {
         font-size: clamp(1.8rem, 7.5vw, 2.1rem); /* Ajustar clamp */
         letter-spacing: -0.2px; /* Casi sin negativo */
         line-height: 1.25;
    }
    .hero-buttons-fb .btn { width: 95%; max-width: none; }
    .large-cta-card { min-height: 160px; }
    .large-cta-card .cta-content-fb i { font-size: 3rem !important; }
    .large-cta-card .cta-content-fb .cta-text-fb { font-size: 1.1rem !important; }
}