/* Componentes nuevos del sitio multipágina (se carga después de styles.css) */

.breadcrumbs{
  padding:18px 0 0;
  font-size:var(--fs-small);
  color:var(--muted);
}

.breadcrumbs ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.breadcrumbs li + li::before{
  content:"›";
  margin-right:6px;
  color:var(--muted-2);
}

.breadcrumbs a{
  color:var(--primary-dark);
  text-decoration:none;
}

.hero-sub{
  padding:48px 0 56px;
}

.hero-sub .hero-text{
  max-width:820px;
}

.price-note{
  margin-top:6px;
  font-size:var(--fs-xs);
  color:var(--primary-dark);
  font-weight:600;
}

/* FAQ con <details>: funciona sin JavaScript */

.faq-list{
  display:grid;
  gap:14px;
  max-width:860px;
  margin:0 auto;
}

.faq-list details{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:18px 22px;
  box-shadow:var(--shadow-soft);
}

.faq-list summary{
  cursor:pointer;
  font-weight:700;
  color:var(--text-strong);
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:16px;
}

.faq-list summary::-webkit-details-marker{ display:none; }

.faq-list summary::after{
  content:"+";
  color:var(--primary);
  font-size:22px;
  line-height:1;
}

.faq-list details[open] summary::after{ content:"–"; }

.faq-list details p{
  margin-top:12px;
  color:var(--muted);
  line-height:1.7;
}

/* Países */

.country-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));
  gap:12px;
}

.country-grid a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  color:var(--text-strong);
  font-weight:600;
  text-decoration:none;
  transition:border-color .2s, transform .2s;
}

.country-grid a:hover{
  border-color:var(--primary);
  transform:translateY(-2px);
}

.country-grid .flag{
  font-size:22px;
  line-height:1;
}

/* Tabla de precios */

.table-wrap{
  overflow-x:auto;
  max-width:860px;
  margin:0 auto;
}

.price-table{
  width:100%;
  border-collapse:collapse;
  background:var(--card);
  border-radius:var(--radius-sm);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}

.price-table th,
.price-table td{
  padding:14px 16px;
  text-align:left;
  border-bottom:1px solid var(--line);
}

.price-table th{
  background:var(--bg-soft);
  color:var(--text-strong);
  font-size:var(--fs-small);
}

.price-table td strong{ color:var(--text-strong); }

/* Páginas de texto (legales) */

.prose{
  max-width:760px;
  margin:0 auto;
}

.prose h2{
  margin:32px 0 10px;
  font-size:1.35rem;
  color:var(--text-strong);
}

.prose p,
.prose li{
  line-height:1.8;
  color:var(--text);
}

.prose ul{
  padding-left:22px;
  margin:10px 0;
}

.prose a{ color:var(--primary-dark); }

.method-list{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:16px;
}

.trust-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 22px;
  margin-top:26px;
  font-size:var(--fs-small);
  color:var(--muted);
}

.trust-strip span::before{
  content:"✓ ";
  color:var(--success-dark);
  font-weight:700;
}

@media (max-width:680px){
  .hero-sub{ padding:34px 0 40px; }
  .price-table th,
  .price-table td{ padding:12px 10px; font-size:var(--fs-small); }
}

/* Ajustes tras la revisión visual (2026-10-19) */

.hero .hero-text{
  margin-inline:auto;
}

.section-head h1{
  margin:0 0 14px;
  font-size:var(--fs-h2);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--text-strong);
}

.price-wrap{ flex-wrap:wrap; }

.price,
.price-unit{ white-space:nowrap; }

.flag-img{
  width:24px;
  height:18px;
  border-radius:3px;
  object-fit:cover;
  flex-shrink:0;
  box-shadow:0 0 0 1px var(--line);
  vertical-align:-3px;
}

.price-table td:nth-child(n+3){ white-space:nowrap; }

.country-grid{
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
}

.method-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}

.method-list > .card{
  flex:0 1 270px;
}

.footer-wrap{
  grid-template-columns:1.3fr repeat(3, 1fr);
}

@media (max-width:1400px) and (min-width:1101px){
  .plans-grid .price{ font-size:34px; }
}

@media (max-width:1100px){
  .footer-wrap{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:680px){
  .footer-wrap{ grid-template-columns:1fr; }
  .footer-copy{ padding-bottom:96px; }
  .stats{ grid-template-columns:repeat(2, 1fr); }
  .method-list > .card{ flex-basis:100%; }
  .price-table--planes th:nth-child(2),
  .price-table--planes td:nth-child(2){ display:none; }
}
