﻿/* Landing CSS depurado y agrupado */
:root{
  --c-text:#333;
  --c-text-soft:#555;
  --c-text-muted:#666;
  --c-title:#2c3e50;
  --c-primary:#5a67d8;
  --c-primary-2:#667eea;
  --c-primary-3:#764ba2;
  --c-primary-dark:#4a56c0;
  --c-link:#2980b9;
  --c-secondary:#718096;
  --c-secondary-dark:#5a6473;
  --c-bg:#fff;
  --c-bg-soft:#f8f9fa;
  --c-bg-soft-blue:#f8f9ff;
  --c-bg-feature:#f7fafc;
  --c-border:#e0e0e0;
  --c-border-soft:#e6e9ef;
  --shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --shadow-md:0 4px 12px rgba(0,0,0,.08);
  --shadow-lg:0 8px 20px rgba(0,0,0,.1);
  --gradient-brand:linear-gradient(135deg,var(--c-primary-2) 0%,var(--c-primary-3) 100%);
  --radius-sm:8px;
  --radius-lg:12px;
  --container:1200px;
  --transition:.3s ease;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Poppins',sans-serif;
  color:var(--c-text);
  overflow-x:hidden;
  background:var(--c-bg);
}

section{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
#home{padding:0;min-height:auto}
#about,#faqs{padding:40px 30px 24px;min-height:auto}
#about{background:var(--c-bg-soft);padding-top:30px;padding-bottom:10px}
#plans{background:var(--c-bg);padding:15px 0 0;min-height:auto}

.section-content{
  width:100%;
  max-width:var(--container);
  padding:0 50px;
}
#plans .section-content{
  max-width:1600px;
  padding:0 20px;
}
#faqs .faq-section-content{
  max-width:1650px;
  padding:0 32px;
}

/* Header */
header{
  position:fixed;
  inset:0 0 auto;
  width:100%;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(226,232,240,.8);
  z-index:1000;
  transition:all var(--transition);
}
.header-container{
  max-width:1400px;
  margin:0 auto;
  padding:0 40px;
  height:72px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
}
.logo img{height:44px;width:auto}
nav ul{
  display:flex;
  gap:8px;
  list-style:none;
}
nav ul li a{
  color:var(--c-text-soft);
  text-decoration:none;
  font-size:1rem;
  font-weight:500;
  padding:8px 18px;
  border-radius:8px;
  transition:all var(--transition);
  cursor:pointer;
  display:block;
}
nav ul li a:hover{
  color:#4f46e5;
  background:rgba(79,70,229,.07);
}
nav ul li a.active{
  color:#4f46e5;
  background:rgba(79,70,229,.10);
  font-weight:600;
}

.language-selector{
  position:relative;
}
.lang-btn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  background:rgba(79,70,229,.07);
  border:1px solid rgba(79,70,229,.18);
  border-radius:10px;
  cursor:pointer;
  font-size:.95rem;
  font-weight:500;
  color:#374151;
  transition:all var(--transition);
  white-space:nowrap;
}
.lang-btn:hover{
  background:rgba(79,70,229,.13);
  border-color:rgba(79,70,229,.35);
}
.lang-icon{
  color:#4f46e5;
  font-size:16px;
  flex-shrink:0;
}
.lang-arrow{
  color:#6b7280;
  font-size:12px;
  transition:transform .25s ease;
}
#langDropdown.open .lang-arrow{
  transform:rotate(180deg);
}
.lang-dropdown{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:210px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 10px 32px rgba(0,0,0,.14);
  list-style:none;
  padding:6px;
  z-index:2000;
  overflow:hidden;
}
#langDropdown.open .lang-dropdown{
  display:block;
}
.lang-dropdown li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:9px;
  font-size:.88rem;
  color:#374151;
  cursor:pointer;
  transition:background .15s;
}
.lang-dropdown li:hover{
  background:rgba(79,70,229,.08);
  color:#4f46e5;
}
.lang-dropdown li.active{
  background:rgba(79,70,229,.10);
  color:#4f46e5;
  font-weight:600;
}
.lang-item-flag{
  font-size:1.25rem;
  line-height:1;
  flex-shrink:0;
}
.lang-item-text{
  display:flex;
  flex-direction:column;
  gap:1px;
  line-height:1.2;
}
.lang-item-name{
  font-size:.875rem;
  font-weight:500;
  color:inherit;
}
.lang-item-region{
  font-size:.72rem;
  color:#9ca3af;
  font-weight:400;
}
.lang-dropdown li.active .lang-item-region{
  color:#818cf8;
}
.lang-dropdown li:hover .lang-item-region{
  color:#818cf8;
}

/* Hamburger */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  border-radius:8px;
  order:3;
  transition:background var(--transition);
}
.hamburger:hover{background:rgba(0,0,0,.05)}
.hamburger-line{
  display:block;
  width:24px;
  height:2.5px;
  background:var(--c-text);
  border-radius:2px;
  transition:all .3s ease;
}
.hamburger.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5.5px)}
.hamburger.active .hamburger-line:nth-child(2){opacity:0;transform:translateX(-8px)}
.hamburger.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5.5px)}

/* Hero */
#home .hero{
  position:relative;
  width:100%;
  min-height:70vh;
  padding:120px 30px 60px;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  background:var(--gradient-brand);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
#home .hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,8,40,.94) 0%,rgba(5,5,30,.75) 45%,rgba(0,0,0,.20) 100%);
  z-index:1;
}
#home .hero-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1100px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
}
.badge{
  display:inline-block;
  margin-bottom:10px;
  padding:8px 20px;
  border:2px solid rgba(255,255,255,.3);
  border-radius:25px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:.9rem;
  font-weight:600;
  backdrop-filter:blur(10px);
}
#home .hero-content h1{
  margin:0;
  color:#fff;
  font-size:3.2rem;
  line-height:1.1;
  font-weight:700;
  text-shadow:0 6px 20px rgba(0,0,0,.35);
}
#home .hero-content .sub{
  margin:0;
  color:rgba(255,255,255,.75);
  font-size:.85rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.18em;
  padding-bottom:10px;
  border-bottom:3px solid rgba(139,92,246,.75);
  width:fit-content;
}
#home .hero-content .lead{
  max-width:600px;
  margin:10px 0 20px;
  color:rgba(255,255,255,.95);
  font-size:1.05rem;
  line-height:1.6;
}

.cta-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:flex-start;
  margin:30px 0 0;
}
.hero-content .cta-buttons{margin-top:25px}

.btn,
.btn-plan{
  display:inline-block;
  border-radius:var(--radius-sm);
  font-weight:600;
  cursor:pointer;
  transition:all var(--transition);
  text-align:center;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 28px;
  border:none;
  text-decoration:none;
  font-size:1rem;
}
.btn-primary{
  background:#4c51bf;
  color:#fff;
  box-shadow:0 6px 18px rgba(76,81,191,.35);
}
.btn-primary:hover{
  background:#3d42a3;
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(76,81,191,.45);
}
.btn-secondary{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.75);
  box-shadow:none;
  backdrop-filter:blur(4px);
}
.btn-secondary:hover{
  background:rgba(255,255,255,.15);
  border-color:#fff;
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(255,255,255,.1);
}

