.public-shell { background: #f7f9fc; color: #111827; }
.public-header { height: 74px; position: sticky; top: 0; z-index: 50; display: grid; grid-template-columns: 280px minmax(260px, 680px) auto; align-items: center; gap: 28px; padding: 0 max(24px, calc((100vw - 1440px)/2)); background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid #e5eaf1; }
.brand-link { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-logo { width: 94px; height: 46px; object-fit: contain; }
.brand-link span { display: grid; line-height: 1.2; }
.brand-link strong { font-size: .92rem; }
.brand-link small { color: var(--muted); font-size: .73rem; }
.search-trigger { height: 44px; width: 100%; border: 1px solid #d8e0ea; border-radius: 9px; background: #f8fafc; color: #64748b; padding: 0 12px; display: flex; align-items: center; gap: 10px; text-align: left; }
.search-trigger span:nth-child(2) { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-trigger .icon { font-size: 1.25rem; color: var(--sibo-blue); }
.search-trigger kbd { border: 1px solid #d8e0ea; background: #fff; border-radius: 5px; padding: 2px 6px; font-size: .68rem; }
.mobile-menu-button { display: none; border: 0; background: transparent; font-size: 1.35rem; }
.public-app { min-height: calc(100vh - 74px); }
.home-hero { position: relative; overflow: hidden; background: linear-gradient(135deg,#0b2e61,#1a4d96 60%,#2164bd); color: #fff; padding: 82px max(24px, calc((100vw - 1200px)/2)) 72px; }
.home-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image: radial-gradient(circle at 1px 1px,#fff 1px,transparent 1px); background-size: 22px 22px; }
.home-hero__inner { position: relative; max-width: 860px; }
.home-hero .eyebrow { color: #cbe0ff; }
.home-hero h1 { font-size: clamp(2.4rem, 6vw, 4.8rem); line-height: 1.03; margin: 12px 0 20px; letter-spacing: -.05em; }
.home-hero p { font-size: clamp(1rem, 2vw, 1.25rem); max-width: 760px; color: #e8f1ff; }
.hero-search { margin-top: 30px; display: flex; background: #fff; border-radius: 10px; padding: 7px; box-shadow: 0 18px 45px rgba(0,0,0,.2); max-width: 720px; }
.hero-search input { flex:1; border:0; outline:0; min-height:48px; padding:0 14px; }
.hero-search button { border:0; border-radius:7px; background:#0057c9; color:#fff; font-weight:800; padding:0 22px; }
.home-section { width: min(1200px, calc(100% - 40px)); margin: 0 auto; padding: 58px 0; }
.section-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:26px; }
.section-heading h2 { margin:0; font-size:clamp(1.55rem,3vw,2.2rem); letter-spacing:-.03em; }
.section-heading p { color:var(--muted); margin:5px 0 0; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.product-card { --product:#1a4d96; position:relative; min-height:238px; display:flex; flex-direction:column; padding:24px; border-radius:16px; border:1px solid #e0e6ee; background:#fff; text-decoration:none; overflow:hidden; box-shadow:0 8px 30px rgba(15,23,42,.07); transition:.22s ease; }
.product-card::before { content:""; position:absolute; left:0; right:0; top:0; height:6px; background:var(--product); }
.product-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(15,23,42,.13); border-color:color-mix(in srgb,var(--product),#fff 65%); }
.product-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.product-card__logo { width:150px; height:62px; object-fit:contain; object-position:left center; }
.product-card h3 { margin:22px 0 5px; font-size:1.45rem; }
.product-card p { margin:0; color:#5b687b; font-size:.92rem; flex:1; }
.product-card__meta { margin-top:20px; color:var(--product); font-weight:800; font-size:.82rem; }
.guide-strip { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.guide-card { padding:22px; border-radius:14px; background:#fff; border:1px solid var(--line); }
.guide-card strong { display:block; margin-bottom:6px; }
.guide-card p { margin:0; color:var(--muted); font-size:.9rem; }
.product-hero { --product:#1a4d96; color:#fff; background:linear-gradient(135deg,color-mix(in srgb,var(--product),#000 25%),var(--product)); padding:56px max(24px,calc((100vw - 1200px)/2)); position:relative; overflow:hidden; }
.product-hero::after { content:""; position:absolute; inset:0; opacity:.14; background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 1px); background-size:20px 20px; }
.product-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:30px; }
.product-hero__logo-wrap { background:#fff; border-radius:14px; padding:18px 24px; min-width:230px; box-shadow:0 16px 35px rgba(0,0,0,.18); }
.product-hero__logo { width:190px; height:78px; object-fit:contain; }
.product-hero h1 { margin:0 0 8px; font-size:clamp(2.2rem,5vw,4rem); }
.product-hero p { max-width:760px; margin:0; color:#eef5ff; font-size:1.05rem; }
.product-content { width:min(1200px,calc(100% - 40px)); margin:0 auto; padding:44px 0 70px; }
.module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.module-card { display:block; text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:13px; padding:20px; transition:.18s; }
.module-card:hover { border-color:var(--product,#1a4d96); transform:translateY(-2px); }
.module-card h3 { margin:0 0 7px; font-size:1.02rem; }
.module-card p { margin:0; color:var(--muted); font-size:.85rem; }
.article-list { display:grid; gap:10px; }
.article-list-item { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:17px 19px; background:#fff; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.article-list-item:hover { border-color:#9eb9df; background:#fbfdff; }
.article-list-item h3 { margin:0 0 4px; font-size:1rem; }
.article-list-item p { margin:0; color:var(--muted); font-size:.86rem; }
.article-list-item span { color:var(--product,#1a4d96); font-weight:800; }
.coming-soon { text-align:center; padding:70px 20px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.coming-soon img { width:190px; height:80px; object-fit:contain; }
.coming-soon h2 { margin:22px 0 8px; }
.coming-soon p { color:var(--muted); max-width:560px; margin:0 auto; }
.article-layout { --product:#1a4d96; width:min(1460px,calc(100% - 32px)); margin:0 auto; display:grid; grid-template-columns:270px minmax(0,820px) 260px; gap:30px; padding:32px 0 80px; align-items:start; }
.article-nav, .article-aside { position:sticky; top:96px; }
.article-nav { background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px; max-height:calc(100vh - 120px); overflow:auto; }
.article-nav__product { display:flex; gap:10px; align-items:center; padding:8px 7px 14px; border-bottom:1px solid var(--line); margin-bottom:10px; }
.article-nav__product img { width:86px; height:40px; object-fit:contain; }
.article-nav h4 { margin:12px 8px 7px; font-size:.77rem; text-transform:uppercase; letter-spacing:.08em; color:#64748b; }
.article-nav a { display:block; padding:8px 9px; border-radius:7px; text-decoration:none; font-size:.83rem; color:#475569; }
.article-nav a:hover,.article-nav a.is-active { background:color-mix(in srgb,var(--product),#fff 90%); color:var(--product); font-weight:750; }
.article-main { min-width:0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; color:#64748b; font-size:.82rem; margin-bottom:16px; }
.breadcrumbs a { text-decoration:none; }
.article-header { background:#fff; border:1px solid var(--line); border-radius:15px; padding:30px; margin-bottom:18px; }
.article-header .badge { background:color-mix(in srgb,var(--product),#fff 88%); color:var(--product); }
.article-header h1 { margin:12px 0 12px; font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.045em; line-height:1.08; }
.article-header p { margin:0; color:#5d6a7c; font-size:1.04rem; }
.article-meta { margin-top:18px; display:flex; flex-wrap:wrap; gap:10px; color:#64748b; font-size:.8rem; }
.knowledge-section { background:#fff; border:1px solid var(--line); border-radius:13px; padding:28px; margin-bottom:14px; scroll-margin-top:100px; }
.knowledge-section h2 { margin:0 0 16px; font-size:1.4rem; letter-spacing:-.02em; color:#182235; }
.knowledge-body { color:#334155; font-size:.98rem; line-height:1.75; }
.knowledge-body p { margin:0 0 13px; }
.knowledge-body ul,.knowledge-body ol { margin:0 0 15px; padding-left:22px; }
.knowledge-body li { margin:5px 0; }
.knowledge-body strong { color:#172033; }
.media-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:20px; }
.media-figure { margin:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#f8fafc; }
.media-figure img { width:100%; display:block; object-fit:contain; max-height:520px; background:#fff; cursor:zoom-in; }
.media-figure figcaption { padding:9px 11px; font-size:.75rem; color:#64748b; }
.article-aside { display:grid; gap:14px; }
.aside-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; }
.aside-card h3 { margin:0 0 12px; font-size:.9rem; }
.aside-card a { display:block; text-decoration:none; padding:8px 0; border-bottom:1px solid #edf0f4; font-size:.84rem; color:#405064; }
.aside-card a:last-child { border-bottom:0; }
.aside-card a:hover { color:var(--product); }
.toc a { display:flex; gap:8px; }
.toc a::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--product); margin-top:8px; flex:none; }
.feedback { display:flex; gap:8px; }
.feedback button { flex:1; border:1px solid var(--line); background:#fff; border-radius:7px; padding:8px; }
.assistant-launcher { position:fixed; right:24px; bottom:24px; z-index:70; border:0; border-radius:999px; padding:13px 18px; background:#102f5a; color:#fff; box-shadow:0 14px 35px rgba(16,47,90,.34); display:flex; gap:8px; align-items:center; font-weight:800; }
.assistant-panel { position:fixed; right:20px; bottom:82px; z-index:80; width:min(410px,calc(100vw - 30px)); height:min(620px,calc(100vh - 120px)); background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:var(--shadow-lg); display:none; grid-template-rows:auto 1fr auto; overflow:hidden; }
.assistant-panel.is-open { display:grid; }
.assistant-panel header { padding:15px 17px; background:#102f5a; color:#fff; display:flex; align-items:center; justify-content:space-between; }
.assistant-panel header div { display:grid; }
.assistant-panel header small { color:#c5d7ef; }
.assistant-panel header button { border:0;background:transparent;color:#fff;font-size:1.5rem; }
.assistant-history { padding:16px; overflow:auto; display:flex; flex-direction:column; gap:10px; background:#f7f9fc; }
.assistant-message { max-width:88%; padding:11px 13px; border-radius:12px; font-size:.86rem; white-space:pre-line; }
.assistant-message--bot { align-self:flex-start; background:#fff; border:1px solid var(--line); }
.assistant-message--user { align-self:flex-end; background:#1a4d96; color:#fff; }
.assistant-source { display:block; margin-top:8px; font-weight:750; color:#174e9c; text-decoration:none; }
.assistant-form { border-top:1px solid var(--line); padding:12px; display:grid; gap:9px; }
.assistant-form textarea { min-height:74px; resize:none; border:1px solid #cbd5e1; border-radius:8px; padding:10px; }
.assistant-form button { border:0; border-radius:7px; background:#0057c9; color:#fff; font-weight:800; padding:10px; }
.search-dialog { width:min(780px,calc(100vw - 28px)); max-height:80vh; border:0; border-radius:15px; padding:0; box-shadow:var(--shadow-lg); }
.search-dialog::backdrop { background:rgba(15,23,42,.5); backdrop-filter:blur(4px); }
.search-dialog__header { display:flex; border-bottom:1px solid var(--line); padding:12px; gap:8px; }
.search-dialog__header input { flex:1; border:0; outline:0; font-size:1.05rem; padding:8px; }
.search-dialog__header button { border:0;background:transparent;font-size:1.5rem; }
.search-results { max-height:62vh; overflow:auto; padding:10px; }
.search-result { display:block; padding:13px; border-radius:9px; text-decoration:none; }
.search-result:hover { background:#f1f5f9; }
.search-result strong { display:block; }
.search-result small { color:#64748b; }
.image-lightbox { position:fixed; inset:0; z-index:100; background:rgba(10,17,30,.88); display:grid; place-items:center; padding:30px; }
.image-lightbox img { max-width:96vw; max-height:90vh; object-fit:contain; border-radius:8px; }
.image-lightbox button { position:absolute; right:20px; top:16px; border:0;background:transparent;color:#fff;font-size:2rem; }
@media (max-width:1100px) {
  .article-layout { grid-template-columns:230px minmax(0,1fr); }
  .article-aside { display:none; }
  .product-grid,.module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .public-header { grid-template-columns:1fr auto; padding:0 16px; height:66px; }
  .brand-link span,.search-trigger,.search-trigger kbd { display:none; }
  .brand-logo { width:82px; }
  .mobile-menu-button { display:block; }
  .home-hero { padding:58px 20px; }
  .home-section,.product-content { width:min(100% - 28px,1200px); }
  .product-grid,.module-grid,.guide-strip { grid-template-columns:1fr; }
  .product-hero { padding:34px 18px; }
  .product-hero__inner { grid-template-columns:1fr; gap:18px; }
  .product-hero__logo-wrap { width:max-content; min-width:0; }
  .product-hero__logo { width:150px;height:58px; }
  .article-layout { width:min(100% - 22px,900px); grid-template-columns:1fr; padding-top:18px; }
  .article-nav { position:static; max-height:none; display:none; }
  .article-nav.is-open { display:block; }
  .article-header,.knowledge-section { padding:21px; }
  .media-gallery { grid-template-columns:1fr; }
  .assistant-launcher span:last-child { display:none; }
}

/* v4 · Últimas novedades por producto */
.latest-updates-strip{margin:-22px 0 34px;background:#fff;border:1px solid #e5eaf0;border-left:5px solid var(--product);border-radius:16px;box-shadow:0 12px 30px rgba(15,23,42,.08);display:grid;grid-template-columns:minmax(190px,240px) 1fr;overflow:hidden}
.latest-updates-strip__label{padding:18px 20px;display:flex;gap:11px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--product) 10%,#fff),#fff)}
.latest-updates-strip__label>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--product);color:#fff;font-weight:800}
.latest-updates-strip__label strong{display:block;font-size:.9rem}.latest-updates-strip__label small{display:block;color:#64748b;margin-top:3px}
.latest-updates-strip__items{display:flex;overflow-x:auto;scrollbar-width:thin;min-width:0}
.latest-update{min-width:205px;padding:14px 16px;border-left:1px solid #edf0f4;text-decoration:none;color:#172033;display:flex;flex-direction:column;justify-content:center;gap:3px;transition:.18s ease}
a.latest-update:hover{background:#f8fafc;transform:translateY(-1px)}
.latest-update span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--product);font-weight:800}.latest-update strong{font-size:.83rem;line-height:1.25}.latest-update small{font-size:.68rem;color:#7b8798;margin-top:2px}
@media(max-width:760px){.latest-updates-strip{grid-template-columns:1fr;margin-top:-12px}.latest-updates-strip__label{border-bottom:1px solid #edf0f4}.latest-update{min-width:190px}}
.staging-ribbon{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:50;background:#f0b429;color:#1e293b;font-size:.65rem;font-weight:900;letter-spacing:.08em;padding:4px 10px;border-radius:0 0 8px 8px}

/* Acceso administrativo discreto, sin mezclar las vistas */
.knowledge-footer { display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; padding:22px 20px 28px; font-size:.78rem; color:#75849a; background:#f7f9fc; border-top:1px solid #e7ecf2; }
.knowledge-footer a { color:#75849a; text-decoration:none; opacity:.7; }
.knowledge-footer a:hover,.knowledge-footer a:focus-visible { color:#1d4f96; opacity:1; text-decoration:underline; }

/* v4.4: estado visible de la encuesta de utilidad */
.feedback button.is-selected{background:var(--product,#1d4f96);color:#fff;border-color:var(--product,#1d4f96);font-weight:800}
.feedback button:disabled{opacity:.65;cursor:wait}
.latest-update__thumb{display:block;width:100%;height:88px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid rgba(16,35,62,.08);margin-bottom:7px}
