/* Tipografías y variables */
:root{
  /* Paleta Comarca Digital */
  --primary:#1E3A5F;   /* Deep Patagonian blue */
  --accent:#FF6B35;    /* Vibrant orange */
  --wa:#25D366;        /* WhatsApp official green */
  --secondary:#E6EEF8; /* azul muy claro para fondos suaves */
  --bg:#F7FAFC;        /* fondo claro alegre */
  --surface:#FFFFFF;   /* tarjetas/superficies */
  --muted:#64748B;     /* texto secundario (slate-500) */
  --text:#1E293B;      /* texto principal (slate-800) */
  --white:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Montserrat', 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--text);background:var(--bg)}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:saturate(180%) blur(6px);border-bottom:2px solid var(--accent);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:auto;height:44px;border-radius:6px;object-fit:contain}
.brand-title{font-weight:800;letter-spacing:.2px}
.brand-sub{font-size:.85rem;color:var(--muted)}
.nav{display:flex;gap:12px;align-items:center}
.nav-link{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:8px}
.nav-link:hover{background:rgba(30,58,95,.08);color:var(--primary)}
.nav-link.active,.nav-link:focus{outline:none;box-shadow:0 0 0 2px rgba(30,58,95,.12);color:var(--accent)}

/* Menú hamburguesa */
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;z-index:20}
.menu-toggle:hover{background:rgba(30,58,95,.08)}
.menu-toggle .bar{display:block;width:24px;height:2px;margin:5px 0;background-color:var(--primary);transition:all 0.3s ease}
.menu-toggle.active .bar:nth-child(1){transform:rotate(-45deg) translate(-5px, 6px)}
.menu-toggle.active .bar:nth-child(2){opacity:0}
.menu-toggle.active .bar:nth-child(3){transform:rotate(45deg) translate(-5px, -6px)}