/* Grids / cards shared */
.features-grid,
.info-cards,
.pricing-grid,
.features-cards,
.steps-grid{
  display:grid;
}
.feature-item,
.info-card,
.pricing-card,
.feature-card,
.step-card{
  border-radius:16px;
  transition:all var(--transition);
}

.features-section{
  width:100%;
  padding:18px 80px;
  background:#f8f9fb;
}
.features-grid{
  grid-template-columns:repeat(6,1fr);
  gap:20px;
}
.feature-item{
  padding:26px 16px 22px;
  background:#fff;
  text-align:center;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.04);
  border-radius:16px;
  border:1px solid #f1f5f9;
  transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);
}
.feature-item:hover{
  transform:translateY(-5px);
  box-shadow:0 8px 28px rgba(79,70,229,.1);
  border-color:rgba(79,70,229,.18);
}
.feature-icon-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin:0 auto 16px;
  border-radius:14px;
  background:rgba(79,70,229,.07);
  font-size:1.3rem;
  color:#4f46e5;
  transition:background var(--transition);
}
.feature-item:hover .feature-icon-wrap{
  background:rgba(79,70,229,.12);
}
.feature-label{
  color:#0f172a;
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
  margin-bottom:4px;
}
.feature-sub{
  color:#94a3b8;
  font-size:.77rem;
  line-height:1.3;
  padding-top:6px;
  border-top:1px solid #e2e8f0;
  display:block;
  margin-top:4px;
}

/* Typography / content blocks */
.section-title,
.subsection-title,
.subsection-title-left,
h2{
  color:var(--c-title);
}
.section-title{
  position:relative;
  margin-bottom:32px;
  font-size:2.5rem;
  text-align:center;
  padding-bottom:18px;
}
.section-title::after{
  content:'';
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:36px;
  height:3px;
  background:#4f46e5;
  border-radius:2px;
}
.subsection-title,
.subsection-title-left{
  position:relative;
  margin-bottom:24px;
  font-size:2rem;
  font-weight:600;
  padding-bottom:14px;
}
.subsection-title{text-align:center}
.subsection-title::after,
.subsection-title-left::after{
  content:'';
  position:absolute;
  bottom:0;
  height:3px;
  width:32px;
  background:#4f46e5;
  border-radius:2px;
}
.subsection-title::after{
  left:50%;
  transform:translateX(-50%);
}
.subsection-title-left{text-align:left}
.subsection-title-left::after{left:0}
.subsection-intro,
.plans-intro,
.subsection-text{
  color:var(--c-text-soft);
  line-height:1.7;
}
.subsection-intro,
.plans-intro{
  max-width:900px;
  margin:0 auto 10px;
  text-align:center;
}
.subsection-intro{font-size:1.1rem}
.plans-intro,
.subsection-text{font-size:1rem}
.subsection-intro:last-of-type{margin-bottom:40px}
.subsection-text{
  margin-bottom:15px;
  text-align:left;
}
.mb-large{
  margin-bottom:45px !important;
}
h1{font-size:3rem;margin-bottom:1rem}
h2{font-size:2.5rem;margin-bottom:2rem}

/* About */
.about-subsection{margin-bottom:70px}
.about-subsection:last-child{margin-bottom:0}

.worldcup-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:28px;
  padding:7px 18px;
  border:1px solid rgba(79,70,229,.2);
  border-radius:50px;
  background:rgba(79,70,229,.06);
  color:#4f46e5;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.worldcup-badge .badge-icon{
  font-size:.9rem;
  color:#4f46e5;
}

.comparison-section{margin-top:50px}
.how-it-works{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-top:0;
  padding:32px 20px 44px;
  border-top:1px solid #e2e8f0;
  background:#fafbff;
}
.what-is-section .two-column-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.two-column-layout{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:50px;
  align-items:flex-start;
}
.text-column{padding-right:0}
.image-column{
  display:flex;
  justify-content:center;
  align-items:center;
}
.what-is-section .map-image{
  width:100%;
  max-width:490px;
  min-height:320px;
  height:auto;
  border-radius:20px;
  box-shadow:0 16px 48px rgba(79,70,229,.1);
}
.map-image{
  width:100%;
  max-width:550px;
  height:auto;
  border-radius:var(--radius-lg);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.feature-list{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-top:0;
}
.feature-item-list{
  display:flex;
  align-items:flex-start;
  gap:15px;
}
.feature-icon-small,
.step-number{
  display:flex;
  align-items:center;
  justify-content:center;
}
.step-number{
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);
  color:#fff;
}
.feature-icon-small{
  flex-shrink:0;
  width:48px;
  height:48px;
  border-radius:12px;
  font-size:1.15rem;
  background:rgba(79,70,229,.08);
  color:#4f46e5;
}
.feature-text{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
}
.feature-text h4{
  margin-bottom:5px;
  color:var(--c-title);
  font-size:1.1rem;
  font-weight:600;
}
.feature-text p{
  margin:0;
  color:var(--c-text-muted);
  font-size:.95rem;
  line-height:1.6;
}
.feature-text span{
  color:var(--c-text);
  font-size:.85rem;
  line-height:1.35;
  font-weight:500;
}

.info-cards{
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:40px;
}
.info-card{
  padding:40px 28px 36px;
  background:#fff;
  border:1px solid #f1f5f9;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04);
  text-align:center;
  transition:all var(--transition);
}
.info-card:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 32px rgba(79,70,229,.1);
  border-color:rgba(79,70,229,.15);
}
.card-icon{
  width:56px;
  height:56px;
  margin:0 auto 20px;
  border-radius:16px;
  background:rgba(79,70,229,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  color:#4f46e5;
  transition:background var(--transition);
}
.info-card:hover .card-icon{
  background:rgba(79,70,229,.13);
}
.info-card h4{
  margin-bottom:10px;
  color:#0f172a;
  font-size:1.1rem;
  font-weight:700;
}
.info-card p{
  color:#64748b;
  font-size:.95rem;
  line-height:1.65;
}

/* Comparison table */
.comparison-table-wrapper{
  margin-top:30px;
  overflow-x:auto;
}
.comparison-table{
  width:100%;
  max-width:900px;
  margin:0 auto;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-md);
}
.comparison-table thead{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)}
.comparison-table thead th{
  padding:20px 25px;
  color:#fff;
  text-align:left;
  font-size:1.05rem;
  font-weight:600;
}
.comparison-table thead th:first-child{width:25%}
.comparison-table thead th:nth-child(2),
.comparison-table thead th:nth-child(3){width:37.5%}
.comparison-table tbody tr{
  border-bottom:1px solid var(--c-border);
  transition:background .2s ease;
}
.comparison-table tbody tr:last-child{border-bottom:none}
.comparison-table tbody tr:hover{background:var(--c-bg-soft-blue)}
.comparison-table tbody td{
  padding:18px 25px;
  font-size:.95rem;
}
.comparison-table .feature-name{
  color:#4f46e5;
  font-weight:600;
}
.comparison-table .esim-value{
  color:var(--c-title);
  font-weight:500;
}
.comparison-table .roaming-value{color:var(--c-text-muted)}

