/*
Theme Name: Flip Mobile
Theme URI: https://flipmobile.com
Author: Flip Mobile
Author URI: https://flipmobile.com
Description: Flip Mobile — Wireless from another world. A space-themed mobile carrier website with neon green accents, interactive 3D device previews, pricing plans, and more.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flip-mobile
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: #03000f;
  color: #fff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; padding: 0; margin: 0; }

/* NEON GREEN */
.neon-green {
  color: #00ff41;
  text-shadow: 0 0 10px #00ff41, 0 0 20px #00ff41, 0 0 40px #00ff41;
}
.neon-purple {
  color: #cc44ff;
  text-shadow: 0 0 10px #cc44ff, 0 0 20px #cc44ff, 0 0 40px #cc44ff;
}

/* STARS */
.fm-stars { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.fm-section { position: relative; }
@keyframes fm-twinkle {
  0%, 100% { opacity: 0.15; transform: scale(1); }
  50%       { opacity: 0.9;  transform: scale(1.4); }
}
.fm-star {
  position: absolute; border-radius: 50%; background: #fff;
  animation: fm-twinkle var(--dur, 3s) var(--delay, 0s) ease-in-out infinite;
}

/* BUTTONS */
.fm-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px;
  border-radius: 999px; font-weight: 700; font-size: 0.95rem;
  transition: all 0.3s; cursor: pointer; border: none; text-decoration: none;
}
.fm-btn--primary { background: #00ff41; color: #000; box-shadow: 0 0 18px rgba(0,255,65,0.35); }
.fm-btn--primary:hover { box-shadow: 0 0 30px #00ff41, 0 0 60px rgba(0,255,65,0.3); color: #000; }
.fm-btn--outline-purple { background: transparent; border: 1.5px solid #cc44ff; color: #cc44ff; }
.fm-btn--outline-purple:hover { background: rgba(204,68,255,0.1); }
.fm-btn--blue { background: #00ff41; color: #000; box-shadow: 0 0 18px rgba(0,255,65,0.35); }
.fm-btn--blue:hover { box-shadow: 0 0 40px #00ff41, 0 0 80px rgba(0,255,65,0.3); color: #000; }
.fm-btn--purple { background: #cc44ff; color: #000; box-shadow: 0 0 28px rgba(204,68,255,0.5); }
.fm-btn--purple:hover { box-shadow: 0 0 40px rgba(204,68,255,0.7); color: #000; }
.fm-btn--outline-blue { background: transparent; border: 1.5px solid #00ff41; color: #00ff41; }
.fm-btn--outline-blue:hover { background: rgba(0,255,65,0.1); }

/* PROMO TOP BAR */
.fm-promo-top {
  background: linear-gradient(90deg, rgba(204,68,255,0.18) 0%, rgba(0,255,65,0.12) 100%);
  border-bottom: 1px solid rgba(0,255,65,0.3);
  text-align: center; padding: 12px 24px; font-size: 0.875rem; font-weight: 600;
}
.fm-promo-top span { color: #00ff41; text-shadow: 0 0 8px #00ff41; }

/* HEADER */
.fm-header { position: sticky; top: 0; z-index: 100; background: rgba(0,0,0,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,0.08); }
.fm-header__inner { max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fm-header__logo img { height: 52px; width: 52px; border-radius: 10px; object-fit: cover; }
.fm-header__nav { display: flex; align-items: center; gap: 28px; }
.fm-header__nav a { font-size: 0.875rem; color: rgba(255,255,255,0.65); transition: color 0.25s; cursor: pointer; }
.fm-header__nav a:hover { color: #00ff41; text-shadow: 0 0 8px #00ff41; }
.fm-header__cta { font-size: 0.875rem; font-weight: 700; padding: 10px 22px; border-radius: 999px; border: 1.5px solid #00ff41; color: #00ff41; transition: all 0.3s; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.fm-header__cta:hover { background: #00ff41; color: #000; box-shadow: 0 0 20px rgba(0,255,65,0.6); }
.fm-nav-toggle { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 5px; padding: 4px; }
.fm-nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; border-radius: 2px; transition: all 0.3s; }

/* TICKER */
.fm-ticker { background: rgba(0,255,65,0.06); border-top: 1px solid rgba(0,255,65,0.2); border-bottom: 1px solid rgba(0,255,65,0.2); padding: 12px 0; overflow: hidden; position: relative; z-index: 3; }
.fm-ticker::before, .fm-ticker::after { content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
.fm-ticker::before { left: 0; background: linear-gradient(to right, #03000f, transparent); }
.fm-ticker::after  { right: 0; background: linear-gradient(to left, #03000f, transparent); }
@keyframes fm-ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.fm-ticker__track { display: flex; white-space: nowrap; animation: fm-ticker-scroll 28s linear infinite; }
.fm-ticker__track:hover { animation-play-state: paused; }
.fm-ticker__item { display: inline-flex; align-items: center; gap: 10px; padding: 0 32px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.fm-ticker__price { color: #00ff41; font-weight: 900; text-shadow: 0 0 6px #00ff41; }
.fm-ticker__dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(0,255,65,0.5); flex-shrink: 0; }
.fm-ticker__label { font-size: 0.65rem; font-weight: 800; letter-spacing: 0.15em; color: #00ff41; background: rgba(0,255,65,0.12); border: 1px solid rgba(0,255,65,0.3); border-radius: 4px; padding: 2px 8px; text-transform: uppercase; }

/* RADAR */
@keyframes fm-radar-ring { 0% { transform: translate(-50%,-50%) scale(0.2); opacity: 0.7; } 100% { transform: translate(-50%,-50%) scale(3.5); opacity: 0; } }
.fm-radar { position: absolute; inset: 0; pointer-events: none; z-index: 1; overflow: hidden; }
.fm-radar__ring { position: absolute; top: 50%; left: 50%; width: 480px; height: 480px; border-radius: 50%; border: 1.5px solid rgba(0,255,65,0.45); box-shadow: 0 0 12px rgba(0,255,65,0.2); animation: fm-radar-ring 4s ease-out infinite; transform: translate(-50%,-50%) scale(0.2); opacity: 0; }
.fm-radar__ring:nth-child(2) { animation-delay: 1.3s; }
.fm-radar__ring:nth-child(3) { animation-delay: 2.6s; }

/* HERO */
.fm-hero { background: radial-gradient(ellipse at center top, #001a00 0%, #03000f 65%); padding: 100px 24px; text-align: center; position: relative; overflow: hidden; min-height: 85vh; display: flex; align-items: center; justify-content: center; }
.fm-hero__inner { max-width: 860px; margin: 0 auto; position: relative; z-index: 2; }
.fm-hero__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 18px; border-radius: 999px; background: rgba(0,255,65,0.08); border: 1px solid rgba(0,255,65,0.25); color: #00ff41; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 32px; }
.fm-hero__title { font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 900; line-height: 1.1; margin-bottom: 24px; color: #fff; }
.fm-hero__subtitle-line { display: block; font-size: 0.72em; font-weight: 800; color: rgba(255,255,255,0.8); margin-top: 8px; }
.fm-hero__subtitle { font-size: 1.15rem; color: rgba(255,255,255,0.55); max-width: 600px; margin: 0 auto 40px; }
.fm-hero__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.fm-hero__note { margin-top: 32px; color: rgba(255,255,255,0.25); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; }

/* UFOs */
.fm-ufo { position: absolute; top: 18%; z-index: 1; opacity: 0.9; }
.fm-ufo--left  { left: 2%; width: 120px; animation: fm-ufo-float 6s ease-in-out infinite; }
.fm-ufo--right { right: 2%; width: 140px; animation: fm-ufo-float 7s ease-in-out infinite 1s; }
@keyframes fm-ufo-float { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-18px) rotate(2deg); } }

/* METEORS */
@keyframes fm-meteor { 0% { transform: translateX(0) translateY(0) rotate(215deg); opacity: 1; } 70% { opacity: 1; } 100% { transform: translateX(-600px) translateY(300px) rotate(215deg); opacity: 0; } }
.fm-meteor { position: absolute; width: 2px; background: linear-gradient(to bottom, #00ff41, transparent); border-radius: 9999px; opacity: 0; }
.fm-meteor--1 { top: 10%; right: 20%; height: 80px;  animation: fm-meteor 4s linear 1s  infinite; }
.fm-meteor--2 { top: 5%;  right: 35%; height: 60px;  animation: fm-meteor 5s linear 3s  infinite; }
.fm-meteor--3 { top: 15%; right: 10%; height: 100px; animation: fm-meteor 6s linear 5s  infinite; }

/* SECTIONS */
.fm-section { padding: 80px 24px; }
.fm-section__inner { max-width: 1200px; margin: 0 auto; }
.fm-section__header { text-align: center; margin-bottom: 56px; }
.fm-section__title { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 900; margin-bottom: 10px; color: #fff; }
.fm-section__subtitle { color: rgba(255,255,255,0.45); font-size: 1.05rem; }

/* PLANS */
.fm-plans { background: #03000f; }
.fm-plans__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.fm-plan-card { display: block; position: relative; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); padding: 32px; transition: all 0.3s; color: #fff; }
.fm-plan-card:hover { transform: translateY(-6px); border-color: rgba(0,255,65,0.5); box-shadow: 0 0 24px rgba(0,255,65,0.18), 0 0 48px rgba(0,255,65,0.08); }
.fm-plan-card--featured { border-color: rgba(0,255,65,0.5); background: rgba(0,255,65,0.04); box-shadow: 0 0 18px rgba(0,255,65,0.12); }
.fm-plan-card__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: #00ff41; color: #000; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; padding: 5px 16px; border-radius: 999px; white-space: nowrap; }
.fm-plan-card__icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(0,255,65,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 1.4rem; }
.fm-plan-card__name { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255,255,255,0.5); margin-bottom: 12px; }
.fm-plan-card__data { font-size: 2.8rem; font-weight: 900; line-height: 1; color: #fff; margin-bottom: 4px; }
.fm-plan-card__data span { font-size: 0.8rem; color: rgba(255,255,255,0.35); font-weight: 400; }
.fm-plan-card__price { font-size: 2rem; font-weight: 900; color: #00ff41; text-shadow: 0 0 10px rgba(0,255,65,0.5); line-height: 1; margin-bottom: 28px; }
.fm-plan-card__price em { font-style: normal; font-size: 0.85rem; color: rgba(255,255,255,0.35); font-weight: 400; }
.fm-plan-card__features { margin-bottom: 28px; }
.fm-plan-card__features li { display: flex; align-items: center; gap: 10px; font-size: 0.875rem; color: rgba(255,255,255,0.65); padding: 6px 0; }
.fm-plan-card__features li::before { content: '✓'; width: 18px; height: 18px; min-width: 18px; border-radius: 50%; background: rgba(0,255,65,0.15); border: 1.5px solid #00ff41; color: #00ff41; font-size: 0.65rem; display: flex; align-items: center; justify-content: center; }
.fm-plan-card__cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; border-radius: 999px; border: 1.5px solid rgba(0,255,65,0.4); color: #00ff41; font-weight: 700; font-size: 0.875rem; transition: all 0.3s; background: transparent; cursor: pointer; }
.fm-plan-card:hover .fm-plan-card__cta { background: #00ff41; color: #000; border-color: #00ff41; }

/* IPHONE17 */
.fm-iphone17 { background: #06010e; }
.fm-iphone17__inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 40px; }
@media (min-width: 900px) { .fm-iphone17__inner { flex-direction: row; text-align: left; } }
.fm-iphone17__img-wrap { position: relative; width: 100%; max-width: 380px; flex-shrink: 0; }
.fm-iphone17__glow { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, rgba(0,255,65,0.25) 0%, transparent 70%); filter: blur(40px); }
.fm-iphone17__img { position: relative; z-index: 1; width: 100%; filter: drop-shadow(0 0 40px rgba(0,255,65,0.35)) drop-shadow(0 0 80px rgba(0,255,65,0.15)); }
.fm-iphone17__perks { list-style: none; padding: 0; margin: 0 0 32px; }
.fm-iphone17__perks li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.875rem; color: rgba(255,255,255,0.65); padding: 6px 0; }
.fm-iphone17__perks li::before { content: '✓'; width: 18px; height: 18px; min-width: 18px; border-radius: 50%; background: rgba(0,255,65,0.15); border: 1.5px solid #00ff41; color: #00ff41; font-size: 0.65rem; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.fm-iphone17__actions { display: flex; flex-wrap: wrap; gap: 16px; }

/* PROMO */
.fm-promo { background: #050505; }
.fm-promo__card { max-width: 740px; margin: 0 auto; background: linear-gradient(135deg, #0d0d0d 0%, #001a00 50%, #0d0d0d 100%); border: 1px solid rgba(0,255,65,0.25); box-shadow: 0 0 40px rgba(0,255,65,0.08); border-radius: 28px; padding: 56px 40px; text-align: center; }
.fm-promo__label { display: inline-block; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: #00ff41; background: rgba(0,255,65,0.08); border: 1px solid rgba(0,255,65,0.2); border-radius: 4px; padding: 4px 12px; margin-bottom: 20px; }
.fm-promo__title { font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 900; margin-bottom: 8px; color: #fff; }
.fm-promo__subtitle { color: rgba(255,255,255,0.5); margin-bottom: 36px; }
.fm-promo__code-wrap { display: inline-flex; align-items: center; gap: 12px; background: rgba(0,255,65,0.06); border: 1.5px dashed rgba(0,255,65,0.35); border-radius: 14px; padding: 18px 28px; margin-bottom: 28px; cursor: pointer; transition: all 0.3s; }
.fm-promo__code-wrap:hover { background: rgba(0,255,65,0.1); border-color: rgba(0,255,65,0.6); }
.fm-promo__code { font-size: 1.8rem; font-weight: 900; letter-spacing: 0.1em; color: #00ff41; text-shadow: 0 0 12px rgba(0,255,65,0.6); }
.fm-promo__copied { font-size: 0.8rem; color: #00ff41; font-weight: 700; margin-top: -16px; margin-bottom: 16px; display: block; }

/* LIFELINE */
.fm-lifeline { background: #040010; }
.fm-lifeline__inner { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 900px) { .fm-lifeline__inner { grid-template-columns: 1fr 1fr; align-items: center; } }
.fm-lifeline__perks { list-style: none; padding: 0; margin: 28px 0; }
.fm-lifeline__perks li { display: flex; align-items: flex-start; gap: 12px; padding: 8px 0; font-size: 0.9rem; color: rgba(255,255,255,0.7); }
.fm-lifeline__perks li::before { content: '✓'; width: 20px; height: 20px; min-width: 20px; border-radius: 50%; background: rgba(0,255,65,0.12); border: 1.5px solid #00ff41; color: #00ff41; font-size: 0.65rem; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.fm-lifeline__form { background: rgba(255,255,255,0.02); border: 1px solid rgba(0,255,65,0.12); border-radius: 20px; padding: 32px; }
.fm-lifeline__form h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 24px; }
.fm-form-row { margin-bottom: 16px; }
.fm-form-label { display: block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.45); margin-bottom: 6px; }
.fm-form-input, .fm-form-select { width: 100%; padding: 12px 16px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; color: #fff; font-size: 0.9rem; font-family: inherit; outline: none; transition: border-color 0.2s; }
.fm-form-input::placeholder { color: rgba(255,255,255,0.2); }
.fm-form-input:focus, .fm-form-select:focus { border-color: rgba(0,255,65,0.5); }
.fm-form-select option { background: #0d0d0d; color: #fff; }

/* DEVICE-IN-HAND */
.fm-inventory { background: #03000f; }
.fm-dih-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; max-width: 1200px; margin: 0 auto; position: relative; z-index: 2; }
.fm-dih-hero { background: radial-gradient(ellipse at center top, #001a00 0%, #03000f 65%); padding: 100px 24px 80px; text-align: center; position: relative; overflow: hidden; min-height: 60vh; display: flex; align-items: center; justify-content: center; }
.fm-dih-hero__inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 2; }
.fm-dih-hero__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 18px; border-radius: 999px; background: rgba(0,255,65,0.08); border: 1px solid rgba(0,255,65,0.25); color: #00ff41; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 28px; }
.fm-dih-hero__title { font-size: clamp(2rem, 5vw, 4rem); font-weight: 900; margin-bottom: 20px; color: #fff; }
.fm-dih-hero__subtitle { color: rgba(255,255,255,0.5); font-size: 1.05rem; max-width: 560px; margin: 0 auto; }
.fm-dih-group { padding: 80px 24px; background: #03000f; position: relative; overflow: hidden; }
.fm-dih-group:nth-child(even) { background: #06010e; }
.fm-dih-group__header { max-width: 1200px; margin: 0 auto 48px; text-align: center; position: relative; z-index: 2; }
.fm-dih-group__title { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 900; margin-bottom: 10px; color: #fff; }
.fm-dih-group__subtitle { color: rgba(255,255,255,0.45); font-size: 1rem; }
.fm-dih-card { position: relative; background: rgba(255,255,255,0.03); border: 1px solid rgba(0,255,65,0.15); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 16px; transition: all 0.3s; }
.fm-dih-card:hover { transform: translateY(-6px); border-color: rgba(0,255,65,0.45); box-shadow: 0 0 32px rgba(0,255,65,0.15); }
.fm-dih-card--purple { border-color: rgba(204,68,255,0.15); }
.fm-dih-card--purple:hover { border-color: rgba(204,68,255,0.45); box-shadow: 0 0 32px rgba(204,68,255,0.15); }
.fm-dih-card__badge { position: absolute; top: -12px; left: 20px; background: #00ff41; color: #000; font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; padding: 4px 12px; border-radius: 999px; }
.fm-dih-card--purple .fm-dih-card__badge { background: #cc44ff; }
.fm-dih-card__viewer { width: 100%; height: 260px; border-radius: 12px; overflow: hidden; background: rgba(0,0,0,0.3); }
.fm-dih-card__viewer iframe { width: 100%; height: 100%; border: none; display: block; }
.fm-dih-card__hint { font-size: 0.7rem; color: rgba(255,255,255,0.3); text-align: center; letter-spacing: 0.06em; }
.fm-dih-card__title { font-size: 1rem; font-weight: 800; color: #fff; }
.fm-dih-card__subtitle { font-size: 0.8rem; color: rgba(255,255,255,0.4); margin-top: 4px; }
.fm-dih-card__price { font-size: 1.5rem; font-weight: 900; color: #00ff41; text-shadow: 0 0 10px rgba(0,255,65,0.5); }
.fm-dih-card--purple .fm-dih-card__price { color: #cc44ff; }
.fm-dih-card__specs { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.fm-dih-card__specs li { font-size: 0.78rem; color: rgba(255,255,255,0.5); display: flex; align-items: center; gap: 8px; }
.fm-dih-card__specs li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #00ff41; flex-shrink: 0; }
.fm-dih-card--purple .fm-dih-card__specs li::before { background: #cc44ff; }
.fm-dih-banner { max-width: 1200px; margin: 48px auto 0; background: rgba(0,255,65,0.04); border: 1px solid rgba(0,255,65,0.2); border-radius: 20px; padding: 40px; text-align: center; position: relative; z-index: 2; }
.fm-dih-banner--purple { background: rgba(204,68,255,0.04); border-color: rgba(204,68,255,0.2); }
.fm-dih-banner__title { font-size: 1.5rem; font-weight: 900; margin-bottom: 8px; color: #fff; }
.fm-dih-banner__desc { color: rgba(255,255,255,0.45); margin-bottom: 24px; font-size: 0.95rem; }

/* BADGES */
.fm-badge { display: inline-block; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; margin-bottom: 16px; }
.fm-badge--green { background: rgba(0,255,65,0.1); border: 1px solid rgba(0,255,65,0.3); color: #00ff41; }
.fm-badge--purple { background: rgba(204,68,255,0.1); border: 1px solid rgba(204,68,255,0.3); color: #cc44ff; }

/* FOOTER */
.fm-footer { background: #000; border-top: 1px solid rgba(0,255,65,0.1); padding: 40px 24px; }
.fm-footer__inner { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.fm-footer__brand { display: flex; align-items: center; gap: 12px; }
.fm-footer__brand img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; }
.fm-footer__brand-name { font-weight: 800; font-size: 0.95rem; color: #fff; }
.fm-footer__brand-tagline { font-size: 0.75rem; color: rgba(255,255,255,0.3); }
.fm-footer__meta { font-size: 0.78rem; color: rgba(255,255,255,0.3); line-height: 1.8; }
.fm-footer__meta strong { color: #00ff41; }
.fm-footer__links { display: flex; flex-wrap: wrap; gap: 20px; }
.fm-footer__links a { font-size: 0.8rem; color: rgba(255,255,255,0.4); transition: color 0.2s; }
.fm-footer__links a:hover { color: #00ff41; }

/* WHATSAPP FAB */
.fm-wa-fab { position: fixed; bottom: 28px; right: 28px; z-index: 999; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.fm-wa-btn { width: 60px; height: 60px; border-radius: 50%; background: #25d366; border: none; cursor: pointer; font-size: 1.5rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(37,211,102,0.4); transition: all 0.3s; }
.fm-wa-btn:hover { transform: scale(1.1); box-shadow: 0 6px 30px rgba(37,211,102,0.6); }
.fm-wa-bubble { background: #1a1a1a; border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; width: 300px; overflow: hidden; box-shadow: 0 8px 40px rgba(0,0,0,0.6); }
.fm-wa-bubble__header { background: #25d366; padding: 16px; display: flex; align-items: center; justify-content: space-between; }
.fm-wa-bubble__name { font-weight: 800; font-size: 0.85rem; color: #fff; }
.fm-wa-bubble__status { font-size: 0.7rem; color: rgba(255,255,255,0.75); }
.fm-wa-bubble__body { padding: 16px; }
.fm-wa-bubble__msg { background: rgba(255,255,255,0.06); border-radius: 12px; padding: 12px 14px; font-size: 0.8rem; color: rgba(255,255,255,0.8); line-height: 1.5; margin-bottom: 16px; }
.fm-wa-bubble__cta { display: block; text-align: center; background: #25d366; color: #fff; font-weight: 700; font-size: 0.875rem; padding: 12px; border-radius: 10px; }
.fm-wa-bubble__cta:hover { background: #1da851; }
.fm-wa-bubble__close { background: none; border: none; color: rgba(255,255,255,0.8); cursor: pointer; font-size: 0.9rem; padding: 4px 8px; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .fm-nav-toggle { display: flex; }
  .fm-header__nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: rgba(0,0,0,0.97); flex-direction: column; padding: 20px 24px; gap: 20px; border-bottom: 1px solid rgba(0,255,65,0.15); }
  .fm-header__nav.is-open { display: flex; }
  .fm-ufo--left, .fm-ufo--right { display: none; }
  .fm-promo__card { padding: 36px 24px; }
  .fm-wa-fab { bottom: 20px; right: 20px; }
}
