/* Ajustes de tablas responsivas para Copyson */
.hw-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--cb-line);border-radius:15px;margin:20px 0 29px;-webkit-overflow-scrolling:touch}
.hw-table{min-width:670px;width:100%;border-collapse:collapse;font-size:.91rem;line-height:1.55;background:#fff}
.hw-table th,.hw-table td{padding:15px 17px;border-bottom:1px solid #eaeaf0;text-align:left;vertical-align:top}
.hw-table th{background:#f5f5fa;color:#222;line-height:1.35;font-weight:750;white-space:nowrap}
.hw-table tbody tr:nth-child(even){background:#fafafe}
.hw-table tbody tr:last-child td{border-bottom:none}
.cb-article-body p{overflow-wrap:anywhere}.cb-article-body a{overflow-wrap:anywhere}
.hw-aside-note{border-top:1px solid var(--cb-line);padding-top:13px;margin-top:20px;font-size:.77rem;color:var(--cb-muted)}
.hw-bottom-promo{padding:28px;border:1px solid var(--cb-line);border-radius:19px;background:#f9f9fc;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hw-bottom-promo h2{font-size:1.45rem;margin:0;color:var(--cb-ink)}.hw-bottom-promo p{margin:0;flex:1 1 300px;color:var(--cb-muted)}
.hw-skip:focus{position:fixed;clip:auto;width:auto;height:auto;z-index:200;left:1rem;top:1rem;padding:9px 14px;background:white;border-radius:8px}
@media(max-width:650px){.hw-table{min-width:600px;font-size:.87rem}.hw-table th,.hw-table td{padding:12px 13px}.cb-article-top h1{overflow-wrap:break-word}.hw-bottom-promo{padding:20px}}

/* Enlaces oficiales en la columna Software, con iconos de cada proveedor */
.hw-table td:first-child{min-width:165px;vertical-align:middle}
.hw-provider-link{display:flex;align-items:center;gap:10px;min-height:48px;color:#171717!important;text-decoration:none!important;border-radius:10px;transition:background .18s,color .18s;max-width:100%}
.hw-provider-link:hover{color:var(--cb-accent-dark)!important;background:#f0f0ff}
.hw-provider-link:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}
.hw-provider-logo{display:block;width:34px;height:34px;flex:none;object-fit:contain;padding:5px;border-radius:9px;background:#fff;border:1px solid #e9e9f2}
.hw-provider-label{display:grid;grid-template-columns:auto 1fr auto;column-gap:5px;align-items:baseline;line-height:1.4;min-width:0}
.hw-provider-rank{font-size:.73rem;color:#777;font-weight:650}
.hw-provider-name{font-size:.9rem;font-weight:800;line-height:1.3;overflow-wrap:normal;white-space:normal}
.hw-provider-arrow{color:#4f46e5;font-size:.85rem}
/* Capturas externas del sitio oficial; sin guardar imágenes en Copyson */
.hw-site-preview{border:1px solid #e8e8ee;border-radius:18px;overflow:hidden;margin:17px 0 26px;background:#f8f9fc}
.hw-site-preview-link{display:block;text-decoration:none!important;color:inherit!important}
.hw-site-preview-frame{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#f6f7fc,#e9eafa);}
.hw-site-screenshot{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .25s}
.hw-site-preview-link:hover .hw-site-screenshot{transform:scale(1.012)}
.hw-site-preview figcaption{margin:0;padding:10px 15px;font-size:.77rem;line-height:1.5;color:#666875;background:white;border-top:1px solid #ececf2}
.hw-site-preview.is-unavailable .hw-site-preview-frame{display:flex;align-items:center;justify-content:center}
.hw-site-preview.is-unavailable .hw-site-preview-frame::after{content:'Vista previa no disponible · Abrir página oficial ↗';font-weight:700;color:#565665;font-size:.9rem;padding:15px;text-align:center}
@media(max-width:650px){.hw-provider-logo{width:30px;height:30px}.hw-table td:first-child{min-width:145px}.hw-provider-link{gap:7px}.hw-provider-name{font-size:.85rem}.hw-site-preview{border-radius:13px}.hw-site-preview figcaption{font-size:.72rem}}

.hw-provider-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0}
.hw-provider-rank{white-space:nowrap;flex:none}
.hw-provider-name{min-width:0;overflow-wrap:normal;word-break:normal}
.hw-provider-arrow{white-space:nowrap;flex:none}


/* Tarjetas con imagen oficial del sitio (favicon/logo simple) */
.cb-article-cover{display:none !important}
.hw-provider-visual{margin:16px 0 24px}
.hw-provider-visual-link{display:block;text-decoration:none!important;color:inherit!important}
.hw-provider-visual-frame{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid #e8e8ef;border-radius:18px;background:linear-gradient(180deg,#ffffff,#fafafe)}
.hw-provider-visual-logo{width:96px;height:96px;object-fit:contain;border-radius:22px;border:1px solid #ececf3;background:#fff;padding:14px;box-shadow:0 10px 22px rgba(17,24,39,.05);flex:none}
.hw-provider-visual-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.hw-provider-visual-badge{font-size:.75rem;font-weight:700;color:#5b5f6f;text-transform:uppercase;letter-spacing:.04em}
.hw-provider-visual-name{font-size:1.15rem;line-height:1.25;color:#171717}
.hw-provider-visual-domain{font-size:.95rem;color:#666c7a;overflow-wrap:anywhere}
.hw-provider-visual-cta{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--cb-accent-dark)}
.hw-provider-visual-link:hover .hw-provider-visual-frame{border-color:#d9dcff;background:linear-gradient(180deg,#fff,#f6f7ff)}
@media(max-width:650px){.hw-provider-visual-frame{padding:15px;gap:14px;align-items:flex-start}.hw-provider-visual-logo{width:74px;height:74px;border-radius:18px;padding:11px}.hw-provider-visual-name{font-size:1.02rem}.hw-provider-visual-domain{font-size:.88rem}}

/* Lectura limpia, sin tarjetas de enlaces ni metadatos bajo el título */
.hw-provider-visual,.hw-site-preview,.cb-article-cover,.cb-article-deck,.cb-article-meta{display:none!important}
.cb-article-top{margin-bottom:26px}
.cb-article-body h2 .hw-heading-icon{width:36px;height:36px;display:inline-block;vertical-align:middle;object-fit:contain;border:1px solid #ededf4;border-radius:9px;padding:5px;background:#fff;margin-right:10px;box-shadow:0 1px 4px rgba(0,0,0,.045)}
@media(max-width:650px){.cb-article-top{margin-bottom:18px}.cb-article-body h2 .hw-heading-icon{width:30px;height:30px;margin-right:7px;padding:4px}}


/* Comparativa hotelera: tabla clara, destacada y 100% responsive */
.hw-table-scroll{margin:25px 0 31px;border:1px solid #e0e3f0;border-radius:21px;box-shadow:0 16px 38px rgba(31,42,87,.06);background:#fff}
.hw-table{line-height:1.6;font-size:.95rem;min-width:760px}
.hw-table th{background:#252557;color:#fff;border-bottom:0;font-weight:800;padding:19px 18px;font-size:.89rem;letter-spacing:.01em}
.hw-table th:first-child{border-top-left-radius:19px}
.hw-table th:last-child{border-top-right-radius:19px}
.hw-table td{padding:20px 18px;color:#454f61;border-bottom:1px solid #edeef5;vertical-align:middle}
.hw-table tbody tr:nth-child(even){background:#fbfbfe}
.hw-table tbody tr:first-child{background:#f4f2ff}
.hw-table tbody tr:hover{background:#f5f6ff}
.hw-table tbody tr:first-child td:first-child{position:relative}
.hw-table tbody tr:first-child td:first-child:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:#6658df}
.hw-provider-link{gap:10px;border-radius:10px;color:#202443!important}
.hw-provider-link:hover{color:#4534be!important;background:transparent}
.hw-provider-logo{width:38px;height:38px;padding:6px;border:1px solid #e6e8f0;border-radius:12px;box-shadow:0 5px 13px rgba(24,32,78,.05)}
.hw-provider-rank{font-size:.73rem;color:#8b91a1}
.hw-provider-name{font-weight:820;color:#1c2241;font-size:.92rem}
.hw-provider-arrow{color:#7461e5;opacity:.82}
.hw-table tbody tr:first-child .hw-provider-name{color:#4334b4}
.cb-article-body h2:has(.hw-heading-icon){display:flex;align-items:center;gap:12px}
.hw-heading-icon{display:inline-block;width:39px;height:39px;object-fit:contain;padding:6px;flex:none;border-radius:12px;background:#fff;border:1px solid #e6e8f0;box-shadow:0 5px 16px rgba(36,40,90,.06)}
.hw-bottom-promo{background:linear-gradient(125deg,#f5f4ff,#fff);border:1px solid #dedbfa;border-radius:22px;padding:30px;box-shadow:0 16px 32px rgba(47,41,100,.04)}
.hw-bottom-promo h2{color:#161b39;font-size:1.48rem}
@media(max-width:650px){.hw-table-scroll{border-radius:16px;margin:21px 0 26px}.hw-table{min-width:650px;font-size:.88rem}.hw-table th,.hw-table td{padding:14px 13px}.hw-provider-logo{width:33px;height:33px}.hw-bottom-promo{padding:23px}.hw-heading-icon{width:33px;height:33px;gap:10px}}

/* Comparativa en tonos claros; contraste sólido en móvil y escritorio */
.hw-table-scroll{border-color:#e3e7f2;box-shadow:0 15px 38px rgba(49,61,111,.08);overflow-x:auto}
.hw-table th{background:#f0efff;color:#25325b;border-bottom:1px solid #deddf1;letter-spacing:0}
.hw-table td{color:#414c5f;background:transparent}
.hw-table tbody tr:first-child{background:#f5f3ff}
.hw-table tbody tr:nth-child(even){background:#fcfcff}
.hw-table tbody tr:hover{background:#f7f7ff}
.hw-table .hw-provider-link:focus-visible{outline:3px solid #a8a2fc;outline-offset:3px}
@media(max-width:650px){.hw-table-scroll{max-width:100%;margin-left:0;margin-right:0}.hw-table th{white-space:nowrap}}

/* Títulos de proveedores: sombreado suave y logo integrado dentro de la franja. */
.cb-article-body > h2:has(.hw-heading-icon){
  display:flex;
  align-items:center;
  gap:14px;
  background:#f0efff;
  border-color:#e4e1fb;
}
.cb-article-body > h2 .hw-heading-icon{
  width:41px;
  height:41px;
  flex:0 0 41px;
  margin:0;
  padding:6px;
  border-radius:12px;
  background:#ffffff;
}
@media(max-width:650px){
  .cb-article-body > h2:has(.hw-heading-icon){gap:10px;align-items:flex-start}
  .cb-article-body > h2 .hw-heading-icon{
    width:32px;height:32px;flex-basis:32px;padding:5px;border-radius:9px;
    margin-top:1px;
  }
}

/* NUEVO ARTÍCULO / Fuente editorial remitida por el usuario, octubre 2026. */
.cb-article-body > h3.hw-provider-heading{
 display:flex!important; align-items:center!important; gap:14px;
 background:#f0efff; border:1px solid #e4e1fb; border-radius:18px;
 padding:20px 22px; margin:35px 0 21px;
 font-size:clamp(1.3rem,2.35vw,1.85rem); line-height:1.27;
 letter-spacing:-.034em; color:#19243f;
 scroll-margin-top:100px;
}
.cb-article-body > h3.hw-provider-heading .hw-heading-icon{
 flex:none; width:41px!important; height:41px!important; margin:0!important; padding:6px!important;
 border:1px solid #e4e8f4; border-radius:11px; object-fit:contain;
 background:#fff; box-shadow:0 4px 12px rgba(36,40,90,.05);
}
.cb-article-body h2:not(:has(.hw-heading-icon)){scroll-margin-top:100px}
.cb-article-body > h3:not(.hw-provider-heading){scroll-margin-top:100px}
.cb-article-body > .hw-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.hw-table-3{min-width:680px}
.hw-table-3 td:first-child{width:188px;min-width:178px}
.hw-table-3 td:last-child{min-width:190px}
.hw-table-2{min-width:520px}
.hw-table-2 td:first-child{min-width:220px;font-weight:650;color:#202b48}
.hw-table-2 td:first-child::before{display:none}
.hw-table-2 .hw-provider-link{display:none}
.cb-article-body > .hw-table-scroll + p > em{color:#656b7d;font-size:.89rem}
.cb-article-body > .hw-table-scroll{border-color:#e0dffa}
.cb-article-body .hw-provider-link{color:#18213a!important}
.cb-article-body .hw-provider-link:hover{color:#4435bf!important}
.cb-article-body a.cb-button,.cb-related a.cb-button{color:#fff!important;text-decoration:none!important}
.cb-article-body strong{color:#1c2440}
@media(max-width:650px){
 .cb-article-body > h3.hw-provider-heading{gap:11px;padding:15px 13px;margin:30px 0 18px;border-radius:14px;font-size:1.28rem;align-items:flex-start!important}
 .cb-article-body > h3.hw-provider-heading .hw-heading-icon{width:32px!important;height:32px!important;padding:4px!important;margin-top:1px!important}
 .hw-table-3{min-width:640px}
 .hw-table-2{min-width:500px}
 .hw-table-2 td:first-child{min-width:195px}
}


/* Corrección 2026-10-24: imagen oficial por programa con respaldo visible y todos los H3 destacados. */
.cb-article-body > h3.hw-provider-heading{
  display:flex!important;align-items:center!important;gap:17px!important;
  padding:22px 23px!important;margin:40px 0 22px!important;
  color:#172542!important;background:#f0efff!important;
  border:1px solid #e1ddfb!important;border-left:5px solid #6a57df!important;
  border-radius:17px!important;
  box-shadow:0 8px 22px rgba(55,46,125,.055);
  font-size:clamp(1.42rem,2.5vw,1.82rem)!important;
  line-height:1.32!important;font-weight:850!important;
}
.cb-article-body .hw-heading-text{display:block;min-width:0;flex:1;overflow-wrap:break-word}
.hw-brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;
  border:1px solid #e4e7f1;background:white;border-radius:12px;
  box-shadow:0 4px 13px rgba(31,42,84,.07);overflow:hidden}
.hw-brand-mark--heading{width:56px;height:56px;border-radius:14px}
.hw-brand-mark--table{width:38px;height:38px}
.hw-brand-fallback{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;
  background:linear-gradient(150deg,#fafaff,#eceaff);font-size:14px;line-height:1;font-weight:850;
  color:#5a49cc;letter-spacing:-.035em}
.hw-brand-mark--heading .hw-brand-fallback{font-size:20px}
.hw-brand-img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;
  padding:6px;background:white;border-radius:inherit;transition:opacity .1s}
.hw-brand-img.is-error{display:none}
.hw-brand-img--heading{padding:9px}
.hw-provider-link .hw-brand-mark{flex:none}
.hw-provider-link .hw-provider-label{min-width:0}
.hw-provider-link .hw-provider-name{word-break:normal;overflow-wrap:break-word}
.hw-table-3 td:first-child{min-width:190px}
@media(max-width:650px){
  .cb-article-body > h3.hw-provider-heading{align-items:flex-start!important;padding:15px 13px!important;
    gap:12px!important;margin:31px 0 18px!important;border-radius:14px!important;
    font-size:1.25rem!important}
  .hw-brand-mark--heading{width:43px;height:43px;border-radius:11px}
  .hw-brand-mark--heading .hw-brand-fallback{font-size:15px}
  .hw-brand-img--heading{padding:6px}
  .hw-brand-mark--table{width:33px;height:33px}
  .hw-brand-mark--table .hw-brand-fallback{font-size:12px}
}

/* No dejar cajas vacías mientras los logos externos cargan: mostrar siglas hasta recibir imagen */
.hw-brand-img{opacity:0;background:transparent}
.hw-brand-img.is-ready{opacity:1;background:#fff}
.hw-brand-img.is-error{display:none}