/* Plans */
.plans-note{
  margin-bottom:40px;
  color:var(--c-primary);
  text-align:center;
  font-size:.95rem;
  font-weight:500;
}

/* Plans Toggle Switch */
.plans-toggle-container{
  display:flex;
  width:fit-content;
  margin:16px auto 24px;
  border-radius:50px;
  border:2px solid var(--c-border);
  background:#f3f4f6;
  overflow:hidden;
}
.plans-toggle-btn{
  padding:12px 40px;
  background:transparent;
  border:none;
  font-family:'Poppins',sans-serif;
  font-size:1rem;
  font-weight:600;
  color:var(--c-text-muted);
  cursor:pointer;
  transition:all .3s ease;
  white-space:nowrap;
}
.plans-toggle-btn.active{
  background:#4f46e5;
  color:#fff;
  border-radius:50px;
  box-shadow:0 4px 14px rgba(79,70,229,.3);
}
.plans-toggle-btn:hover:not(.active){
  color:var(--c-text);
  background:rgba(0,0,0,.04);
}

/* Plans Descriptions */
.plans-description{
  margin:0 auto 30px;
  max-width:900px;
  text-align:center;
}

.pricing-grid{
  grid-template-columns:repeat(4,1fr);
  gap:25px;
  max-width:1200px;
  margin:0 auto 40px;
}
.pricing-card{
  position:relative;
  padding:30px 20px;
  background:#fff;
  border:2px solid var(--c-border);
  text-align:center;
}
.pricing-card:hover{
  transform:translateY(-8px);
  border-color:var(--c-primary-2);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.pricing-card.popular{
  border:3px solid var(--c-primary);
  background:linear-gradient(to bottom,var(--c-bg-soft-blue) 0%,#fff 100%);
}
.popular-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-bottom:15px;
  padding:8px 15px;
  border-radius:20px;
  background:var(--c-primary);
  color:#fff;
  font-size:.8rem;
  font-weight:600;
}
.star-icon{font-size:1rem}
.plan-size{
  margin-bottom:10px;
  color:var(--c-title);
  font-size:2.5rem;
  font-weight:700;
}
.plan-validity,
.plan-description{
  color:var(--c-text-muted);
  font-size:.9rem;
}
.plan-validity{margin-bottom:15px}
.plan-price{
  margin-bottom:15px;
  color:var(--c-primary);
  font-size:2rem;
  font-weight:700;
}
.plan-description{
  min-height:20px;
  margin-bottom:20px;
}
.btn-plan{
  width:100%;
  padding:12px 20px;
  border:2px solid var(--c-primary);
  background:#fff;
  color:var(--c-primary);
  font-size:.95rem;
}
.btn-plan:hover{
  background:var(--c-primary);
  color:#fff;
}
.btn-plan-popular{
  background:var(--c-primary);
  color:#fff;
}
.btn-plan-popular:hover{
  background:var(--c-primary-dark);
  border-color:var(--c-primary-dark);
}

.plans-features{
  margin-bottom:0;
  padding:24px 0 0;
  text-align:center;
}
.plans-features h3{
  margin-bottom:30px;
  color:var(--c-text);
  font-size:1.4rem;
  font-weight:600;
}
.features-cards{
  width:100%;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;
}
.feature-card{
  width:100%;
  min-height:62px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  background:#fff;
  border:1px solid #f1f5f9;
  border-radius:12px;
  text-align:left;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:all var(--transition);
}
.feature-card:hover{
  transform:translateY(-2px);
  border-color:rgba(79,70,229,.2);
  box-shadow:0 4px 14px rgba(79,70,229,.09);
}
.feature-card .feature-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  min-width:24px;
  color:#4f46e5;
}
.feature-card .feature-icon i{font-size:1.05rem}

.steps-grid{
  grid-template-columns:repeat(5,1fr);
  gap:15px;
  margin-top:40px;
}
.step-card{
  padding:32px 18px 26px;
  background:#fff;
  border:1px solid #f1f5f9;
  border-top:3px solid #4f46e5;
  text-align:center;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.04);
  transition:all var(--transition);
}
.step-card:hover{
  transform:translateY(-4px);
  border-color:#4f46e5;
  box-shadow:0 10px 28px rgba(79,70,229,.12);
}
.step-number{
  width:46px;
  height:46px;
  margin:0 auto 16px;
  border-radius:50%;
  font-size:1.25rem;
  font-weight:700;
  box-shadow:0 4px 12px rgba(79,70,229,.3);
}
.step-card h4{
  margin-bottom:10px;
  color:var(--c-title);
  font-size:1.1rem;
  font-weight:600;
}
.step-card p{
  color:var(--c-text-muted);
  font-size:.85rem;
  line-height:1.5;
}

