/* FirmaEC 2.2.30 · Home / landing moderno */

.public-body{
  background:#f8fbff;
  color:#1b2438;
}

.public-navbar{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(207,219,236,.78);
  box-shadow:0 10px 28px rgba(14,31,53,.04);
}

.public-navbar .navbar-brand strong{
  font-size:1.9rem;
  letter-spacing:-.04em;
}

.public-navbar .brand-mark{
  width:40px;
  height:40px;
  border-radius:12px;
  background:linear-gradient(135deg,#0f6fff 0%,#0a56d4 100%);
  box-shadow:0 12px 24px rgba(15,95,239,.18);
}

.public-navbar .nav-link{
  color:#33415d;
  font-weight:600;
}
.public-navbar .nav-link:hover,
.public-navbar .nav-link:focus{color:#0d63ec}
.public-navbar .btn-primary,
.home-modern-cta-group .btn-primary,
.home-support-action .btn-primary,
.home-price-card .btn-primary,
.home-compare-btn{
  background:linear-gradient(135deg,#0f6fff 0%,#0a56d4 100%);
  border-color:#0a56d4;
  box-shadow:0 12px 24px rgba(11,98,236,.17);
}

.public-main{padding-top:88px}
.public-footer{
  background:transparent;
  border-top:1px solid #e5edf8;
  margin-top:0;
  padding:1.2rem 0 2rem;
}

.home-modern-hero{
  position:relative;
  overflow:hidden;
  padding:3.35rem 0 2.4rem;
  background:
    radial-gradient(circle at 84% 12%, rgba(54,125,255,.12), transparent 18%),
    radial-gradient(circle at 76% 88%, rgba(112,175,255,.08), transparent 18%),
    linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
}
.home-modern-hero::before,
.home-modern-hero::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.home-modern-hero::before{
  width:520px;
  height:520px;
  top:-320px;
  right:-170px;
  background:radial-gradient(circle, rgba(11,98,236,.08) 0%, rgba(11,98,236,0) 68%);
}
.home-modern-hero::after{
  width:410px;
  height:410px;
  left:-220px;
  bottom:-300px;
  background:radial-gradient(circle, rgba(30,108,255,.08) 0%, rgba(30,108,255,0) 74%);
}

.home-modern-badge,
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#0f63eb;
  font-weight:800;
  font-size:.92rem;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.home-modern-badge{
  min-height:34px;
  padding:.35rem .72rem;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #d6e5ff;
  text-transform:none;
  letter-spacing:0;
}
.home-modern-badge i{font-size:.95rem}
.home-modern-hero h1{
  margin:1.15rem 0 1rem;
  font-size:clamp(2.55rem,5vw,4.45rem);
  line-height:.97;
  letter-spacing:-.055em;
  font-weight:860;
  color:#182441;
}
.home-modern-lead{
  max-width:620px;
  margin:0;
  color:#5d6d89;
  font-size:1.14rem;
  line-height:1.74;
}
.home-modern-extra-copy{margin-top:1rem;color:#607089}
.home-modern-cta-group{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2rem;
}
.home-modern-cta-group .btn{
  min-height:54px;
  padding:.85rem 1.4rem;
  border-radius:16px;
  font-weight:760;
}
.home-modern-cta-group .btn-outline-primary{
  background:#fff;
  border-color:#94b8ff;
  color:#0f63eb;
}
.home-modern-checks{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.5rem;
  margin-top:1.55rem;
  color:#53627e;
  font-size:.95rem;
}
.home-modern-checks span{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.home-modern-checks i{color:#2f9e69;font-size:1rem}

.hero-device-scene{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-device-glow{
  position:absolute;
  width:100%;
  height:100%;
  inset:0;
  background:radial-gradient(circle at 70% 42%, rgba(17,109,245,.12), transparent 43%);
}
.hero-device{
  position:relative;
  z-index:2;
  width:min(100%, 620px);
  border-radius:26px 26px 18px 18px;
  background:#0e1931;
  padding:14px 14px 18px;
  box-shadow:0 34px 70px rgba(10,27,58,.28);
}
.hero-device::after{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  bottom:-12px;
  height:16px;
  border-radius:0 0 34px 34px;
  background:linear-gradient(180deg,#cfd9ea,#a8b6cb);
}
.hero-device__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.25rem .35rem .85rem;
  color:#fff;
}
.hero-device__topbar strong{font-size:1rem;font-weight:780}
.hero-device__traffic{display:flex;gap:.32rem}
.hero-device__traffic span{
  width:8px;height:8px;border-radius:50%;display:block;
}
.hero-device__traffic span:nth-child(1){background:#ff5f57}
.hero-device__traffic span:nth-child(2){background:#ffbd2e}
.hero-device__traffic span:nth-child(3){background:#28c840}
.hero-device__topbar .btn-sm{
  min-height:32px;
  padding:.3rem .78rem;
  border-radius:10px;
  font-size:.82rem;
  font-weight:700;
}
.hero-device__body{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:14px;
  background:#f3f6fb;
  border-radius:18px;
  padding:14px;
}
.hero-device__pages{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.page-thumb{
  height:96px;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#eef3fb);
  border:1px solid #dde6f5;
  box-shadow:0 6px 14px rgba(20,42,77,.06);
  position:relative;
}
.page-thumb.active{border-color:#8eb5ff; box-shadow:0 10px 22px rgba(11,98,236,.14)}
.page-thumb span{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  color:#7d8bab;
  font-size:.78rem;
  font-weight:700;
}
.hero-device__document{
  position:relative;
  min-height:360px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce5f5;
  padding:2rem 1.9rem;
  overflow:hidden;
}
.document-title{
  color:#2d364c;
  text-align:center;
  font-size:.98rem;
  font-weight:800;
  letter-spacing:.04em;
}
.document-lines{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:1.75rem;
}
.document-lines span{
  display:block;
  height:8px;
  width:100%;
  border-radius:999px;
  background:#e7edf6;
}
.document-lines span.w-92{width:92%}
.document-lines span.w-88{width:88%}
.document-lines span.w-86{width:86%}
.document-lines span.w-84{width:84%}
.document-lines span.w-78{width:78%}
.document-lines span.w-72{width:72%}
.signature-box{
  position:absolute;
  right:1.7rem;
  bottom:1.7rem;
  width:min(58%, 250px);
  border:2px solid #74a4ff;
  border-radius:18px;
  background:linear-gradient(180deg,#fbfdff,#f6f9ff);
  padding:1rem 1rem .78rem;
  box-shadow:0 16px 34px rgba(11,98,236,.1);
}
.signature-box svg{width:100%; height:auto; display:block}
.signature-box__label{
  margin-top:.2rem;
  color:#0f63eb;
  font-size:.84rem;
  font-weight:700;
  text-align:center;
}
.hero-floating-status{
  position:absolute;
  left:14%;
  bottom:6%;
  z-index:3;
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:270px;
  padding:.85rem 1rem;
  border-radius:16px;
  border:1px solid #d6e0ee;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 40px rgba(16,36,68,.12);
}
.status-check{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f8ef;
  color:#2f9e69;
  font-size:1rem;
}
.hero-floating-status strong{display:block;font-size:.92rem;color:#26334b}
.hero-floating-status small{display:block;color:#6f7f98;font-size:.8rem;margin-top:.1rem}

.home-modern-section{padding:2.5rem 0}
.home-modern-heading{margin-bottom:2.1rem}
.home-modern-heading h2{
  margin:.7rem 0 .65rem;
  color:#1a243e;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:840;
}
.home-modern-heading p{
  max-width:760px;
  margin:0 auto;
  color:#5e6e89;
  font-size:1.06rem;
}

.home-modern-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}
.home-feature-card{
  padding:1.6rem;
  border:1px solid #dce6f4;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 32px rgba(17,35,68,.04);
}
.home-feature-card__icon{
  width:50px;height:50px;display:grid;place-items:center;
  border-radius:16px;background:#eef4ff;color:#0f63eb;font-size:1.25rem;
}
.home-feature-card h3{margin:1.05rem 0 .55rem;font-size:1.26rem;line-height:1.25;font-weight:790;color:#243048}
.home-feature-card p{margin:0;color:#607089;line-height:1.7}

.home-modern-process-wrap{padding-top:1.4rem}
.home-process-card{
  position:relative;
  padding:2rem 1.2rem 1.4rem;
  border:1px solid #dce6f4;
  border-radius:28px;
  background:linear-gradient(180deg,#fbfdff,#f4f8ff);
  box-shadow:0 18px 40px rgba(17,35,68,.05);
}
.home-process-line{
  position:absolute;
  left:9%;
  right:9%;
  top:95px;
  height:0;
  border-top:2px dashed #b8cdf8;
}
.home-process-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
}
.home-process-step{text-align:center;padding:0 .35rem}
.step-pin{
  width:40px;height:40px;display:grid;place-items:center;margin:0 auto 1rem;
  border-radius:50%; background:linear-gradient(135deg,#0f6fff,#0a56d4); color:#fff; font-weight:800; box-shadow:0 10px 22px rgba(11,98,236,.16);
}
.step-icon{
  width:62px;height:62px;display:grid;place-items:center;margin:0 auto .95rem;
  border-radius:20px;background:#eef4ff;color:#0f63eb;font-size:1.5rem;
}
.home-process-step h3{margin:0 0 .42rem;color:#213048;font-size:1.18rem;font-weight:790}
.home-process-step p{margin:0;color:#65758e;line-height:1.55;font-size:.95rem}
.home-process-footer{margin-top:1.4rem;text-align:center;color:#34415b;font-weight:560}

.home-security-panel{
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(130deg,#061a44 0%,#082966 36%,#0a57d4 100%);
  color:#fff;
  box-shadow:0 28px 62px rgba(7,26,68,.22);
  padding:2rem;
}
.eyebrow-light{color:#8ab4ff}
.home-security-panel h2{
  margin:.8rem 0 .7rem;
  font-size:clamp(2rem,3.6vw,3rem);
  line-height:1.06;
  letter-spacing:-.04em;
  font-weight:840;
}
.home-security-copy{max-width:600px;color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.7}
.home-security-visual{display:flex;align-items:center;justify-content:center;min-height:100%}
.security-shield{
  width:240px;height:240px;display:grid;place-items:center;border-radius:34px;position:relative;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.2), rgba(255,255,255,.05) 46%, rgba(255,255,255,.03) 60%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 24px 48px rgba(2,10,26,.25);
}
.security-shield::before,
.security-shield::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(70,157,255,.25);
}
.security-shield::before{width:280px;height:280px}
.security-shield::after{width:330px;height:330px}
.security-shield i{font-size:5rem;color:#dbe9ff;text-shadow:0 10px 20px rgba(0,0,0,.16)}
.home-security-checks{
  display:grid;
  grid-template-columns:1fr;
  gap:.72rem;
  margin-top:1.3rem;
  padding:1.1rem 1.15rem;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
}
.home-security-checks div{display:flex;align-items:flex-start;gap:.75rem;color:#f5f9ff}
.home-security-checks i{color:#64d18d;font-size:1rem;line-height:1.4}

.home-price-card{
  position:relative;
  min-height:100%;
  padding:1.6rem;
  border:1px solid #dce6f4;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 34px rgba(17,35,68,.05);
}
.home-price-card.featured{
  border:2px solid #1a69f2;
  box-shadow:0 20px 42px rgba(11,98,236,.12);
}
.home-price-card__ribbon{
  position:absolute;
  top:-1px; left:50%; transform:translateX(-50%);
  min-height:30px; display:inline-flex; align-items:center; justify-content:center;
  padding:.2rem .9rem; border-radius:0 0 12px 12px; background:#1a69f2; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em;
}
.home-price-card__label{color:#1a69f2;font-size:.95rem;font-weight:770}
.home-price-card h3{margin:.55rem 0 .45rem;font-size:2rem;line-height:1.05;font-weight:830;color:#202a3d}
.home-price-card__desc{margin:0;color:#5f6f8b;min-height:52px}
.home-price-card__price{margin-top:1.3rem;color:#1d283e;font-size:3.25rem;line-height:1;font-weight:870;letter-spacing:-.05em}
.home-price-card__meta{display:block;margin-top:.5rem;color:#677792}
.home-price-card__content{margin:1.2rem 0 1.3rem;padding-top:1.15rem;border-top:1px solid #dce6f4;color:#34415b;line-height:1.72;min-height:138px}
.home-price-card .btn{min-height:50px;border-radius:14px;font-weight:760}
.home-price-card__note{display:block;margin-top:.8rem;color:#75849c;text-align:center}
.home-price-card.is-free .home-price-card__label{color:#31a46f}
.home-price-card.is-free .btn-outline-primary{border-color:#94b8ff}
.home-compare-btn{min-height:48px;border-radius:14px;font-weight:740}

.home-faq-section{padding-top:2rem}
.home-faq-accordion .accordion-item{
  border:1px solid #dbe5f4;
  border-radius:18px !important;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 24px rgba(17,35,68,.04);
}
.home-faq-accordion .accordion-item + .accordion-item{margin-top:.9rem}
.home-faq-accordion .accordion-button{
  background:#fff;
  color:#203049;
  font-weight:700;
  padding:1rem 1.1rem;
  box-shadow:none;
}
.home-faq-accordion .accordion-button:not(.collapsed){
  background:#eef4ff;
  color:#163f8f;
}
.home-faq-accordion .accordion-body{color:#5f6f8a;line-height:1.75;padding:1rem 1.1rem 1.2rem}

.home-modern-support-section{padding-top:1rem;padding-bottom:2.8rem}
.home-support-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1.3rem;
  align-items:center;
  padding:1.6rem 1.7rem;
  border-radius:24px;
  background:#fff;
  border:1px solid #dce6f4;
  box-shadow:0 14px 34px rgba(17,35,68,.05);
}
.home-support-icon{
  width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:#eef4ff;color:#0f63eb;font-size:2rem;
}
.home-support-copy h2{margin:0;color:#1b253a;font-size:2rem;line-height:1.05;font-weight:830}
.home-support-copy .support-subtitle{margin:.45rem 0 0;color:#576885;font-size:1.05rem;font-weight:650}
.home-support-copy .support-text{margin:.6rem 0 0;color:#65758f}
.home-support-action .btn{min-height:50px;border-radius:14px;font-weight:760;white-space:nowrap;padding:0 1.25rem}

.empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  padding:2rem;
  border:1px dashed #cbd7ea;
  border-radius:22px;
  background:#fff;
  color:#5f6f89;
}
.empty-state i{font-size:2rem;color:#1a69f2}

@media (max-width:1399.98px){
  .home-modern-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-process-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media (max-width:1199.98px){
  .home-modern-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-device-scene{min-height:480px}
  .hero-floating-status{left:8%}
  .home-process-line{display:none}
  .home-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-price-card__content{min-height:180px}
}

@media (max-width:991.98px){
  .public-main{padding-top:82px}
  .home-modern-hero{padding-top:2.6rem}
  .home-modern-hero h1{text-align:left}
  .hero-device-scene{min-height:0}
  .hero-floating-status{position:relative;left:auto;bottom:auto;margin-top:1rem;min-width:0;width:100%}
  .home-modern-feature-grid{grid-template-columns:1fr 1fr}
  .home-process-grid{grid-template-columns:1fr 1fr}
  .home-security-panel{padding:1.6rem}
  .home-support-card{grid-template-columns:1fr; text-align:center}
  .home-support-icon{margin:0 auto}
  .home-support-action .btn{width:100%}
}

@media (max-width:767.98px){
  .public-navbar .navbar-brand strong{font-size:1.55rem}
  .home-modern-hero h1{font-size:2.45rem}
  .home-modern-lead{font-size:1rem}
  .home-modern-checks{flex-direction:column;gap:.75rem}
  .hero-device{padding:10px 10px 16px}
  .hero-device__body{grid-template-columns:66px 1fr;gap:10px;padding:10px}
  .hero-device__document{padding:1rem;min-height:290px}
  .document-title{font-size:.84rem}
  .signature-box{right:1rem;bottom:1rem;width:min(70%, 230px)}
  .home-modern-feature-grid{grid-template-columns:1fr}
  .home-process-card{padding:1.4rem 1rem 1.2rem}
  .home-process-grid{grid-template-columns:1fr}
  .home-security-panel h2,.home-modern-heading h2,.home-support-copy h2{font-size:2rem}
  .security-shield{width:200px;height:200px}
}

@media (max-width:575.98px){
  .public-main{padding-top:78px}
  .home-modern-hero{padding:2rem 0 1.4rem}
  .home-modern-badge{font-size:.82rem}
  .home-modern-cta-group{flex-direction:column}
  .home-modern-cta-group .btn{width:100%}
  .hero-device__topbar{padding-bottom:.55rem}
  .hero-device__topbar strong{font-size:.86rem}
  .hero-device__body{grid-template-columns:58px 1fr}
  .page-thumb{height:72px;border-radius:12px}
  .page-thumb span{font-size:.72rem}
  .signature-box{position:static;width:100%;margin-top:1rem}
  .hero-device__document{min-height:0}
  .home-feature-card,.home-price-card,.home-process-card,.home-support-card{border-radius:20px}
  .home-security-panel{padding:1.2rem;border-radius:22px}
  .home-support-card{padding:1.25rem}
}

@media (prefers-reduced-motion:reduce){
  .public-body *{scroll-behavior:auto!important;transition:none!important}
}


/* FirmaEC 2.2.31 · Ajuste de centrado de botones del Home */
.home-modern-cta-group .btn,
.home-price-card .btn,
.home-support-action .btn,
.home-compare-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  text-align:center;
  line-height:1.2;
}

.home-modern-cta-group .btn .bi,
.home-price-card .btn .bi,
.home-support-action .btn .bi,
.home-compare-btn .bi{
  margin:0 !important;
  flex:0 0 auto;
  line-height:1;
}

.home-price-card .btn,
.home-support-action .btn,
.home-compare-btn{
  width:100%;
}

.home-price-card .btn span,
.home-support-action .btn span,
.home-modern-cta-group .btn span,
.home-compare-btn span{
  display:inline-block;
}


/* FirmaEC 2.2.32 · Ajuste del botón Comparar planes en Home */
.home-compare-btn{
  width:auto;
  min-width:220px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.75rem 1.35rem;
}

@media (max-width:575.98px){
  .home-compare-btn{
    width:100%;
    min-width:0;
  }
}


/* FirmaEC 2.2.33 · Corrección visual del botón Comparar planes */
.home-compare-btn{
  --bs-btn-color:#ffffff;
  --bs-btn-hover-color:#ffffff;
  --bs-btn-active-color:#ffffff;
  --bs-btn-disabled-color:#ffffff;
  --bs-btn-bg:linear-gradient(135deg,#2c7cff 0%,#0f63eb 100%);
  --bs-btn-hover-bg:linear-gradient(135deg,#1c6ff7 0%,#0b58d7 100%);
  --bs-btn-active-bg:linear-gradient(135deg,#1c6ff7 0%,#0b58d7 100%);
  --bs-btn-border-color:#0f63eb;
  --bs-btn-hover-border-color:#0b58d7;
  --bs-btn-active-border-color:#0b58d7;
  background:linear-gradient(135deg,#2c7cff 0%,#0f63eb 100%);
  border-color:#0f63eb;
  color:#ffffff !important;
  opacity:1 !important;
  box-shadow:0 14px 28px rgba(15,99,235,.18);
}

.home-compare-btn:hover,
.home-compare-btn:focus,
.home-compare-btn:active{
  background:linear-gradient(135deg,#1c6ff7 0%,#0b58d7 100%);
  border-color:#0b58d7;
  color:#ffffff !important;
  opacity:1 !important;
}

.home-compare-btn span,
.home-compare-btn .bi{
  color:inherit !important;
  opacity:1 !important;
}