/* Buttons */
.btn-primary{background:linear-gradient(135deg,var(--accent),#ff834f);color:var(--white);border:none;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(255,107,53,.28);transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 20px rgba(255,107,53,.35)}
.btn-outline{background:transparent;border:1.5px solid var(--primary);color:var(--primary);padding:10px 16px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn-outline:hover{background:rgba(30,58,95,.08)}

/* Botón WhatsApp */
.btn-wa{background:var(--wa);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(37,211,102,.35);transition:all .2s ease;display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.btn-wa:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 20px rgba(37,211,102,.45)}

/* Hero */
.hero{position:relative;padding:80px 0;background:radial-gradient(1200px 600px at 10% -10%, rgba(30,58,95,.16), transparent), radial-gradient(1200px 600px at 110% 10%, rgba(255,107,53,.16), transparent)}
.hero h1{font-size:2.5rem;margin:0 0 16px;color:var(--primary);position:relative}
.hero h1:after{content:'';position:absolute;bottom:-10px;left:0;width:80px;height:3px;background:var(--accent);border-radius:2px}
.hero .tagline{font-size:1.2rem;margin:16px 0}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.hero-copy h1{font-size:2.2rem;margin:0 0 10px}
.tagline{color:var(--muted);margin:0 0 16px}
.hero-bullets{margin:0 0 22px 18px}
.hero-badge{position:absolute;top:-12px;right:-12px;background:var(--accent);color:var(--white);padding:6px 10px;border-radius:999px;font-weight:700;font-size:.85rem;z-index:2;box-shadow:0 4px 8px rgba(255,107,53,.25)}
.hero-art{position:relative;z-index:1}
.hero-copy{position:relative;z-index:1}
.hero:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(135deg, rgba(30,58,95,.06) 0%, rgba(255,255,255,0) 60%), radial-gradient(700px 280px at 0% 0%, rgba(30,58,95,.10), transparent 60%), radial-gradient(800px 320px at 100% 10%, rgba(255,107,53,.12), transparent 60%);pointer-events:none}

/* Animación CTA tipo "Consíguelo gratis": glow + pulso de anillo */
.btn-pulse{position:relative;animation:pulseGlow 2.2s ease-in-out infinite}
.btn-pulse:hover{animation-play-state:paused}
.btn-pulse:after{content:'';position:absolute;inset:-6px;border-radius:12px;border:2px solid var(--accent);opacity:0;animation:pulseRing 2.2s ease-out infinite}
@keyframes pulseGlow{
  0%{transform:scale(1);box-shadow:0 6px 16px rgba(255,107,53,.28)}
  50%{transform:scale(1.03);box-shadow:0 12px 28px rgba(255,107,53,.45)}
  100%{transform:scale(1);box-shadow:0 6px 16px rgba(255,107,53,.28)}
}
@keyframes pulseRing{
  0%{transform:scale(.9);opacity:0}
  50%{opacity:.40}
  100%{transform:scale(1.15);opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .btn-pulse, .btn-pulse:after{animation:none !important}
}

/* Tabs (Dashboard) */
.tabs{display:flex;gap:8px}
.tab-btn{border:1px solid rgba(2,6,23,.12);background:#fff;color:#0f172a;padding:8px 12px;border-radius:10px;cursor:pointer}
.tab-btn:hover{background:#f8fafc}
.tab-btn.active{background:var(--accent);color:var(--white);border-color:transparent}

/* Sections */
.section{padding:64px 0;border-top:1px solid rgba(2,6,23,.06)}
.section.alt{background:linear-gradient(180deg,#F6FAFE,#F1F5F9)}
.section h2{font-size:2rem;margin-bottom:1.5rem;position:relative;display:inline-block}
.section h2:after{content:'';position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:var(--accent);border-radius:2px}
.lead{color:var(--text)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.feature{background:var(--surface);border:1px solid rgba(2,6,23,.06);padding:24px;border-radius:14px;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.feature:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.08)}

/* Utilidades */
.hidden{display:none !important}

/* Footer */
.site-footer{border-top:1px solid rgba(2,6,23,.06);margin-top:30px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;color:var(--muted)}
.footer-links a{color:var(--muted);text-decoration:none;margin-left:10px}
.footer-links a:hover{color:var(--text)}

/* Floating WhatsApp Button (official color) */
.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;
  background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(37,211,102,.35);z-index:9999;text-decoration:none;border:3px solid var(--white)}
.wa-float:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 14px 28px rgba(37,211,102,.45)}
.wa-float svg{width:26px;height:26px;fill:#fff}

/* Botón Volver arriba */
.to-top{position:fixed;right:18px;bottom:86px;width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 18px rgba(30,58,95,.25);opacity:0;pointer-events:none;transform:translateY(6px);transition:all .2s ease;z-index:9998;border:2px solid #fff}
.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top:hover{filter:brightness(1.05);transform:translateY(-2px)}
.to-top svg{width:18px;height:18px;fill:#fff}

/* Slideshow */
.slideshow{position:relative;width:100%;height:380px;overflow:hidden;border-radius:16px}
.slideshow-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;animation-name:slideshow;animation-duration:15s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-fill-mode:both;display:flex;align-items:center;justify-content:center}
.slideshow-item:nth-child(1){animation-delay:0s}
.slideshow-item:nth-child(2){animation-delay:5s}
.slideshow-item:nth-child(3){animation-delay:10s}
/* Fallback: primera imagen visible si la animación no corre */
.slideshow-item:first-child{opacity:1}

@keyframes slideshow{
  0%{opacity:0}
  5%{opacity:1}
  30%{opacity:1}
  35%{opacity:0}
  100%{opacity:0}
}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field input, .form-field select{background:#ffffff;border:1px solid rgba(2,6,23,.12);border-radius:10px;padding:10px;color:var(--text)}
.form-msg{margin-top:10px}
.help{color:var(--muted)}

/* Layouts */
.app-bg{background:radial-gradient(1200px 700px at 10% -10%, rgba(30,58,95,.10), transparent), radial-gradient(1200px 700px at 110% 0%, rgba(255,107,53,.08), transparent)}
.app-header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);border-bottom:1px solid rgba(15,23,42,.06);z-index:10}
.card{background:var(--surface);border:1px solid rgba(2,6,23,.06);padding:18px;border-radius:16px;margin:20px 0}
.loader-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:30002}
.loader-card{background:#fff;color:var(--text);padding:18px 22px;border-radius:14px;display:flex;gap:12px;align-items:center;box-shadow:0 12px 30px rgba(2,6,23,.25);border:1px solid rgba(2,6,23,.08)}
.spinner{width:22px;height:22px;border:3px solid rgba(30,58,95,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);z-index:20000}
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:20001}
.modal.hidden,.modal-backdrop.hidden{display:none}
.modal-card{background:#fff;color:var(--text);width:min(720px, 94%);max-height:90vh;border-radius:16px;box-shadow:0 18px 40px rgba(2,6,23,.35);border:1px solid rgba(2,6,23,.08);display:flex;flex-direction:column;overflow:hidden}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(2,6,23,.08)}
.modal-title{font-weight:800}
.modal-header .close{background:transparent;border:0;font-size:20px;cursor:pointer}
.modal-body{padding:16px;overflow:auto}
.modal-body label{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:12px 16px;border-top:1px solid rgba(2,6,23,.08)}
.modal-body input[type="text"],
.modal-body input[type="number"],
.modal-body input[type="date"],
.modal-body input[type="datetime-local"],
.modal-body textarea,
.modal-body select{
  width:100%;
  max-width:100%;
  background:#ffffff;
  border:1px solid rgba(2,6,23,.14);
  border-radius:12px;
  padding:12px 14px;
  font-size:14px;
  line-height:1.3;
  min-height:42px;
  box-sizing:border-box;
}
.modal-body input:focus,
.modal-body textarea:focus,
.modal-body select:focus{
  outline:2px solid rgba(255,107,53,.25);
  border-color:var(--accent);
  box-shadow:0 6px 16px rgba(255,107,53,.12);
}

/* Month picker (Flatpickr alt input) */
.month-picker{position:relative;display:inline-flex;align-items:center}
.month-picker .flatpickr-input[readonly],
.month-picker .flatpickr-alt-input,
.month-picker .month-alt-input{background:#ffffff;border:1px solid rgba(2,6,23,.14);border-radius:12px;padding:12px 14px;color:var(--text);font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;font-weight:700;letter-spacing:.2px;min-width:230px;box-shadow:0 8px 18px rgba(2,6,23,.06);transition:all .15s ease;font-size:.96rem}
.month-picker .flatpickr-input:focus,
.month-picker .flatpickr-alt-input:focus,
.month-picker .month-alt-input:focus{outline:2px solid rgba(255,107,53,.25);border-color:var(--accent);box-shadow:0 10px 22px rgba(255,107,53,.12)}
.month-picker .flatpickr-alt-input:hover,
.month-picker .month-alt-input:hover{border-color:rgba(2,6,23,.24)}
.month-picker .cal-icon{position:absolute;left:12px;width:18px;height:18px;opacity:.65;pointer-events:none}
.month-picker .flatpickr-input::placeholder,
.month-picker .flatpickr-alt-input::placeholder,
.month-picker .month-alt-input::placeholder{color:#94a3b8;font-weight:600}

/* Flatpickr color overrides */
.flatpickr-calendar .flatpickr-months .flatpickr-month{background:#1e3a5f !important;border-bottom:1px solid #1e3a5f !important}
.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-next-month{fill:#ffffff !important;color:#ffffff !important;opacity:1}
.flatpickr-calendar .flatpickr-current-month{color:#ffffff !important}
.flatpickr-calendar .flatpickr-current-month .cur-month{color:#ffffff !important}
.flatpickr-calendar .flatpickr-current-month .numInputWrapper input.cur-year{color:#ffffff !important}
/* Flechas del input de año en blanco para buen contraste */
.flatpickr-calendar .flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#ffffff !important}
.flatpickr-calendar .flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#ffffff !important}
.flatpickr-calendar .flatpickr-weekdays{background:#f6f8fb}
.flatpickr-months .flatpickr-current-month .cur-month,
.flatpickr-months .flatpickr-current-month .numInputWrapper input.cur-year,
.flatpickr-weekday{color:#ffffff !important}
.flatpickr-day.inRange,
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus{background:#1e3a5f !important;border-color:#1e3a5f !important;color:#fff !important}
.flatpickr-day.today{border-color:#1e3a5f !important}
.flatpickr-day:hover{border-color:#1e3a5f !important}
/* MonthSelect plugin */
.flatpickr-monthSelect-month{border-radius:10px;padding:10px 12px}
.flatpickr-monthSelect-month:hover{background:rgba(30,58,95,.1) !important}
.flatpickr-monthSelect-month.selected{background:#1e3a5f !important;color:#fff !important}
.brand-banner{background:linear-gradient(135deg, rgba(30,58,95,.95), rgba(30,58,95,.85));color:#fff;border:0;padding:22px;border-radius:18px;display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:stretch;box-shadow:0 12px 36px rgba(30,58,95,.25);position:relative;overflow:hidden;min-height:260px}
.brand-banner:after{content:'';position:absolute;inset:auto -20% -20% auto;width:60%;height:200%;background:radial-gradient(circle at 30% 50%, rgba(255,107,53,.45), transparent 60%);transform:rotate(-18deg);z-index:0;pointer-events:none}
.brand-banner h2{margin:0;font-size:1.8rem;letter-spacing:.3px}
.brand-banner p{margin:6px 0 12px;color:#F8FAFC}
.brand-banner .badge{display:inline-block;background:var(--accent);color:#fff;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.8rem;margin-bottom:8px;box-shadow:0 6px 18px rgba(255,107,53,.35)}
.brand-banner .cta-group{display:flex;align-items:center;flex-wrap:wrap;margin-top:16px;column-gap:28px;row-gap:14px}
/* Fallback para navegadores sin soporte de gap en flex */
.cta-group > *{margin-right:28px;margin-bottom:14px}
.cta-group > *:last-child{margin-right:0}
.brand-banner .cta{display:flex;gap:10px;align-items:center}
.brand-banner .cta .btn-primary{background:#fff;color:var(--primary);box-shadow:none}
.brand-banner .cta .btn-outline{background:rgba(255,255,255,.14);color:#ffffff;border-color:rgba(255,255,255,.6)}
.brand-banner .cta .btn-outline:hover{background:rgba(255,255,255,.22);}

/* Banner suscripción inactiva */
.sub-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff3f2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:12px 14px;margin-top:14px}
.sub-banner .sub-banner-text strong{display:block;font-weight:800;margin-bottom:2px}
.sub-banner .sub-banner-actions .btn-primary{background:#ef4444;border-color:#ef4444}
.sub-banner .sub-banner-actions .btn-primary:hover{filter:brightness(.95)}
.brand-banner .media{justify-self:end;align-self:stretch;display:flex;align-items:center;justify-content:flex-end;position:relative;z-index:1}
.plan-cta{text-align:center;position:relative;z-index:1}
.plan-cta .btn-primary{font-size:1.1rem;padding:14px 22px}
.plan-cta .btn-primary:after{content:' →';font-weight:800}
.plan-cta .note strong{color:var(--primary)}

/* Pricing */
.pricing{display:grid;grid-template-columns:1fr;gap:24px;max-width:820px;margin:0 auto}
.plan{background:linear-gradient(180deg,rgba(255,107,53,.05), rgba(30,58,95,.05));border:2px solid rgba(255,107,53,.45);padding:34px;border-radius:18px;box-shadow:0 16px 40px rgba(255,107,53,.18), 0 8px 24px rgba(30,58,95,.10);position:relative;overflow:hidden}
.plan-header{margin-bottom:24px;position:relative;z-index:1}
.price{font-size:2.5rem;font-weight:800;color:var(--primary);margin:12px 0}
.price span{font-size:1rem;color:var(--muted);font-weight:normal}
.trial-badge{display:inline-block;background:var(--accent);color:#fff;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.8rem;margin-left:10px;box-shadow:0 6px 18px rgba(255,107,53,.35)}
.opportunity-ribbon{position:absolute;top:12px;left:-40px;background:var(--primary);color:#fff;padding:6px 50px;transform:rotate(-15deg);font-weight:800;letter-spacing:.4px;box-shadow:0 8px 18px rgba(30,58,95,.25);z-index:2}
.plan-subtitle{color:var(--muted);margin-top:-8px}
.plan-features{list-style:none;padding:0;margin:0 0 24px 0;position:relative;z-index:1}
.plan-features li{padding:12px 0;border-bottom:1px solid rgba(2,6,23,.06);display:flex;align-items:center}
.plan-features li:last-child{border-bottom:none}
.plan-features .check{color:var(--accent);font-weight:bold;margin-right:10px;font-size:1.2rem}

.brand-banner .media img{height:100%;max-height:none;width:auto;border-radius:12px;border:2px solid rgba(255,255,255,.2);box-shadow:0 10px 30px rgba(0,0,0,.2);object-fit:contain;position:relative;z-index:1}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stat{background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.98));border:1px solid rgba(2,6,23,.06);padding:16px;border-radius:16px}
.stat-label{color:var(--muted);font-size:.9rem}
.stat-value{font-size:1.6rem;font-weight:800}
.stat-sub{color:var(--muted);font-size:.85rem}
.user-chip{color:var(--muted)}

/* Perfil (solo lectura) */
.profile-card{position:relative;overflow:hidden}
.profile-card:before{content:'';position:absolute;inset:auto -20% -20% -20%;height:120px;background:linear-gradient(90deg, rgba(30,58,95,.10), rgba(255,107,53,.10));filter:blur(40px);pointer-events:none}
.profile-header{display:flex;align-items:center;gap:12px;margin:-6px 0 10px}
.profile-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(30,58,95,.06);color:var(--text);font-weight:800;border:1px solid rgba(2,6,23,.06)}
.profile-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.profile-plan{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:rgba(255,107,53,.10);color:#1e3a5f;font-weight:800;border:1px solid rgba(255,107,53,.25)}
.form-grid .text-field{background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid rgba(2,6,23,.10);border-radius:12px;padding:12px 14px;font-weight:800;color:var(--text);box-shadow:0 8px 18px rgba(2,6,23,.06)}
.form-grid .form-field label{font-weight:800;color:#1e3a5f}

/* Calendar */
.calendar-placeholder{background:#ffffff;border:1px solid rgba(2,6,23,.06);border-radius:12px;padding:12px;width:100%;overflow-x:auto}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;color:#334155;font-weight:700;font-size:.9rem;min-width:700px}
.calendar-weekdays > div{background:#f8fafc;border:1px solid rgba(2,6,23,.06);border-radius:8px;padding:8px;text-align:center}
.calendar-weekdays > div.weekend{background:#fff7f3;color:#9a3412;border-color:rgba(255,107,53,.25)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;min-width:700px}
.calendar-grid div{border:1px dashed rgba(2,6,23,.12);border-radius:8px;padding:12px;min-height:70px;color:#94A3B8;text-align:right}
/* Día actual resaltado */
.calendar-grid div.today{border:1px solid var(--accent); background: rgba(255,107,53,.08); color:#0f172a}
/* Fines de semana en celdas */
.calendar-grid div.weekend{background:#fff7f3}

/* Estilos responsivos para el calendario */
@media (max-width: 768px) {
  .calendar-placeholder {
    padding: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .calendar-head {
    position: sticky;
    left: 0;
    background: #ffffff;
    z-index: 2;
    padding-bottom: 8px;
  }
  
  .calendar-weekdays,
  .calendar-grid {
    min-width: 700px; /* Ancho mínimo para asegurar que todas las columnas sean visibles */
  }
  
  .calendar-weekdays > div {
    padding: 6px 4px;
    font-size: 0.8rem;
  }
  
  .calendar-grid div {
    padding: 8px 4px;
    min-height: 60px;
    font-size: 0.9rem;
  }
}

@media (max-width: 480px) {
  .calendar-head #calTitle {
    font-size: 0.9rem;
  }
  
  .calendar-head button {
    padding: 6px 10px;
    font-size: 0.8rem;
  }
}

/* Product Card */
.product-card{background:var(--surface);border:1px solid rgba(2,6,23,.06);border-radius:16px;padding:30px;margin-bottom:32px;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.05);overflow:hidden}
.product-card:before{content:'';position:absolute;top:-30%;right:-20%;width:60%;height:60%;background:radial-gradient(circle, rgba(30,58,95,.1) 0%, transparent 70%);border-radius:50%;z-index:0}
.product-card:after{content:'';position:absolute;bottom:-25%;left:-20%;width:55%;height:55%;background:radial-gradient(circle, rgba(255,107,53,.10) 0%, transparent 70%);border-radius:50%;z-index:0}
.product-badge{position:absolute;top:20px;right:20px;background:var(--accent);color:var(--white);padding:6px 12px;border-radius:30px;font-weight:600;font-size:.85rem;box-shadow:0 4px 12px rgba(255,107,53,.2)}
.product-card h3{font-size:1.8rem;margin-top:0;margin-bottom:16px;color:var(--primary)}
.product-demo{margin-top:24px;border-radius:12px;overflow:hidden}

/* WhatsApp Chat */
.whatsapp-container{background:#E5DDD5;border-radius:16px;overflow:hidden;max-width:360px;margin:30px auto;box-shadow:0 10px 30px rgba(0,0,0,.15);font-family:'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif}
.whatsapp-header{background:#075E54;color:white;padding:12px 16px;display:flex;align-items:center}
.whatsapp-header .avatar{width:40px;height:40px;border-radius:50%;background:#128C7E;margin-right:12px;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:18px}
.whatsapp-header .contact-info h4{margin:0;font-size:16px}
.whatsapp-header .contact-info p{margin:0;font-size:12px;opacity:.8}
.whatsapp-body{padding:16px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAAJklEQVQ4y2NgGAVEg/9EAMo0/CfKLKIMIcoQogwhyhCiDCHCkFEAABH6L/qxZVSxAAAAAElFTkSuQmCC');background-repeat:repeat;min-height:200px}
.chat-bubble{padding:10px 12px;margin:8px 0;border-radius:8px;max-width:80%;position:relative;line-height:1.5;font-size:14px}
.chat-bubble.user{background:#DCF8C6;color:#303030;border-top-right-radius:8px;border-bottom-right-radius:0;margin-left:auto}
.chat-bubble.user:after{content:'';position:absolute;bottom:0;right:-8px;width:0;height:0;border:8px solid transparent;border-left-color:#DCF8C6;border-right:0;border-bottom:0}
.chat-bubble.assistant{background:white;color:#303030;border-top-left-radius:8px;border-bottom-left-radius:0;margin-right:auto}
.chat-bubble.assistant:after{content:'';position:absolute;bottom:0;left:-8px;width:0;height:0;border:8px solid transparent;border-right-color:white;border-left:0;border-bottom:0}
.chat-time{font-size:11px;color:#8c8c8c;text-align:right;margin-top:2px;margin-left:auto;display:block;width:fit-content}
.chat-check{display:inline-block;margin-left:4px}
.chat-check svg{width:14px;height:14px;vertical-align:middle}

/* Audio messages */
.audio-message{display:flex;align-items:center;gap:8px;padding:4px 0}
.audio-icon{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center}
.audio-icon.user{background:#075E54}
.audio-icon svg{width:18px;height:18px;fill:white}
.audio-wave{flex:1;height:24px;background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiM4ODg4ODgiPjxyZWN0IHg9IjAiIHk9IjgiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiLz48cmVjdCB4PSI0IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxMiIvPjxyZWN0IHg9IjgiIHk9IjUiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0Ii8+PHJlY3QgeD0iMTIiIHk9IjMiIHdpZHRoPSIyIiBoZWlnaHQ9IjE4Ii8+PHJlY3QgeD0iMTYiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iMjAiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iMjQiIHk9IjgiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiLz48cmVjdCB4PSIyOCIgeT0iNiIgd2lkdGg9IjIiIGhlaWdodD0iMTIiLz48cmVjdCB4PSIzMiIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iMTQiLz48cmVjdCB4PSIzNiIgeT0iOCIgd2lkdGg9IjIiIGhlaWdodD0iOCIvPjxyZWN0IHg9IjQwIiB5PSIxMCIgd2lkdGg9IjIiIGhlaWdodD0iNCIvPjxyZWN0IHg9IjQ0IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PHJlY3QgeD0iNDgiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjEyIi8+PHJlY3QgeD0iNTIiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iNTYiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iNjAiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iNjQiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjEyIi8+PHJlY3QgeD0iNjgiIHk9IjgiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiLz48cmVjdCB4PSI3MiIgeT0iOSIgd2lkdGg9IjIiIGhlaWdodD0iNiIvPjxyZWN0IHg9Ijc2IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PHJlY3QgeD0iODAiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjEyIi8+PHJlY3QgeD0iODQiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iODgiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOTIiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iOTYiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjEyIi8+PHJlY3QgeD0iMTAwIiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PHJlY3QgeD0iMTA0IiB5PSI5IiB3aWR0aD0iMiIgaGVpZ2h0PSI2Ii8+PHJlY3QgeD0iMTA4IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PHJlY3QgeD0iMTEyIiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxMiIvPjxyZWN0IHg9IjExNiIgeT0iNCIgd2lkdGg9IjIiIGhlaWdodD0iMTYiLz48cmVjdCB4PSIxMjAiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iMTI0IiB5PSI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIxNiIvPjxyZWN0IHg9IjEyOCIgeT0iNiIgd2lkdGg9IjIiIGhlaWdodD0iMTIiLz48cmVjdCB4PSIxMzIiIHk9IjgiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiLz48cmVjdCB4PSIxMzYiIHk9IjkiIHdpZHRoPSIyIiBoZWlnaHQ9IjYiLz48cmVjdCB4PSIxNDAiIHk9IjgiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiLz48cmVjdCB4PSIxNDQiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjEyIi8+PHJlY3QgeD0iMTQ4IiB5PSI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIxNiIvPjxyZWN0IHg9IjE1MiIgeT0iMiIgd2lkdGg9IjIiIGhlaWdodD0iMjAiLz48cmVjdCB4PSIxNTYiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iMTYwIiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxMiIvPjxyZWN0IHg9IjE2NCIgeT0iOCIgd2lkdGg9IjIiIGhlaWdodD0iOCIvPjxyZWN0IHg9IjE2OCIgeT0iOSIgd2lkdGg9IjIiIGhlaWdodD0iNiIvPjxyZWN0IHg9IjE3MiIgeT0iOCIgd2lkdGg9IjIiIGhlaWdodD0iOCIvPjxyZWN0IHg9IjE3NiIgeT0iNiIgd2lkdGg9IjIiIGhlaWdodD0iMTIiLz48cmVjdCB4PSIxODAiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjE2Ii8+PHJlY3QgeD0iMTg0IiB5PSIyIiB3aWR0aD0iMiIgaGVpZ2h0PSIyMCIvPjxyZWN0IHg9IjE4OCIgeT0iNCIgd2lkdGg9IjIiIGhlaWdodD0iMTYiLz48cmVjdCB4PSIxOTIiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjEyIi8+PHJlY3QgeD0iMTk2IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PC9nPjwvc3ZnPg==');background-repeat:no-repeat;background-size:contain;background-position:center}
.audio-duration{font-size:12px;color:#8c8c8c;min-width:30px;text-align:right}

/* Benefits */
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px}
.benefit{text-align:center;padding:24px 16px;background:var(--surface);border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.03);transition:all .3s ease}
.benefit:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.benefit-icon{font-size:2.5rem;margin-bottom:16px}
.benefit h4{margin:0 0 12px;color:var(--primary)}
.benefit p{margin:0;color:var(--muted)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center}
.contact-lead{font-size:1.2rem;font-weight:600;color:var(--primary);margin-bottom:16px}
.contact-actions{margin-top:24px;display:flex;gap:16px}
.contact-highlight{background:var(--primary);color:var(--white);padding:30px;border-radius:16px;position:relative;overflow:hidden}
.contact-highlight:before{content:'';position:absolute;top:-30%;right:-30%;width:100%;height:100%;background:radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%);border-radius:50%}
.testimonial{position:relative;z-index:1}
.testimonial p{font-size:1.1rem;font-style:italic;margin:0 0 16px}
.testimonial cite{font-style:normal;font-weight:600;font-size:.9rem}

/* Responsive */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
  .brand-banner{grid-template-columns:1fr;min-height:220px}
  .brand-banner .media{justify-content:center}
  .brand-banner .media img{height:180px}
  .features-grid{grid-template-columns:1fr 1fr}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .hero-copy .cta-group{justify-content:flex-start}
  
  /* Menú responsive */
  .menu-toggle{display:block}
  .nav{position:fixed;top:0;right:-100%;width:80%;max-width:300px;height:100vh;background:rgba(255,255,255,.98);backdrop-filter:saturate(180%) blur(6px);flex-direction:column;padding:80px 20px 20px;transition:right 0.3s ease;box-shadow:-5px 0 15px rgba(0,0,0,0.1);z-index:15;overflow-y:auto}
  .nav.active{right:0}
  .nav-link{width:100%;text-align:center;padding:12px 16px;margin:4px 0}
  #btnLogin{margin-top:10px;width:100%}
}

@media (max-width: 600px){
  .features-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr}
  .hero-copy .cta-group{flex-direction:column;align-items:stretch}
  .hero-copy .cta-group > *{width:100%; max-width:360px}
  .nav{width:100%;max-width:none}
}

/* Hero Carousel controls and indicators */
.hero .carousel-control-prev,
.hero .carousel-control-next{
  width:48px;
  height:48px;
  top:50%;
  transform:translateY(-50%);
  opacity:1;
}

.hero .carousel-control-prev:focus,
.hero .carousel-control-next:focus{
  opacity:1;
}

.hero .carousel-control-prev,
.hero .carousel-control-next{
  background:rgba(30,58,95,.85);
  border-radius:50%;
  box-shadow:0 8px 18px rgba(30,58,95,.25);
}

.hero .carousel-control-prev:hover,
.hero .carousel-control-next:hover{
  background:rgba(30,58,95,.95);
}

.hero .carousel-control-prev-icon,
.hero .carousel-control-next-icon{
  filter:invert(1);
  width:20px;
  height:20px;
}

.hero .carousel-indicators{
  margin-bottom: -10px;
}

.hero .carousel-indicators [data-bs-target]{
  width:10px;
  height:10px;
  border-radius:50%;
  background-color:rgba(30,58,95,.3);
}

.hero .carousel-indicators .active{
  background-color:var(--accent);
}

/* Alinear badge "Nuevo" dentro de la imagen del slide */
.hero .position-relative > .hero-badge{
  position:absolute;
  top:10px;
  right:10px;
  left:auto;
}

/* Resaltado específico en el slide de Desarrollo */
.hero .highlight-fit{
  color:var(--primary); /* #1E3A5F */
  font-weight:900;
  font-family:'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:1.5em; /* aún más grande para resaltar */
  letter-spacing:.2px;
  text-decoration:none; /* reemplazamos subrayado por marcador */
  background: linear-gradient(transparent 60%, rgba(30,58,95,.15) 0);
  padding: 0 2px;
  border-radius: 2px;
}

/* Footer: Social links */
.site-footer .footer-inner{
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  gap:16px; 
  flex-wrap:wrap;
}

.site-footer .social-links{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.site-footer .social-links .social-label{
  opacity:.8;
  font-weight:600;
}

.site-footer .social-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color: var(--primary);
  padding:6px 10px;
  border-radius:8px;
  transition: background .2s ease, color .2s ease;
}

.site-footer .social-links a svg{
  width:18px;
  height:18px;
  display:block;
}

.site-footer .social-links a:hover{
  background: rgba(30,58,95,.08);
  color: var(--accent);
}

/* Estilos para título hero con palabras destacadas */
.hero-gradient h1 .highlight-word {
  font-family: 'Nunito', sans-serif;
  color: #fbbf24;
  font-weight: 800;
  display: inline-block;
}

.hero-gradient h1 .tech-word {
  font-family: 'Montserrat', sans-serif;
  color: #ffffff;
  font-weight: 800;
}

/* Grilla de clientes */
.clients-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  align-items: center;
  margin-top: 40px;
}

.client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: white;
  border-radius: 16px;
  transition: all 0.3s ease;
  border: 2px solid #f0f0f0;
  min-height: 120px;
}

.client-logo:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0,0,0,.1);
  border-color: var(--accent);
}

.client-logo img {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.client-logo:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

@media (max-width: 768px) {
  .clients-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* ========== ESTILOS LANDING PAGE ========== */

/* Fuente Inter */
* {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Animaciones */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}

@keyframes gradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

body {
  overflow-x: hidden;
  background: #ffffff;
}

html {
  scroll-behavior: smooth;
}

/* Hero estilo Semrush con gradiente */
.hero-semrush {
  background: linear-gradient(135deg, #1E3A5F 0%, #2d5a8f 100%);
  padding: 100px 0;
  color: white;
  position: relative;
  overflow: hidden;
}

.hero-semrush::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 107, 53, 0.1) 100%);
  pointer-events: none;
}

.hero-semrush h1 {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 24px;
  color: white;
}

.hero-semrush .highlight {
  color: #fbbf24;
}

.hero-semrush .lead-text {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  margin-bottom: 32px;
}

.hero-product-image {
  position: relative;
  z-index: 2;
}

.hero-product-image img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.trust-badges {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.9375rem;
}

.trust-badge svg {
  color: #fbbf24;
}

/* Product Cards Estilo Premium */
.product-showcase {
  background: white;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid #e2e8f0;
  margin-bottom: 48px;
}

.product-showcase:hover {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}

.product-badge {
  display: inline-block;
  background: #FF6B35;
  color: white;
  padding: 8px 20px;
  border-radius: 24px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.product-title {
  font-size: 2.5rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 16px;
  line-height: 1.2;
}

.product-subtitle {
  font-size: 1.25rem;
  color: #64748b;
  margin-bottom: 32px;
  line-height: 1.6;
}

.product-image-container {
  position: relative;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  height: 100%;
  overflow: hidden;
}

.product-image-container img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 85%;
  max-height: 85%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.15));
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  margin: 32px 0;
}

.feature-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.feature-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #FF6B35 0%, #ff834f 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.feature-content h4 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 4px;
}

.feature-content p {
  font-size: 0.9375rem;
  color: #64748b;
  margin: 0;
}

.pricing-box {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 2px solid #e2e8f0;
  border-radius: 20px;
  padding: 32px;
  text-align: center;
}

.price {
  font-size: 3rem;
  font-weight: 800;
  color: #0f172a;
  margin: 16px 0;
}

.price-period {
  font-size: 1.125rem;
  color: #64748b;
}

/* Smartphone Frame */
.smartphone-frame {
  position: relative;
  width: 300px;
  height: 600px;
  margin: 0 auto;
  background: #1f2937;
  border-radius: 40px;
  padding: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.smartphone-frame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 28px;
  background: #1f2937;
  border-radius: 0 0 20px 20px;
  z-index: 2;
}

.smartphone-frame::after {
  content: '';
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 6px;
  background: #374151;
  border-radius: 3px;
  z-index: 3;
}

.smartphone-screen {
  width: 100%;
  height: 100%;
  background: white;
  border-radius: 32px;
  overflow: hidden;
  position: relative;
}

.smartphone-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Sobrescribir estilos del CSS base */
.section {
  padding: 80px 0;
  border-top: none;
}

.section h2 {
  font-size: 2.5rem;
}

.section h2::after {
  display: none;
}

/* Botones Bootstrap personalizados */
.btn-primary {
  background: linear-gradient(135deg, #FF6B35 0%, #ff834f 100%) !important;
  border: none !important;
  color: white !important;
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3) !important;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #ff5722 0%, #FF6B35 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255, 107, 53, 0.4) !important;
}

.btn-outline-dark {
  border: 2px solid #0f172a !important;
  color: #0f172a !important;
}

.btn-outline-dark:hover {
  background: #0f172a !important;
  color: white !important;
}

/* Deshabilitar estilos viejos */
.app-card {
  all: unset;
  display: block;
}

.app-card::before {
  display: none;
}

.app-card-content,
.app-card-image {
  all: unset;
  display: block;
}

/* Navbar personalizado */
.navbar {
  background-color: white;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  padding: 15px 0;
}

.navbar-brand img {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}

.navbar-brand .brand-text {
  display: flex;
  flex-direction: column;
  margin-left: 12px;
}

.navbar-brand .brand-title {
  font-weight: 800;
  color: var(--primary);
  font-size: 1.1rem;
  line-height: 1.1;
}

.navbar-brand .brand-sub {
  font-size: .75rem;
  color: var(--accent);
  font-weight: 600;
}

.navbar .nav-link {
  font-weight: 600;
  color: var(--primary);
  margin: 0 5px;
}

.navbar .nav-link:hover {
  color: var(--accent);
}

.navbar .dropdown-menu {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  border: none;
  margin-top: 8px;
}

.navbar .dropdown-item {
  padding: 10px 20px;
  transition: all 0.2s;
}

.navbar .dropdown-item:hover {
  background: rgba(30,58,95,.08);
  color: var(--accent);
}