/* FAQs */
#faqs{
  background:var(--c-bg-soft);
  padding-bottom:0;
}
.faq-container{
  width:100%;
  max-width:none;
  margin:40px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.faq-column{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.faq-item{
  width:100%;
  display:block;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--c-border-soft);
  border-radius:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  transition:box-shadow .3s ease,border-color .3s ease;
}
.faq-item:hover{
  border-color:rgba(79,70,229,.2);
  box-shadow:0 4px 16px rgba(79,70,229,.07);
}
.faq-question{
  width:100%;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:none;
  background:transparent;
  color:var(--c-title);
  font-size:1.02rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:color .3s ease;
}
.faq-question:hover{
  color:#4f46e5;
}
.faq-question:focus{
  outline:2px solid rgba(90,103,216,.2);
  outline-offset:2px;
}
.faq-icon{
  flex-shrink:0;
  color:#4f46e5;
  font-size:.85rem;
  transition:transform .3s ease;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  padding:0 22px;
  background:#fff;
  transition:max-height .4s ease,padding .3s ease;
}
.faq-answer p{
  margin:0 0 20px;
  color:var(--c-text-soft);
  font-size:.98rem;
  line-height:1.7;
}
.faq-item[aria-expanded="true"] .faq-answer{
  padding:0 22px 20px;
}
.faq-item[aria-expanded="true"] .faq-icon{
  transform:rotate(180deg);
}

/* Responsive */
@media (max-width:1400px){
  .features-grid{grid-template-columns:repeat(3,1fr);gap:18px}
  .features-section{padding:18px 40px}
  .pricing-grid{grid-template-columns:repeat(2,1fr);gap:30px}
  .steps-grid{grid-template-columns:repeat(3,1fr);gap:15px}
  .features-cards{grid-template-columns:repeat(3,1fr);gap:16px}
  #faqs .faq-section-content{max-width:1500px;padding:0 36px}
  .faq-container{gap:26px}
}

@media (max-width:992px){
  .section-content{padding:0 35px}
  #faqs .faq-section-content{padding:0 30px}
  .features-section{padding:18px 30px}
  .features-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .two-column-layout{gap:40px}
  .what-is-section .two-column-layout{grid-template-columns:1fr;gap:40px}
  .what-is-section .text-column{order:1}
  .what-is-section .image-column{order:2}
  .faq-container{gap:20px}
  .faq-column{gap:14px}
  .info-cards{grid-template-columns:repeat(2,1fr);gap:25px}
  .pricing-grid,
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .plans-features{
    padding:30px 0;
  }
  .how-it-works{
    padding:50px 20px 30px;
  }
  .features-cards{grid-template-columns:repeat(2,1fr);gap:14px}
  .subsection-title,
  .subsection-title-left{font-size:1.7rem}
}

@media (max-width:768px){
  /* â”€â”€ Header / Hamburger â”€â”€ */
  .hamburger{display:flex}
  .header-container{flex-direction:row;flex-wrap:wrap;gap:0;padding:0 16px;align-items:center;height:auto;min-height:60px}
  .logo{flex:1;padding:10px 0}
  .language-selector{order:2;width:auto;margin-right:8px}
  .lang-btn{padding:7px 10px;font-size:.82rem;gap:5px;max-width:160px}
  #langBtnLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}
  .lang-dropdown{min-width:180px;right:0}
  nav{width:100%;order:4;display:none;padding:8px 0 10px;border-top:1px solid var(--c-border);margin-top:0;background:#fff}
  nav.open{display:block}
  nav ul{flex-direction:column;gap:0}
  nav ul li a{display:block;padding:13px 16px;border-bottom:1px solid #f1f5f9;font-size:1rem;color:#1e293b;border-radius:0}
  nav ul li a:hover{background:#f5f3ff;color:#4f46e5}
  nav ul li a.active{background:#ede9fe;color:#4f46e5;font-weight:600}
  nav ul li:last-child a{border-bottom:none}
  /* â”€â”€ CTA / content â”€â”€ */
  .cta-buttons{flex-direction:column}
  .section-content{padding:0 20px}
  #faqs .faq-section-content{padding:0 20px}
  #home .hero{
    min-height:60vh;
    padding:100px 20px 40px;
  }
  #home .hero-content h1{font-size:2.2rem}
  #home .hero-content .sub{font-size:1.1rem}
  #home .hero-content .lead{font-size:.95rem}
  .hero-content .cta-buttons,
  .btn{width:100%}
  .cta-buttons{gap:15px}
  .features-section{padding:16px 20px}
  .plans-toggle-container{
    max-width:320px;
  }
  .plans-toggle-btn{
    padding:10px 28px;
    font-size:0.9rem;
  }
  .features-grid,
  .info-cards,
  .pricing-grid,
  .steps-grid{grid-template-columns:1fr}
  .how-it-works .steps-grid{gap:12px}
  .faq-container{grid-template-columns:1fr;gap:14px;padding:0}
  .faq-column{gap:14px}
  .features-grid{gap:15px}
  .feature-item{padding:16px 12px}
  .feature-item .feature-icon{height:60px;font-size:2.2rem}
  .section-title{font-size:2rem}
  .subsection-title,
  .subsection-title-left{font-size:1.5rem}
  .subsection-intro{font-size:1rem}
  .subsection-text{font-size:.95rem}
  .two-column-layout{grid-template-columns:1fr;gap:30px}
  .what-is-section .two-column-layout{grid-template-columns:1fr;gap:40px}
  .text-column{order:2;padding-right:0}
  .image-column{order:1}
  .what-is-section .text-column{order:1}
  .what-is-section .image-column{order:2}
  .map-image{max-width:100%}
  .what-is-section .map-image{max-width:100%;min-height:auto}
  .feature-icon-small{
    width:45px;
    height:45px;
    font-size:1.5rem;
  }
  .feature-text h4{font-size:1rem}
  .feature-text p{font-size:.9rem}
  .card-icon{width:50px;height:50px;font-size:1.35rem}
  .faq-question{padding:14px 16px;font-size:.98rem}
  .comparison-table thead{display:none}
  .comparison-table tbody tr{
    display:block;
    margin-bottom:20px;
    background:#fff;
    border:1px solid var(--c-border);
    border-radius:var(--radius-sm);
    box-shadow:0 2px 8px rgba(0,0,0,.05);
  }
  .comparison-table tbody td{
    display:block;
    padding:12px 20px;
    text-align:left;
    border-bottom:1px solid #f0f0f0;
  }
  .comparison-table tbody td:last-child{border-bottom:none}
  .comparison-table .feature-name{
    margin:0;
    padding:15px 20px;
    background:var(--c-bg-soft-blue);
    font-size:1.1rem;
  }
  .comparison-table .esim-value::before{
    content:attr(data-mobile-label);
    display:block;
    color:var(--c-primary);
    font-weight:600;
    font-size:.8rem;
    margin-bottom:4px;
  }
  .comparison-table .roaming-value::before{
    content:attr(data-mobile-label);
    display:block;
    color:#999;
    font-weight:600;
    font-size:.8rem;
    margin-bottom:4px;
  }
  .features-cards{grid-template-columns:repeat(2,1fr);gap:12px}
  .feature-card{
    min-height:80px;
    padding:14px 10px;
  }
  .feature-card .feature-icon{min-width:20px}
  .feature-card .feature-icon i{font-size:1rem}
  .feature-text span{
    font-size:.75rem;
    line-height:1.3;
  }
  .plans-features{
    padding:25px 0;
  }
  .how-it-works{
    padding:40px 20px 25px;
  }
  .plans-features h3{font-size:1.2rem}
  .plan-size{font-size:2rem}
  .plan-price{font-size:1.7rem}
  h1{font-size:2rem}
  h2{font-size:1.8rem}
}

/* ====================================================================
   CLOSING INFO BANNER
   ==================================================================== */
.closing-info-banner{
  background:#f8f9ff;
  border-top:1px solid #e2e8f0;
  padding:36px 30px 48px;
  text-align:center;
}
.closing-info-banner .closing-info-inner{
  max-width:760px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}
.closing-info-banner .closing-info-title{
  font-size:2rem;
  font-weight:700;
  color:#0f172a;
  margin:0 0 16px;
  line-height:1.3;
}
.closing-info-banner .closing-info-highlight{
  font-size:1.05rem;
  font-weight:500;
  color:#4f46e5;
  margin:0 0 36px;
  font-style:italic;
}
.closing-info-banner .closing-info-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:40px;
  text-align:left;
}
.closing-info-banner .closing-info-body p{
  font-size:0.93rem;
  color:#64748b;
  line-height:1.75;
  margin:0;
  border-left:2px solid #c7d2fe;
  padding-left:14px;
}
.closing-info-banner .closing-info-cta{
  background:#4f46e5;
  color:#fff;
  font-weight:700;
  padding:14px 40px;
  border-radius:50px;
  font-size:1rem;
  box-shadow:0 4px 20px rgba(79,70,229,.28);
  transition:transform .2s,box-shadow .2s;
  text-decoration:none;
  display:inline-block;
}
.closing-info-banner .closing-info-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
@media (max-width:768px){
  .closing-info-banner{
    padding:56px 20px;
  }
  .closing-info-banner .closing-info-title{
    font-size:1.55rem;
  }
  .closing-info-banner .closing-info-body{
    grid-template-columns:1fr;
    gap:16px;
  }
}

/* ====================================================================
   FOOTER
   ==================================================================== */
footer{
  background: linear-gradient(135deg, #2d3561 0%, #1e2442 100%);
  color: #ffffff;
  padding: 60px 0 0 0;
  margin-top: 0;
}

.footer-container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 30px;
}

/* Footer Top */
.footer-top{
  display: grid;
  grid-template-columns: 2fr 1fr 1.5fr;
  gap: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  align-items: start;
}

.footer-column h4{
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 15px;
  color: #ffffff;
}

/* Logo y DirecciÃ³n */
.footer-logo{
  margin-bottom: 18px;
}

.footer-logo img{
  max-width: 180px;
  height: auto;
  display: block;
}

.footer-address{
  display: flex;
  gap: 12px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.7;
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.footer-address i{
  color: #667eea;
  font-size: 1.1rem;
  margin-top: 3px;
  flex-shrink: 0;
}

/* Links del Footer */
.footer-links{
  list-style: none;
}

.footer-links li{
  margin-bottom: 10px;
}

.footer-links a{
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: inline-block;
}

.footer-links a:hover{
  color: #667eea;
  transform: translateX(5px);
}

/* Redes Sociales */
.footer-social{
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.social-icon{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1rem;
  transition: all 0.3s ease;
  text-decoration: none;
}

.social-icon.facebook{
  background: #1877f2;
}

.social-icon.instagram{
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.social-icon.tiktok{
  background: #000000;
}

.social-icon.youtube{
  background: #ff0000;
}

.social-icon.whatsapp{
  background: #25d366;
}

.social-icon:hover{
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Contacto */
.support-title{
  margin-top: 20px;
}

.footer-contact p{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.95rem;
}

.footer-contact i{
  color: #667eea;
  font-size: 1rem;
}

.footer-contact a{
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-contact a:hover{
  color: #667eea;
}

/* BotÃ³n Documentos Legales */
.btn-legal-docs{
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  margin-top: 0;
  width: 100%;
  justify-content: center;
}

.btn-legal-docs:hover{
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
}

.btn-legal-docs i{
  font-size: 1rem;
}

/* Footer Bottom */
.footer-bottom{
  text-align: center;
  padding: 25px 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
}

/* Responsive Footer */
@media (max-width: 992px){
  .footer-top{
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  
  .footer-column:first-child{
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px){
  footer{
    padding: 40px 0 0 0;
    margin-top: 60px;
  }
  
  .footer-container{
    padding: 0 20px;
  }
  
  .footer-top{
    grid-template-columns: 1fr;
    gap: 25px;
  }
  
  .footer-column:first-child{
    grid-column: auto;
  }
  
  .footer-address{
    font-size: 0.85rem;
  }
  
  .footer-logo img{
    max-width: 150px;
  }
  
  .btn-legal-docs{
    padding: 12px 24px;
    font-size: 0.9rem;
  }
}

/* ====================================================================
   MODAL DOCUMENTOS LEGALES
   ==================================================================== */
.legal-modal{
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  animation: fadeIn 0.3s ease;
}

.legal-modal.active{
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes fadeIn{
  from{
    opacity: 0;
  }
  to{
    opacity: 1;
  }
}

.legal-modal-content{
  background: #ffffff;
  border-radius: 16px;
  width: 95%;
  max-width: 1200px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: slideUp 0.4s ease;
}

@keyframes slideUp{
  from{
    transform: translateY(50px);
    opacity: 0;
  }
  to{
    transform: translateY(0);
    opacity: 1;
  }
}

/* Header del Modal */
.legal-modal-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 30px;
  border-bottom: 2px solid #f0f0f0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px 16px 0 0;
}

.legal-modal-header h2{
  color: #ffffff;
  font-size: 1.5rem;
  margin: 0;
  font-weight: 600;
}

.legal-modal-close{
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: #ffffff;
  font-size: 1.5rem;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.legal-modal-close:hover{
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(90deg);
}

/* Body del Modal */
.legal-modal-body{
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: 0;
  height: calc(90vh - 90px);
  overflow: hidden;
}

/* Lista de Documentos */
.legal-docs-list{
  background: #f8f9fa;
  padding: 25px;
  overflow-y: auto;
  border-right: 2px solid #e0e0e0;
}

.legal-docs-list h3{
  font-size: 1rem;
  color: var(--c-title);
  margin-bottom: 20px;
  font-weight: 600;
}

.legal-docs-menu{
  list-style: none;
  padding: 0;
  margin: 0;
}

.legal-doc-item{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #ffffff;
  border: 2px solid transparent;
}

.legal-doc-item:hover{
  background: #f0f3ff;
  border-color: #667eea;
  transform: translateX(5px);
}

.legal-doc-item.active{
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-color: #667eea;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.legal-doc-item i{
  font-size: 1rem;
  color: #667eea;
  flex-shrink: 0;
}

.legal-doc-item.active i{
  color: #ffffff;
}

.legal-doc-item span{
  font-size: 0.9rem;
  line-height: 1.4;
  font-weight: 500;
}

/* PrevisualizaciÃ³n del Documento */
.legal-docs-preview{
  display: flex;
  flex-direction: column;
  background: #ffffff;
  overflow: hidden;
}

.preview-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 30px;
  background: #f8f9fa;
  border-bottom: 2px solid #e0e0e0;
  flex-shrink: 0;
}

.preview-header h3{
  font-size: 1.1rem;
  color: var(--c-title);
  margin: 0;
  flex: 1;
}

.btn-download-doc{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #667eea;
  color: #ffffff;
  text-decoration: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

.btn-download-doc:hover{
  background: #5a67d8;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.preview-body{
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
}

.preview-body iframe{
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.loading-preview{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #667eea;
}

.loading-preview i{
  font-size: 3rem;
  margin-bottom: 15px;
}

.loading-preview p{
  font-size: 1rem;
  color: var(--c-text-soft);
}

.no-preview-message{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 30px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  max-width: 400px;
}

.no-preview-message i{
  font-size: 3rem;
  color: #667eea;
  margin-bottom: 15px;
}

.no-preview-message p{
  font-size: 1rem;
  color: var(--c-text);
  line-height: 1.6;
}

/* Responsive Modal */
@media (max-width: 992px){
  .legal-modal-body{
    grid-template-columns: 280px 1fr;
  }
  
  .legal-docs-list{
    padding: 20px;
  }
  
  .legal-doc-item{
    padding: 12px 14px;
    font-size: 0.85rem;
  }
  
  .preview-header{
    padding: 15px 20px;
  }
  
  .preview-header h3{
    font-size: 1rem;
  }
}

@media (max-width: 768px){
  .legal-modal-content{
    width: 100%;
    max-width: 100%;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
  }
  
  .legal-modal-header{
    border-radius: 0;
    padding: 20px;
  }
  
  .legal-modal-header h2{
    font-size: 1.2rem;
  }
  
  .legal-modal-body{
    grid-template-columns: 1fr;
    height: calc(100vh - 80px);
  }
  
  .legal-docs-list{
    max-height: 300px;
    border-right: none;
    border-bottom: 2px solid #e0e0e0;
  }
  
  .legal-docs-preview{
    min-height: 0;
  }
  
  .preview-header{
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  
  .preview-header h3{
    font-size: 0.95rem;
  }
  
  .btn-download-doc{
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
  }
}

/* ================================================================
   MODAL DE COMPATIBILIDAD / IMEI CHECKER - DISEÃ‘O COMPACTO
   ================================================================ */

.compatibility-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  z-index: 10000;
  overflow-y: auto;
  animation: fadeIn 0.3s ease-in-out;
}

.compatibility-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.compatibility-modal-content {
  background: white;
  border-radius: 20px;
  max-width: 750px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: slideUp 0.4s ease-out;
  position: relative;
}

/* Header del Modal */
.compatibility-modal-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 25px 30px;
  border-radius: 20px 20px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: white;
  margin: 0;
}

.compatibility-modal-close {
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1.2rem;
}

.compatibility-modal-close:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(90deg);
}

/* Description */
.compatibility-modal-description {
  padding: 20px 30px 10px;
  text-align: center;
}

.compatibility-modal-description p {
  margin: 0;
  color: var(--c-text-soft);
  font-size: 0.95rem;
}

/* Formulario IMEI */
.imei-checker-form {
  padding: 10px 30px 20px;
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.imei-input {
  flex: 1;
  padding: 16px 20px;
  border: 2px solid #e0e7ff;
  border-radius: 12px;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: #f8f9fc;
}

.imei-input:focus {
  outline: none;
  border-color: #667eea;
  background: white;
}

.btn-check-imei {
  padding: 16px 28px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-check-imei:hover {
  background: #5568d3;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}

/* SecciÃ³n de Ayuda - AcordeÃ³n */
.imei-help-section {
  padding: 0 30px 20px;
  border-top: 1px solid #e0e7ff;
  margin-top: 10px;
  padding-top: 20px;
}

.imei-help-toggle {
  width: 100%;
  background: #f8f9fc;
  border: 2px solid #e0e7ff;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.95rem;
  color: var(--c-text);
  font-weight: 500;
}

.imei-help-toggle:hover {
  background: white;
  border-color: #667eea;
}

.imei-help-toggle.active {
  background: white;
  border-color: #667eea;
  color: #667eea;
}

.toggle-icon {
  font-size: 0.9rem;
  transition: transform 0.3s ease;
}

.toggle-icon.rotated {
  transform: rotate(180deg);
}

/* Contenido del AcordeÃ³n */
.imei-help-content {
  margin-top: 15px;
  animation: slideDown 0.4s ease-out;
}

/* Carrusel Compacto */
.steps-carousel-wrapper {
  background: #f8f9fc;
  border-radius: 16px;
  padding: 20px 15px;
}

.carousel-container-compact {
  position: relative;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.carousel-content-compact {
  flex: 1;
  position: relative;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-slide {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  animation: fadeInSlide 0.4s ease-out;
  width: 100%;
}

.carousel-slide.active {
  display: flex;
}

.step-image-compact {
  width: 100%;
  max-width: 240px;
  margin: 0 auto 12px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  background: white;
}

.step-image-compact img {
  width: 100%;
  height: auto;
  display: block;
}

.step-description-compact {
  font-size: 0.95rem;
  color: var(--c-text);
  font-weight: 500;
  line-height: 1.5;
  max-width: 90%;
  margin: 0 auto;
}

/* Carousel Navigation */
.carousel-btn {
  background: white;
  border: 2px solid #e0e7ff;
  color: #667eea;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1rem;
  flex-shrink: 0;
}

.carousel-btn:hover {
  background: #667eea;
  color: white;
  border-color: #667eea;
  transform: scale(1.1);
}

.carousel-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.carousel-btn:disabled:hover {
  background: white;
  color: #667eea;
  transform: scale(1);
}

/* Carousel Dots */
.carousel-dots-compact {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 12px;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d1d5db;
  cursor: pointer;
  transition: all 0.3s ease;
}

.dot:hover {
  background: #9ca3af;
  transform: scale(1.2);
}

.dot.active {
  background: #667eea;
  width: 28px;
  border-radius: 5px;
}

/* Video Link Section */
.video-link-section {
  text-align: center;
  border-top: 1px solid #e0e7ff;
  padding-top: 15px;
}

.btn-video-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #ff0000;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.8rem;
  transition: all 0.3s ease;
}

.btn-video-link:hover {
  background: #cc0000;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 0, 0, 0.3);
}

.btn-video-link i {
  font-size: 1rem;
}

/* Video Tutorial Link (How It Works section, step 5) */
.btn-video-tutorial {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 8px 16px;
  background: #ff0000;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  transition: all 0.3s ease;
}

.btn-video-tutorial:hover {
  background: #cc0000;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 0, 0, 0.3);
}

.btn-video-tutorial i {
  font-size: 1rem;
}

.btn-video-tutorial .fa-file-pdf {
  color: #fff;
}

.step-card .btn-video-tutorial:has(.fa-file-pdf) {
  background: #4f46e5;
}

.step-card .btn-video-tutorial:has(.fa-file-pdf):hover {
  background: #3730a3;
  box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
}

/* IMEI Result Section */
.imei-result {
  margin: 20px 30px 30px;
  padding: 25px;
  background: linear-gradient(135deg, #e0f7fa 0%, #e1f5fe 100%);
  border-radius: 16px;
  border-left: 6px solid #00bcd4;
  animation: slideDown 0.4s ease-out;
}

/* Estilo para Ã©xito */
.imei-result.result-success {
  background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
  border-left-color: #4caf50;
}

.imei-result.result-success .result-icon {
  color: #4caf50;
}

/* Estilo para error */
.imei-result.result-error {
  background: linear-gradient(135deg, #ffebee 0%, #fce4ec 100%);
  border-left-color: #f44336;
}

.imei-result.result-error .result-icon {
  color: #f44336;
}

.result-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}

/* Animations */
@keyframes fadeInSlide {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    max-height: 1000px;
    transform: translateY(0);
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .compatibility-modal-content {
    max-width: 95%;
    border-radius: 16px;
  }
  
  .compatibility-modal-header {
    padding: 20px;
  }
  
  .modal-title {
    font-size: 1.2rem;
  }
  
  .compatibility-modal-description,
  .imei-checker-form,
  .imei-help-section {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .imei-checker-form {
    flex-direction: column;
  }
  
  .btn-check-imei {
    justify-content: center;
  }
  
  .carousel-container-compact {
    gap: 10px;
  }
  
  .carousel-content-compact {
    min-height: 380px;
  }
  
  .step-image-compact {
    max-width: 220px;
  }
  
  .step-description-compact {
    font-size: 0.95rem;
  }
  
  .carousel-btn {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }
  
  .btn-video-link {
    padding: 12px 20px;
    font-size: 0.9rem;
  }
  
  .imei-result {
    margin: 20px;
    padding: 20px;
  }
  
  .result-icon {
    font-size: 3rem;
  }
  
  .result-title {
    font-size: 1.1rem;
  }
  
  .result-message {
    font-size: 0.9rem;
  }
}

/* â”€â”€ Very small phones (< 480px) â”€â”€ */
@media (max-width:480px){
  .header-container{padding:10px 15px}
  .logo img{height:40px}
  #home .hero{padding:85px 15px 35px;min-height:50vh}
  #home .hero-content h1{font-size:1.8rem}
  #home .hero-content .sub{font-size:1rem}
  #home .hero-content .lead{font-size:.9rem}
  .badge{font-size:.8rem;padding:7px 15px}
  .section-content{padding:0 15px}
  #about,#faqs{padding:30px 15px 50px}
  #faqs .faq-section-content{padding:0 15px}
  #plans{padding:50px 0}
  .section-title{font-size:1.5rem;margin-bottom:30px}
  .subsection-title,.subsection-title-left{font-size:1.25rem}
  .subsection-intro{font-size:.9rem}
  .features-section{padding:14px 15px}
  .feature-item{padding:16px 12px}
  .feature-item .feature-icon{height:50px;font-size:2rem}
  .feature-item p{font-size:.82rem}
  .plans-toggle-container{max-width:260px}
  .plans-toggle-btn{padding:9px 16px;font-size:.82rem}
  .plan-size{font-size:1.8rem}
  .plan-price{font-size:1.5rem}
  .features-cards{grid-template-columns:1fr;gap:10px}
  .plans-features{padding:20px 0}
  .how-it-works{padding:30px 15px 20px}
  .step-number{width:45px;height:45px;font-size:1.3rem}
  .step-card{padding:20px 12px}
  .step-card h4{font-size:.95rem}
  .step-card p{font-size:.82rem}
  .faq-question{padding:12px 14px;font-size:.9rem}
  .comparison-table tbody td{padding:10px 15px;font-size:.88rem}
  .footer-container{padding:0 15px}
  footer{padding:30px 0 0}
  .footer-logo img{max-width:130px}
  .footer-address{font-size:.82rem}
  .social-icon{width:36px;height:36px;font-size:.9rem}
  .compatibility-modal.active{padding:10px}
  .compatibility-modal-content{border-radius:12px}
  .imei-checker-form{padding:10px 15px 15px}
  .compatibility-modal-description,.imei-help-section{padding-left:15px;padding-right:15px}
  .imei-result{margin:15px;padding:15px}
  .carousel-content-compact{min-height:230px}
  .step-image-compact{max-width:170px}
}

/* =====================================================================
   PLANS CAROUSEL
   ===================================================================== */

.plans-carousel-section {
  position: relative;
  margin: 10px 0;
}

/* Loading / Error states */
.plans-carousel-loading,
.plans-carousel-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 60px 20px;
  color: #667eea;
  font-size: 1rem;
}
.plans-carousel-loading i { font-size: 2rem; }
.plans-carousel-error { color: #e53e3e; }
.plans-carousel-error i { font-size: 2rem; }

/* Wrapper: arrows + track */
.plans-carousel-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Track container: overflow:hidden clipa horizontalmente.
   El padding-top empuja las tarjetas 22px hacia abajo dentro del container,
   de modo que el badge con top:-14px queda en +8px â€” dentro del Ã¡rea â€” y no se corta. */
.plans-track-container {
  overflow: hidden;
  flex: 1;
  padding-top: 22px;
  padding-bottom: 16px; /* espacio para sombras inferiores */
}

/* Track â€” scrolls horizontally */
.plans-track {
  display: flex;
  align-items: flex-start;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* â”€â”€ Card â”€â”€ */
.plan-carousel-card {
  flex-shrink: 0;
  margin-right: 20px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid #edf0f7;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}
.plan-carousel-card:last-child { margin-right: 0; }

.plan-carousel-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(102,126,234,0.14);
}

/* Popular variant */
.plan-carousel-card.popular {
  border-color: #667eea;
  box-shadow: 0 8px 32px rgba(102,126,234,0.18);
  transform: translateY(-2px);
  z-index: 1;
}
.plan-carousel-card.popular:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(102,126,234,0.24);
}

/* Popular badge */
.popular-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 5px 16px;
  border-radius: 20px;
  white-space: nowrap;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 3px 10px rgba(102,126,234,0.4);
}

/* â”€â”€ Card inner padding â”€â”€ */
.plan-card-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 36px 28px 28px;
  text-align: center;
}

/* 1 â€” Plan name */
.plan-card-name {
  font-size: 0.68rem;
  font-weight: 600;
  color: #a0aec0;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 14px;
}

/* 2 â€” GB block */
.plan-card-data-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 6px;
  margin: 0 0 18px;
  line-height: 1;
}
.plan-card-data {
  font-size: 5rem;
  font-weight: 900;
  color: #1a202c;
  line-height: 1;
  letter-spacing: -0.03em;
}
.plan-card-data--popular {
  background: linear-gradient(135deg, #667eea, #764ba2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.plan-card-data-unit {
  font-size: 1.6rem;
  font-weight: 800;
  color: #1a202c;
  padding-bottom: 10px;
}
.plan-card-data-unit--popular {
  color: #764ba2;
}

/* 3 â€” Validity pill */
.plan-card-validity {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 500;
  color: #718096;
  background: #f1f3f9;
  padding: 5px 14px;
  border-radius: 20px;
  align-self: center;
  margin: 0 0 20px;
}

/* Divider */
.plan-card-divider {
  width: 100%;
  height: 1px;
  background: #f0f4f8;
  margin: 0 0 20px;
}

/* 4 â€” Price */
.plan-card-price {
  margin: 0 0 22px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
}
.plan-card-price .price-amount {
  font-size: 2rem;
  font-weight: 700;
  color: #1a202c;
  letter-spacing: -0.02em;
}
.plan-card-price .price-currency {
  font-size: 0.75rem;
  font-weight: 500;
  color: #a0aec0;
}

/* 5 â€” CTA button */
.plan-carousel-card .btn-plan {
  display: block;
  width: 100%;
  padding: 13px 16px;
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  transition: all 0.22s ease;
  border: 1.5px solid #667eea;
  background: transparent;
  color: #667eea;
  margin-top: auto;
}
.plan-carousel-card .btn-plan:hover {
  background: #667eea;
  color: #fff;
}
.plan-carousel-card .btn-plan.btn-plan-popular {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(102,126,234,0.4);
}
.plan-carousel-card .btn-plan.btn-plan-popular:hover {
  box-shadow: 0 6px 22px rgba(102,126,234,0.55);
  opacity: 0.92;
}

/* â”€â”€ Arrows â”€â”€ */
.plans-arrow {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #4a5568;
  font-size: 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}
.plans-arrow:hover {
  border-color: #667eea;
  color: #667eea;
  box-shadow: 0 3px 10px rgba(102,126,234,0.2);
}
.plans-arrow:disabled {
  opacity: 0.25;
  cursor: not-allowed;
  pointer-events: none;
}

/* â”€â”€ Dots â”€â”€ */
.plans-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}
.plans-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e2e8f0;
  cursor: pointer;
  transition: all 0.25s ease;
  border: none;
  padding: 0;
}
.plans-dot.active {
  background: #667eea;
  width: 20px;
  border-radius: 3px;
}

/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 1023px) {
  .plan-carousel-card { margin-right: 16px; }
  .plan-card-data { font-size: 4rem; }
}
@media (max-width: 767px) {
  .plans-arrow { width: 32px; height: 32px; font-size: 0.78rem; }
  .plan-card-data { font-size: 3.6rem; }
  .plan-card-inner { padding: 28px 22px 22px; }
}

/* =====================================================================
   RECHARGE PHONE MODAL STYLES
   ===================================================================== */

.input-group {
  margin: 0;
  width: 100%;
}

.input-label {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 10px;
  letter-spacing: 0.3px;
}

.input-field {
  width: 100%;
  padding: 16px 18px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 1.05rem;
  font-family: 'Poppins', sans-serif;
  color: #2c3e50;
  background: #f8fafc;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: 0.5px;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
}

.input-field:focus {
  outline: none;
  border-color: #667eea;
  background: white;
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1), inset 0 2px 4px rgba(0, 0, 0, 0.02);
}

.input-field::placeholder {
  color: #a0aec0;
  font-weight: 400;
}

/* Button Compatibility (reused for recharge button) */
.btn-compatibility {
  width: 100%;
  padding: 14px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}

.btn-compatibility::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.btn-compatibility:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.btn-compatibility:active:not(:disabled) {
  transform: translateY(0px);
  box-shadow: 0 2px 10px rgba(102, 126, 234, 0.3);
}

.btn-compatibility:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.btn-compatibility i {
  font-size: 1.1rem;
}

/* Mejorar descripciÃ³n del modal */
.compatibility-modal-description {
  padding: 30px 30px 20px;
  text-align: center;
}

.compatibility-modal-description p {
  font-size: 1rem;
  line-height: 1.6;
  color: #555;
  margin: 0 0 15px 0;
}

/* =====================================================================
   CONEKTA CHECKOUT MODAL STYLES
   ===================================================================== */

#conektaCheckoutModal .compatibility-modal-content {
  max-width: 700px;
  max-height: 92vh;
  margin: auto;
}

#conektaCheckoutModal .compatibility-modal-header {
  padding: 16px 24px;
}

#conektaCheckoutModal .modal-title {
  font-size: 1.4rem;
}

/* Loading estado mejorado para Conekta */
.conekta-loading-state {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
  z-index: 10;
}

.conekta-loading-state .loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 40px;
  text-align: center;
  animation: fadeIn 0.3s ease-in-out;
}

.conekta-loading-state .loading-spinner {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
  animation: pulse 2s ease-in-out infinite;
}

.conekta-loading-state .loading-spinner i {
  font-size: 2.2rem;
  color: #ffffff;
  animation: spin 1s linear infinite;
}

.conekta-loading-state .loading-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
  letter-spacing: -0.02em;
}

.conekta-loading-state .loading-subtitle {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0;
  font-weight: 400;
}

.conekta-loading-state .loading-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 5px;
}

.conekta-loading-state .loading-dots .dot {
  width: 8px;
  height: 8px;
  background: #667eea;
  border-radius: 50%;
  animation: dotBounce 1.4s infinite ease-in-out both;
}

.conekta-loading-state .loading-dots .dot:nth-child(1) {
  animation-delay: -0.32s;
}

.conekta-loading-state .loading-dots .dot:nth-child(2) {
  animation-delay: -0.16s;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 12px 40px rgba(102, 126, 234, 0.4);
  }
}

@keyframes dotBounce {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Frame container */
#conektaFrameContainer {
  padding: 0;
  background: #fff;
  border-radius: 0 0 20px 20px;
  overflow: hidden;
}

#conektaFrame {
  display: block;
  width: 100%;
  height: 750px;
  border: none;
}

/* Error state */
#conektaError {
  display: none;
  padding: 40px 30px;
  text-align: center;
  background: #fef2f2;
  border-radius: 0 0 20px 20px;
}

#conektaError i {
  font-size: 3rem;
  color: #dc2626;
  margin-bottom: 15px;
}

#conektaErrorMessage {
  font-size: 1rem;
  color: #7f1d1d;
  margin: 0 0 20px 0;
  line-height: 1.5;
}

/* Animaciones */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* =====================================================================
   RESPONSIVE - RECHARGE MODALS
   ===================================================================== */

@media (max-width: 1024px) {
  .compatibility-modal-content {
    max-width: 90%;
  }
  
  #conektaCheckoutModal .compatibility-modal-content {
    max-width: 95%;
    max-height: 94vh;
  }
}

@media (max-width: 768px) {
  .compatibility-modal.active {
    padding: 15px;
  }
  
  .compatibility-modal-content {
    border-radius: 16px;
    max-height: 95vh;
  }
  
  .compatibility-modal-header {
    padding: 20px 20px;
    border-radius: 16px 16px 0 0;
  }
  
  .modal-title {
    font-size: 1.2rem;
  }
  
  .compatibility-modal-close {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }
  
  .compatibility-modal-description {
    padding: 20px 20px 15px;
  }
  
  .input-field {
    padding: 14px 16px;
    font-size: 1rem;
  }
  
  .input-label {
    font-size: 0.9rem;
  }
  
  .btn-compatibility {
    padding: 13px 20px;
    font-size: 0.95rem;
    margin-top: 25px;
  }
  
  .loading-preview {
    padding: 40px 20px;
  }
  
  #conektaFrame {
    height: 680px;
  }
  
  #conektaError {
    padding: 30px 20px;
  }
}

@media (max-width: 480px) {
  .compatibility-modal.active {
    padding: 10px;
  }
  
  .compatibility-modal-content {
    border-radius: 14px;
  }
  
  .compatibility-modal-header {
    padding: 16px 16px;
    border-radius: 14px 14px 0 0;
  }
  
  .modal-title {
    font-size: 1.05rem;
    font-weight: 600;
  }
  
  .compatibility-modal-close {
    width: 32px;
    height: 32px;
    font-size: 0.9rem;
  }
  
  .compatibility-modal-description {
    padding: 16px 16px 12px;
  }
  
  .compatibility-modal-description p {
    font-size: 0.9rem;
    line-height: 1.5;
  }
  
  .input-label {
    font-size: 0.85rem;
    margin-bottom: 8px;
  }
  
  .input-field {
    padding: 12px 14px;
    font-size: 0.95rem;
  }
  
  .btn-compatibility {
    padding: 12px 16px;
    font-size: 0.9rem;
    margin-top: 20px;
  }
  
  #conektaFrame {
    height: 600px;
  }
  
  .loading-preview {
    padding: 30px 15px;
  }
  
  .loading-preview i {
    font-size: 2rem;
  }
  
  #conektaError {
    padding: 20px 15px;
  }
  
  #conektaError i {
    font-size: 2.2rem;
  }
}
