:root {
  --ryzer-bg: #07111f;
  --ryzer-panel: #0d1a2b;
  --ryzer-panel-2: #12233a;
  --ryzer-text: #f5f9ff;
  --ryzer-muted: #91a4bd;
  --ryzer-blue: #2188ff;
  --ryzer-cyan: #22d3ee;
  --ryzer-nav: #0b63a9;
  --ryzer-cat-cyber: #22d3ee;
  --ryzer-cat-gaming: #8b5cf6;
  --ryzer-cat-tech: #2188ff;
  --ryzer-cat-guides: #22c55e;
  --ryzer-cat-sports: #84cc16;
  --ryzer-cat-geek: #f59e0b;
  --ryzer-cat-ryzer: #38bdf8;
  --ryzer-cat-news: #ef4444;
  --ryzer-home-columns: 4;
  --ryzer-line: rgba(255,255,255,.10);
  --ryzer-radius: 18px;
  --ryzer-shadow: 0 14px 40px rgba(0,0,0,.26);
  --ryzer-content-width: 980px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ryzer-portal-page {
  margin: 0;
  background: var(--ryzer-bg) !important;
  color: var(--ryzer-text);
  min-height: 100vh;
}
body.ryzer-portal-page a { transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
.ryzer-shell { width: min(1480px, calc(100% - 40px)); margin-inline: auto; }
.ryzer-article-shell { width: min(var(--ryzer-content-width), calc(100% - 40px)); margin-inline: auto; }

/* Header */
.ryzer-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: color-mix(in srgb, var(--ryzer-bg) 94%, transparent);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--ryzer-line);
}
.admin-bar .ryzer-header { top: 32px; }
.ryzer-header__top { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ryzer-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ryzer-text) !important; text-decoration: none !important; }
.ryzer-brand__logo { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; }
.ryzer-brand__logo .custom-logo-link { display: flex; align-items: center; justify-content: center; }
.ryzer-brand__logo img,
.ryzer-brand__image {
  display: block;
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  object-fit: contain;
  border-radius: 11px;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
}
.ryzer-brand__mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: linear-gradient(135deg,var(--ryzer-blue),var(--ryzer-cyan)); font-weight: 900; font-size: 24px; }
.ryzer-brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.ryzer-brand__text strong { color: var(--ryzer-text); font-size: 23px; letter-spacing: -.5px; }
.ryzer-brand__text small { margin-top: 5px; color: var(--ryzer-muted); font-size: 12px; }
.ryzer-header__actions { display: flex; align-items: center; gap: 10px; }
.ryzer-login,
.ryzer-account {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  color: var(--ryzer-text) !important;
  text-decoration: none !important;
  background: rgba(255,255,255,.055);
}
.ryzer-account img { border-radius: 50%; }
.ryzer-login:hover,.ryzer-account:hover { background: rgba(255,255,255,.10); }
.ryzer-account-menu { position: relative; }
.ryzer-account__button { cursor: pointer; font: inherit; }
.ryzer-account__button b { font-size: 11px; opacity: .7; }
.ryzer-account-dropdown {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  width: 235px;
  padding: 8px;
  background: var(--ryzer-panel);
  border: 1px solid var(--ryzer-line);
  border-radius: 14px;
  box-shadow: var(--ryzer-shadow);
  z-index: 1002;
}
.ryzer-account-dropdown a { display: block; padding: 10px 11px; color: var(--ryzer-text) !important; text-decoration: none !important; border-radius: 9px; font-size: 13px; }
.ryzer-account-dropdown a:hover { background: rgba(255,255,255,.07); }
.ryzer-account-dropdown a.is-highlight { color: var(--ryzer-cyan) !important; font-weight: 800; }
.ryzer-mobile-toggle { display:none; width:42px;height:42px;border:1px solid var(--ryzer-line);border-radius:12px;background:var(--ryzer-panel);color:var(--ryzer-text);font-size:20px;cursor:pointer; }

.ryzer-nav { background: var(--ryzer-nav); border-top: 1px solid rgba(255,255,255,.06); }
.ryzer-nav__inner { display:flex; align-items:stretch; min-height:46px; }
.ryzer-nav__item { display:inline-flex; align-items:center; padding:0 15px; color:#fff !important; text-decoration:none !important; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.2px; border-right:1px solid rgba(255,255,255,.10); background:transparent; border-top:0;border-bottom:0;border-left:0; cursor:pointer; }
.ryzer-nav__item:hover,.ryzer-nav__item.is-home { background:rgba(0,0,0,.18); }
.ryzer-more { position:relative; margin-left:auto; }
.ryzer-more__menu { display:none; position:absolute; right:0; top:100%; width:min(560px,92vw); padding:14px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; background:var(--ryzer-panel); border:1px solid var(--ryzer-line); border-radius:0 0 16px 16px; box-shadow:var(--ryzer-shadow); max-height:70vh; overflow:auto; }
.ryzer-more.is-open .ryzer-more__menu,
.ryzer-more:hover .ryzer-more__menu,
.ryzer-more:focus-within .ryzer-more__menu { display:grid; }
.ryzer-more__menu a { padding:10px 12px;border-radius:9px;color:var(--ryzer-text) !important;text-decoration:none !important;font-size:13px; }
.ryzer-more__menu a:hover { background:rgba(255,255,255,.07); }
.ryzer-mobile-nav { background:var(--ryzer-panel); padding:10px 20px 18px; border-top:1px solid var(--ryzer-line); }
.ryzer-mobile-nav a { display:block; color:var(--ryzer-text) !important; text-decoration:none !important; padding:11px 8px; border-bottom:1px solid rgba(255,255,255,.06); }
.ryzer-mobile-nav__more-title { margin: 12px 8px 2px; color: var(--ryzer-cyan); font-size: 11px; text-transform: uppercase; letter-spacing: 1px; font-weight: 900; }

/* Shared headings / buttons */
.ryzer-portal { padding: 28px 0 60px; }
.ryzer-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.ryzer-section-heading--compact { margin-bottom:18px; }
.ryzer-section-subtitle { margin:7px 0 0;color:var(--ryzer-muted);font-size:12px;line-height:1.45; }
.ryzer-heading-actions { display:flex;align-items:center;gap:9px;flex:0 0 auto; }
.ryzer-kicker { display:block; margin-bottom:5px; color:var(--ryzer-cyan); text-transform:uppercase; letter-spacing:1.2px; font-size:11px; font-weight:900; }
.ryzer-section-heading h1,.ryzer-section-heading h2 { margin:0;color:var(--ryzer-text);line-height:1.08;letter-spacing:-.8px; }
.ryzer-section-heading h1 { font-size:clamp(25px,3vw,40px); }
.ryzer-section-heading h2 { font-size:clamp(22px,2.3vw,32px); }
.ryzer-slider-controls { display:flex; gap:8px; flex: 0 0 auto; }
.ryzer-slider-controls button,.ryzer-category-card__controls button { width:38px;height:38px;border-radius:10px;border:1px solid var(--ryzer-line);background:var(--ryzer-panel-2);color:var(--ryzer-text);font-size:24px;line-height:1;cursor:pointer; }
.ryzer-slider-controls button:hover,.ryzer-category-card__controls button:hover { background:var(--ryzer-blue); color:#fff; }
.ryzer-slider-controls button:active,.ryzer-category-card__controls button:active { transform: translateY(1px); }
.ryzer-admin-shortcut { display:inline-flex; align-items:center; min-height:38px; padding:0 12px; border:1px solid var(--ryzer-line); border-radius:10px; color:var(--ryzer-text) !important; text-decoration:none !important; background:var(--ryzer-panel); font-size:12px; font-weight:800; }
.ryzer-admin-shortcut:hover { background:var(--ryzer-panel-2); }
.ryzer-button { display:inline-flex; align-items:center; padding:11px 15px; border-radius:10px; background:var(--ryzer-blue); color:#fff !important; text-decoration:none !important; font-weight:800; }

/* Hero */
.ryzer-hero-track { display:flex; gap:14px; overflow-x:auto; padding:2px 2px 12px; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.ryzer-hero-track::-webkit-scrollbar { display:none; }
.ryzer-hero-card { flex:0 0 calc((100% - 42px) / 4); min-width:0; scroll-snap-align:start; }
.ryzer-hero-card__image { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; border-radius:var(--ryzer-radius); background:linear-gradient(135deg,var(--ryzer-panel-2),var(--ryzer-panel)); background-position:center; background-size:cover; box-shadow:var(--ryzer-shadow); text-decoration:none !important; border:1px solid rgba(255,255,255,.09); }
.ryzer-hero-card__image::after { content:""; position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 5%,rgba(0,0,0,.10) 68%);transition:.25s ease; }
.ryzer-hero-card__image:hover::after { background:linear-gradient(to top,rgba(0,0,0,.9) 8%,rgba(0,0,0,.03) 72%); }
.ryzer-hero-card__shade { position:absolute; inset:0; background:linear-gradient(135deg,color-mix(in srgb,var(--ryzer-blue) 30%,transparent),transparent 45%); z-index:1; }
.ryzer-hero-card__content { position:absolute;z-index:2;left:16px;right:16px;bottom:15px;color:#fff; }
.ryzer-hero-card__content strong { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:17px;line-height:1.18;text-shadow:0 2px 10px rgba(0,0,0,.6); color:#fff; }
.ryzer-hero-card__content small { display:block;margin-top:7px;color:#ccd8e8;font-size:11px; }
.ryzer-badge { display:inline-flex; margin-bottom:8px; padding:5px 8px;border-radius:999px;background:rgba(7,17,31,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.13);font-size:10px;font-weight:900;text-transform:uppercase; color:#fff; }

/* Ticker */
.ryzer-ticker { margin:20px 0 30px; background:var(--ryzer-nav); border-block:1px solid rgba(255,255,255,.08); overflow:hidden; }
.ryzer-ticker__inner { min-height:43px;display:flex;align-items:center;gap:18px; }
.ryzer-ticker__inner > strong { flex:0 0 auto;text-transform:uppercase;font-size:12px; color:#fff; }
.ryzer-ticker__viewport { min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent); }
.ryzer-ticker__track { display:flex;align-items:center;gap:13px;width:max-content;animation:ryzerTicker 48s linear infinite; }
.ryzer-ticker__track:hover { animation-play-state:paused; }
.ryzer-ticker__track a { color:#fff !important;text-decoration:none !important;font-size:13px; }
.ryzer-ticker__track span { opacity:.5; }
@keyframes ryzerTicker { to { transform:translateX(-50%); } }

/* Category boxes */
.ryzer-category-track { display:flex;gap:16px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain; }
.ryzer-category-track::-webkit-scrollbar { display:none; }
.ryzer-category-card { --accent:var(--ryzer-blue); position:relative; flex:0 0 calc((100% - 48px) / 4); display:flex;flex-direction:column;min-width:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ryzer-panel-2) 96%,transparent),color-mix(in srgb,var(--ryzer-panel) 98%,transparent));border:1px solid var(--ryzer-line);border-top:3px solid var(--accent);border-radius:var(--ryzer-radius);overflow:hidden;box-shadow:var(--ryzer-shadow);scroll-snap-align:start; }

/* Animated category neon (0.5.7)
   Keeps the configured category accent, while a brighter pulse travels across
   the existing 3px top neon. The effect is deliberately subtle. */
.ryzer-category-area--neon-flow .ryzer-category-card::before {
    content:"";
    position:absolute;
    z-index:6;
    top:0;
    left:0;
    width:100%;
    height:3px;
    pointer-events:none;
    background:linear-gradient(
        90deg,
        transparent 0%,
        transparent 28%,
        color-mix(in srgb,var(--accent) 28%,transparent) 38%,
        var(--accent) 46%,
        color-mix(in srgb,var(--accent) 55%,white) 50%,
        var(--accent) 54%,
        color-mix(in srgb,var(--accent) 28%,transparent) 62%,
        transparent 72%,
        transparent 100%
    );
    background-size:260% 100%;
    background-position:130% 0;
    filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 55%,transparent));
    animation:ryzerCategoryNeonFlow var(--ryzer-category-neon-speed,4s) linear infinite;
}
@keyframes ryzerCategoryNeonFlow {
    from { background-position:130% 0; }
    to   { background-position:-130% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .ryzer-category-area--neon-flow .ryzer-category-card::before { animation:none; background-position:50% 0; opacity:.75; }
}

.ryzer-category-card--ciberseguridad { --accent:var(--ryzer-cat-cyber); }
.ryzer-category-card--gaming { --accent:var(--ryzer-cat-gaming); }
.ryzer-category-card--tecnologia { --accent:var(--ryzer-cat-tech); }
.ryzer-category-card--guias { --accent:var(--ryzer-cat-guides); }
.ryzer-category-card--deportes { --accent:var(--ryzer-cat-sports); }
.ryzer-category-card--cultura-geek { --accent:var(--ryzer-cat-geek); }
.ryzer-category-card--ryzer { --accent:var(--ryzer-cat-ryzer); }
.ryzer-category-card--noticias { --accent:var(--ryzer-cat-news); }
.ryzer-category-card--generic { --accent:var(--ryzer-blue); }
.ryzer-category-card__header { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 13px;border-bottom:1px solid var(--ryzer-line); }
.ryzer-category-card__header > a { display:flex;align-items:center;gap:7px;color:var(--ryzer-text) !important;text-decoration:none !important;text-transform:uppercase;font-size:13px;letter-spacing:.35px; min-width:0; }
.ryzer-category-card__header > a strong { color:var(--ryzer-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ryzer-category-card__controls { display:flex;gap:5px; flex:0 0 auto; }
.ryzer-category-card__controls button { width:30px;height:30px;border-radius:8px;font-size:19px;background:rgba(255,255,255,.05); }
.ryzer-category-card__controls button:hover { background:var(--accent); }
.ryzer-category-slides { position:relative; flex:1; min-height:410px; }
.ryzer-category-slide { display:none; height:100%; }
.ryzer-category-slide.is-active { display:flex;flex-direction:column;animation:ryzerFade .18s ease-out; }
@keyframes ryzerFade { from { opacity:.45;transform:translateX(5px); } to { opacity:1;transform:none; } }
.ryzer-category-slide__image { display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ryzer-panel-2),var(--ryzer-panel));background-size:cover;background-position:center; }
.ryzer-category-slide__body { display:flex;flex:1;flex-direction:column;padding:15px; }
.ryzer-category-slide__meta { color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px; }
.ryzer-category-slide h3 { margin:7px 0 9px;font-size:18px;line-height:1.18;letter-spacing:-.25px; }
.ryzer-category-slide h3 a { color:var(--ryzer-text) !important;text-decoration:none !important; }
.ryzer-category-slide p { margin:0 0 16px;color:var(--ryzer-muted);font-size:13px;line-height:1.48; }
.ryzer-read-more { margin-top:auto;color:var(--ryzer-text) !important;text-decoration:none !important;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.4px; }
.ryzer-read-more span { color:var(--accent); }
.ryzer-category-card__footer { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-top:1px solid var(--ryzer-line); }
.ryzer-category-card__footer > a { color:var(--ryzer-muted) !important;text-decoration:none !important;font-size:11px;font-weight:700; }
.ryzer-dots { display:flex;gap:5px;align-items:center;min-width:0; max-width:70%; overflow:hidden; }
.ryzer-dots button { flex:0 0 auto;width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer; }
.ryzer-dots button.is-active { width:15px;border-radius:999px;background:var(--accent); }

/* Article recommendation banners */
.ryzer-single-main { padding: 24px 0 58px; }
.ryzer-article-recommendations { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:0; margin-bottom:22px; }
.ryzer-article-recommendations--bottom { margin-top:24px; margin-bottom:24px; }
.ryzer-mini-slider { min-width:0; padding:14px; background:var(--ryzer-panel); border:1px solid var(--ryzer-line); border-radius:16px; box-shadow:0 10px 28px rgba(0,0,0,.18); }
.ryzer-mini-slider__heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px; }
.ryzer-mini-slider__heading > div:first-child { min-width:0; }
.ryzer-mini-slider__heading span { display:block;color:var(--ryzer-cyan);font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:1px;margin-bottom:2px; }
.ryzer-mini-slider__heading strong { display:block;color:var(--ryzer-text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.ryzer-slider-controls--mini button { width:28px;height:28px;border-radius:8px;font-size:18px; }
.ryzer-mini-slider__track { display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain; }
.ryzer-mini-slider__track::-webkit-scrollbar { display:none; }
.ryzer-mini-card { display:grid;grid-template-columns:88px 1fr; flex:0 0 calc(50% - 5px); min-width:0; min-height:82px; overflow:hidden; border:1px solid var(--ryzer-line); border-radius:11px; background:var(--ryzer-panel-2); scroll-snap-align:start; }
.ryzer-mini-card__image { display:block;background:linear-gradient(135deg,var(--ryzer-panel-2),var(--ryzer-bg));background-size:cover;background-position:center; }
.ryzer-mini-card__body { min-width:0;padding:9px;display:flex;flex-direction:column;justify-content:center; }
.ryzer-mini-card__body small { color:var(--ryzer-muted);font-size:9px;margin-bottom:4px; }
.ryzer-mini-card__body > a { color:var(--ryzer-text) !important;text-decoration:none !important;font-size:11px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }

/* Article */
.ryzer-article { background:var(--ryzer-panel); border:1px solid var(--ryzer-line); border-radius:22px; overflow:hidden; box-shadow:var(--ryzer-shadow); }
.ryzer-article__header { padding:clamp(24px,4vw,46px) clamp(20px,4vw,50px) 26px; }
.ryzer-breadcrumbs { display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:18px;color:var(--ryzer-muted);font-size:11px; }
.ryzer-breadcrumbs a { color:var(--ryzer-muted) !important;text-decoration:none !important; }
.ryzer-breadcrumbs a:hover { color:var(--ryzer-cyan) !important; }
.ryzer-article__category { display:inline-flex;padding:6px 9px;margin-bottom:12px;border-radius:999px;background:color-mix(in srgb,var(--ryzer-blue) 18%,transparent);border:1px solid color-mix(in srgb,var(--ryzer-blue) 45%,transparent);color:var(--ryzer-cyan) !important;text-decoration:none !important;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px; }
.ryzer-article__header h1 { margin:0;color:var(--ryzer-text);font-size:clamp(31px,5vw,58px);line-height:1.04;letter-spacing:-1.7px; }
.ryzer-article__meta { display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:17px;color:var(--ryzer-muted);font-size:12px; }
.ryzer-article__meta a { color:var(--ryzer-text) !important;text-decoration:none !important; }
.ryzer-article__featured { margin:0;background:var(--ryzer-panel-2); }
.ryzer-article__featured img { display:block;width:100%;height:auto;max-height:680px;object-fit:cover; }
.ryzer-article__content { padding:clamp(26px,4vw,50px); color:var(--ryzer-text); font-size:17px; line-height:1.75; }
.ryzer-article__content > *:first-child { margin-top:0; }
.ryzer-article__content > *:last-child { margin-bottom:0; }
.ryzer-article__content p,.ryzer-article__content li { color:color-mix(in srgb,var(--ryzer-text) 90%,var(--ryzer-muted)); }
.ryzer-article__content h2,.ryzer-article__content h3,.ryzer-article__content h4,.ryzer-article__content h5 { color:var(--ryzer-text);line-height:1.2;letter-spacing:-.5px;margin-top:1.6em; }
.ryzer-article__content a { color:var(--ryzer-cyan) !important; }
.ryzer-article__content img { max-width:100%;height:auto;border-radius:12px; }
.ryzer-article__content figure { max-width:100%; }
.ryzer-article__content blockquote { margin:1.5em 0;padding:16px 20px;border-left:4px solid var(--ryzer-blue);background:var(--ryzer-panel-2);border-radius:0 12px 12px 0;color:var(--ryzer-text); }
.ryzer-article__content pre,.ryzer-article__content code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.ryzer-article__content pre { overflow:auto;padding:16px;background:#020711;border:1px solid var(--ryzer-line);border-radius:12px;color:#d7e7ff; }
.ryzer-article__content table { width:100%;border-collapse:collapse;display:block;overflow:auto; }
.ryzer-article__content th,.ryzer-article__content td { padding:10px;border:1px solid var(--ryzer-line); }
.ryzer-article__content th { background:var(--ryzer-panel-2); }
.ryzer-article__tags { display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:18px clamp(20px,4vw,50px);border-top:1px solid var(--ryzer-line);color:var(--ryzer-muted);font-size:12px; }
.ryzer-article__tags a { color:var(--ryzer-cyan) !important;text-decoration:none !important; }

/* Pages / archives / search */
.ryzer-page-main { padding:30px 0 58px; }
.ryzer-page { padding:clamp(24px,4vw,48px);background:var(--ryzer-panel);border:1px solid var(--ryzer-line);border-radius:22px;box-shadow:var(--ryzer-shadow); }
.ryzer-page__header h1 { margin:0 0 22px;color:var(--ryzer-text);font-size:clamp(32px,4vw,50px); }
.ryzer-page .ryzer-article__content { padding:0; }
.ryzer-listing { padding-top:34px;padding-bottom:58px; }
.ryzer-listing__header { margin-bottom:22px; }
.ryzer-listing__header h1 { margin:0;color:var(--ryzer-text);font-size:clamp(31px,4vw,48px);line-height:1.06; }
.ryzer-listing__description { margin-top:12px;color:var(--ryzer-muted);max-width:760px; }
.ryzer-category-search { display:flex;align-items:center;gap:9px;margin-top:20px;padding:9px;background:var(--ryzer-panel);border:1px solid var(--ryzer-line);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.16);max-width:980px; }
.ryzer-category-search__icon { flex:0 0 auto;width:34px;text-align:center;color:var(--ryzer-cyan);font-size:22px; }
.ryzer-category-search input { min-width:0;flex:1;height:42px;border:0 !important;outline:0;background:transparent !important;color:var(--ryzer-text) !important;font-size:14px;box-shadow:none !important; }
.ryzer-category-search input::placeholder { color:color-mix(in srgb,var(--ryzer-muted) 85%,transparent); }
.ryzer-category-search button { flex:0 0 auto;height:40px;padding:0 17px;border:0;border-radius:10px;background:var(--ryzer-blue);color:#fff;font-weight:850;cursor:pointer; }
.ryzer-category-search__clear { flex:0 0 auto;color:var(--ryzer-muted) !important;text-decoration:none !important;font-size:12px;font-weight:750; }
.ryzer-category-search__clear:hover { color:var(--ryzer-text) !important; }
.ryzer-category-search__summary { margin-top:10px;color:var(--ryzer-muted);font-size:12px; }
.ryzer-category-search__summary strong { color:var(--ryzer-text); }
.ryzer-post-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.ryzer-list-card { min-width:0;overflow:hidden;background:var(--ryzer-panel);border:1px solid var(--ryzer-line);border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.18); }
.ryzer-list-card__image { display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ryzer-panel-2),var(--ryzer-bg));background-size:cover;background-position:center; }
.ryzer-list-card__body { padding:16px; }
.ryzer-list-card__cat { display:inline-flex;margin-bottom:7px;color:var(--ryzer-cyan) !important;text-decoration:none !important;font-size:10px;font-weight:900;text-transform:uppercase; }
.ryzer-list-card h2 { margin:0 0 9px;font-size:19px;line-height:1.2; }
.ryzer-list-card h2 a { color:var(--ryzer-text) !important;text-decoration:none !important; }
.ryzer-list-card p { color:var(--ryzer-muted);font-size:13px;line-height:1.5; }
.ryzer-list-card__footer { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:12px;border-top:1px solid var(--ryzer-line);font-size:11px;color:var(--ryzer-muted); }
.ryzer-list-card__footer a { color:var(--ryzer-cyan) !important;text-decoration:none !important;font-weight:800; }
.ryzer-pagination { margin-top:28px; }
.ryzer-pagination .nav-links { display:flex;justify-content:center;gap:7px;flex-wrap:wrap; }
.ryzer-pagination .page-numbers { display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:9px;border:1px solid var(--ryzer-line);background:var(--ryzer-panel);color:var(--ryzer-text) !important;text-decoration:none !important; }
.ryzer-pagination .page-numbers.current,.ryzer-pagination a.page-numbers:hover { background:var(--ryzer-blue);color:#fff !important; }
.ryzer-empty { padding:32px;background:var(--ryzer-panel);border:1px solid var(--ryzer-line);border-radius:18px;color:var(--ryzer-muted); }
.ryzer-empty h1 { color:var(--ryzer-text); }

/* Comments */
.ryzer-comments { margin-top:24px;padding:24px;background:var(--ryzer-panel);border:1px solid var(--ryzer-line);border-radius:18px; }
.ryzer-comments h2,.ryzer-comments h3,.ryzer-comments label { color:var(--ryzer-text); }
.ryzer-comments p,.ryzer-comments li { color:var(--ryzer-muted); }
.ryzer-comments input:not([type="submit"]),.ryzer-comments textarea { width:100%;background:var(--ryzer-panel-2);border:1px solid var(--ryzer-line);color:var(--ryzer-text);border-radius:9px;padding:10px; }
.ryzer-comments input[type="submit"] { border:0;border-radius:9px;background:var(--ryzer-blue);color:#fff;padding:10px 16px;font-weight:800;cursor:pointer; }

/* Footer */
.ryzer-footer { border-top:1px solid var(--ryzer-line);background:color-mix(in srgb,var(--ryzer-bg) 80%,#000);color:var(--ryzer-muted); }
.ryzer-footer__inner { min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px; }
.ryzer-footer__inner strong { display:block;color:var(--ryzer-text);margin-bottom:4px; }
.ryzer-footer__inner span { font-size:12px; }
.ryzer-footer__links { display:flex;gap:18px;flex-wrap:wrap; }
.ryzer-footer__links a,.ryzer-footer-cookie-link { color:var(--ryzer-muted) !important;text-decoration:none !important;font-size:12px; }
.ryzer-footer-cookie-link { border:0;background:transparent;padding:0;font:inherit;cursor:pointer; }
.ryzer-footer__links a:hover,.ryzer-footer-cookie-link:hover { color:var(--ryzer-text) !important; }

/* Cookie banner Ryzer + compatibilidad visual con Cookie Notice clásico */
.ryzer-cookie-banner {
  position:fixed;left:50%;bottom:18px;z-index:10050;width:min(980px,calc(100% - 28px));
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;
  padding:15px 16px;border:1px solid color-mix(in srgb,var(--ryzer-cyan) 38%,var(--ryzer-line));
  border-radius:18px;background:color-mix(in srgb,var(--ryzer-panel) 94%,transparent);color:var(--ryzer-text);
  box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 35px color-mix(in srgb,var(--ryzer-blue) 12%,transparent);
  backdrop-filter:blur(18px);overflow:hidden;opacity:0;transform:translate(-50%,calc(100% + 70px));
  transition:transform .62s cubic-bezier(.16,1,.3,1),opacity .35s ease;
}
.ryzer-cookie-banner[hidden] { display:none !important; }
.ryzer-cookie-banner.is-visible { opacity:1;transform:translate(-50%,0); }
.ryzer-cookie-banner.is-leaving { opacity:0;transform:translate(-50%,calc(100% + 70px));transition-duration:.4s; }
.ryzer-cookie-banner__glow { position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--ryzer-blue),var(--ryzer-cyan),transparent);opacity:.85; }
.ryzer-cookie-banner__icon { position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ryzer-panel-2);border:1px solid var(--ryzer-line);font-size:25px;box-shadow:inset 0 0 22px color-mix(in srgb,var(--ryzer-blue) 12%,transparent); }
.ryzer-cookie-banner__content { position:relative;z-index:1;min-width:0; }
.ryzer-cookie-banner__content strong { display:block;margin-bottom:4px;color:var(--ryzer-text);font-size:13px;text-transform:uppercase;letter-spacing:.5px; }
.ryzer-cookie-banner__content p { margin:0;color:var(--ryzer-muted);font-size:11.5px;line-height:1.5; }
.ryzer-cookie-banner__content a { color:var(--ryzer-cyan) !important;text-decoration:none !important;font-weight:800; }
.ryzer-cookie-banner__actions { position:relative;z-index:1;display:flex;align-items:center;gap:8px; }
.ryzer-cookie-button { min-height:39px;padding:0 15px;border-radius:10px;border:1px solid var(--ryzer-line);font-weight:850;cursor:pointer; }
.ryzer-cookie-button--reject { background:var(--ryzer-panel-2);color:var(--ryzer-text); }
.ryzer-cookie-button--reject:hover { background:color-mix(in srgb,var(--ryzer-panel-2) 80%,var(--ryzer-text)); }
.ryzer-cookie-button--accept { border-color:transparent;background:linear-gradient(135deg,var(--ryzer-blue),var(--ryzer-cyan));color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--ryzer-blue) 22%,transparent); }
.ryzer-cookie-button--accept:hover { transform:translateY(-1px);filter:brightness(1.08); }

/* Si el plugin Cookie Notice clásico sí se renderiza, hereda la estética del preset activo. */
#cookie-notice { background:color-mix(in srgb,var(--ryzer-panel) 96%,transparent) !important;color:var(--ryzer-text) !important;border-top:1px solid color-mix(in srgb,var(--ryzer-cyan) 35%,var(--ryzer-line)) !important;box-shadow:0 -14px 44px rgba(0,0,0,.35) !important; }
#cookie-notice .cn-text-container { color:var(--ryzer-muted) !important; }
#cookie-notice .cn-button { border-radius:9px !important;font-weight:800 !important; }
#cookie-notice #cn-accept-cookie { background:var(--ryzer-blue) !important;color:#fff !important; }
#cookie-notice #cn-refuse-cookie { background:var(--ryzer-panel-2) !important;color:var(--ryzer-text) !important;border:1px solid var(--ryzer-line) !important; }

/* Botones flotantes arriba / abajo */
.ryzer-scroll-tools { position:fixed;right:18px;bottom:18px;z-index:10020;display:flex;flex-direction:column;gap:7px;transition:bottom .35s ease; }
body.ryzer-cookie-open .ryzer-scroll-tools { bottom:140px; }
.ryzer-scroll-tools button { width:42px;height:42px;border:1px solid color-mix(in srgb,var(--ryzer-cyan) 28%,var(--ryzer-line));border-radius:13px;background:color-mix(in srgb,var(--ryzer-panel) 94%,transparent);color:var(--ryzer-text);font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.28);backdrop-filter:blur(14px); }
.ryzer-scroll-tools button:hover { background:var(--ryzer-blue);color:#fff;transform:translateY(-1px); }

/* Responsive */
@media (max-width: 1240px) {
  .ryzer-category-card { flex-basis:calc((100% - 32px) / 3); }
  .ryzer-hero-card { flex-basis:calc((100% - 28px) / 3); }
  .ryzer-nav__item { padding-inline:11px;font-size:12px; }
  .ryzer-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .ryzer-article-recommendations { grid-template-columns:1fr; }
  .ryzer-mini-card { flex-basis:calc(50% - 5px); }
}
@media (max-width: 920px) {
  .ryzer-category-card { flex-basis:calc((100% - 16px) / 2); }
  .ryzer-hero-card { flex-basis:calc((100% - 14px) / 2); }
  .ryzer-nav { display:none; }
  .ryzer-mobile-toggle { display:block; }
}
@media (max-width: 782px) {
  .admin-bar .ryzer-header { top:46px; }
}
@media (max-width: 700px) {
  .ryzer-post-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .ryzer-shell,.ryzer-article-shell { width:min(100% - 24px,1480px); }
  .ryzer-header__top { min-height:68px; }
  .ryzer-brand__text small { display:none; }
  .ryzer-brand__text strong { font-size:20px; }
  .ryzer-account span,.ryzer-account b { display:none; }
  .ryzer-account { padding-inline:8px; }
  .ryzer-login { padding-inline:11px; }
  .ryzer-portal { padding-top:18px; }
  .ryzer-section-heading { align-items:center; }
  .ryzer-section-heading h1 { font-size:26px; }
  .ryzer-hero-card { flex-basis:87%; }
  .ryzer-category-card { flex-basis:88%; }
  .ryzer-category-slides { min-height:0; }
  .ryzer-ticker__inner > strong { font-size:10px; }
  .ryzer-mini-card { grid-template-columns:78px 1fr; flex-basis:88%; }
  .ryzer-article__header h1 { font-size:34px; }
  .ryzer-article__content { font-size:16px; }
  .ryzer-footer__inner { padding-block:22px;align-items:flex-start;flex-direction:column; }
  .ryzer-heading-actions { align-items:flex-end;flex-direction:column; }
  .ryzer-section-subtitle { max-width:92%; }
  .ryzer-category-search { align-items:stretch;flex-wrap:wrap;padding:8px; }
  .ryzer-category-search__icon { display:none; }
  .ryzer-category-search input { flex-basis:100%;height:40px;padding-inline:8px !important; }
  .ryzer-category-search button { flex:1; }
  .ryzer-category-search__clear { display:flex;align-items:center;padding-inline:8px; }
  .ryzer-cookie-banner { bottom:12px;grid-template-columns:1fr;gap:10px;width:calc(100% - 24px);padding:14px;padding-right:58px; }
  .ryzer-cookie-banner__icon { position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:11px;font-size:20px; }
  .ryzer-cookie-banner__content { padding-right:0; }
  .ryzer-cookie-banner__content p { font-size:11px; }
  .ryzer-cookie-banner__actions { justify-content:stretch; }
  .ryzer-cookie-button { flex:1; }
  .ryzer-scroll-tools { right:10px;bottom:10px; }
  body.ryzer-cookie-open .ryzer-scroll-tools { bottom:255px; }
  .ryzer-scroll-tools button { width:38px;height:38px;border-radius:11px;font-size:18px; }
  .ryzer-admin-shortcut { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .ryzer-cookie-banner { transition:none; }
  .ryzer-ticker__track { animation:none; }
}

/* Ryzer Portal 0.4: navegación jerárquica */
.ryzer-nav__inner { overflow: visible; }
.ryzer-nav-node { position: relative; display: flex; align-items: stretch; min-width: 0; }
.ryzer-nav-node > .ryzer-nav__item { min-height: 46px; }
.ryzer-nav-link-group { display: flex; align-items: stretch; }
.ryzer-nav-link-group > .ryzer-nav__item { border-right: 0; }
.ryzer-nav-caret { width: 32px; min-width: 32px; border: 0; border-right: 1px solid rgba(255,255,255,.10); background: transparent; color: #fff; cursor: pointer; }
.ryzer-nav-caret:hover { background: rgba(0,0,0,.18); }
.ryzer-nav-chevron { margin-left: 7px; font-size: 10px; opacity: .8; }
.ryzer-submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1100;
  min-width: 245px;
  padding: 8px;
  background: var(--ryzer-panel);
  border: 1px solid var(--ryzer-line);
  border-radius: 0 0 14px 14px;
  box-shadow: var(--ryzer-shadow);
}
.ryzer-submenu .ryzer-nav-node { display: block; }
.ryzer-submenu .ryzer-nav__item {
  width: 100%;
  min-height: 39px;
  padding: 9px 11px;
  justify-content: flex-start;
  border: 0;
  border-radius: 8px;
  text-transform: none;
  font-size: 12px;
  white-space: nowrap;
}
.ryzer-submenu .ryzer-nav-link-group { display: flex; width: 100%; }
.ryzer-submenu .ryzer-nav-link-group > .ryzer-nav__item { flex: 1; }
.ryzer-submenu .ryzer-nav-caret { width: 30px; min-width: 30px; border-right: 0; border-radius: 8px; color: var(--ryzer-text); }
.ryzer-submenu .ryzer-submenu { top: -9px; left: calc(100% + 8px); border-radius: 14px; }
.ryzer-nav-node.is-open > .ryzer-submenu,
.ryzer-nav-node:hover > .ryzer-submenu,
.ryzer-nav-node:focus-within > .ryzer-submenu { display: block; }
.ryzer-nav-node.is-open > .ryzer-nav__item,
.ryzer-nav-node.is-open > .ryzer-nav-link-group { background: rgba(0,0,0,.12); }

/* Ryzer Portal 0.4: filas independientes de boxes */
.ryzer-category-rows { display: flex; flex-direction: column; gap: 22px; }
.ryzer-category-row { min-width: 0; }
.ryzer-category-row__toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-height: 38px; margin: 0 2px 8px; }
.ryzer-category-row__toolbar > span { margin-right: auto; color: var(--ryzer-muted); font-size: 10px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }
.ryzer-category-row .ryzer-category-card { flex-basis: calc((100% - var(--ryzer-row-gap-total)) / var(--ryzer-row-visible)); }

/* Footer compacto */
.ryzer-footer__inner { min-height: 78px; }
.ryzer-footer__inner strong { margin-bottom: 0; }

/* Menú móvil jerárquico */
.ryzer-mobile-nav .ryzer-nav-node { display: block; }
.ryzer-mobile-nav__line { display: flex; align-items: stretch; border-bottom: 1px solid rgba(255,255,255,.06); }
.ryzer-mobile-nav .ryzer-mobile-nav__item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  padding: 10px 8px;
  border: 0;
  background: transparent;
  color: var(--ryzer-text) !important;
  text-decoration: none !important;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.ryzer-mobile-nav .ryzer-nav-caret { width: 42px; min-width: 42px; border: 0; color: var(--ryzer-text); }
.ryzer-mobile-submenu { display: none; margin-left: 13px; padding-left: 10px; border-left: 1px solid color-mix(in srgb,var(--ryzer-cyan) 30%,var(--ryzer-line)); }
.ryzer-mobile-nav .ryzer-nav-node.is-open > .ryzer-mobile-submenu { display: block; }
.ryzer-mobile-nav .ryzer-nav-node.is-open > .ryzer-mobile-nav__line { background: rgba(255,255,255,.035); }

@media (max-width: 1240px) {
  .ryzer-category-row--count-1 .ryzer-category-card { flex-basis: 100%; }
  .ryzer-category-row--count-2 .ryzer-category-card { flex-basis: calc((100% - 16px) / 2); }
  .ryzer-category-row--count-3 .ryzer-category-card,
  .ryzer-category-row--count-4 .ryzer-category-card { flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 920px) {
  .ryzer-category-row--count-1 .ryzer-category-card { flex-basis: 100%; }
  .ryzer-category-row--count-2 .ryzer-category-card,
  .ryzer-category-row--count-3 .ryzer-category-card,
  .ryzer-category-row--count-4 .ryzer-category-card { flex-basis: calc((100% - 16px) / 2); }
}
@media (max-width: 620px) {
  .ryzer-category-row .ryzer-category-card { flex-basis: 88%; }
  .ryzer-category-row__toolbar > span { display: none; }
}

/* Ryzer Portal 0.5: iconos configurables */
.ryzer-inline-icon { display:inline-grid;place-items:center;flex:0 0 auto;line-height:1; }
.ryzer-inline-icon.is-image img { display:block;width:18px;height:18px;object-fit:contain; }
.ryzer-category-icon.is-image img { width:20px;height:20px; }
.ryzer-menu-icon.is-image img { width:17px;height:17px; }
.ryzer-menu-label { min-width:0; }

/* Neón superior configurable */
.ryzer-category-card { box-shadow:0 14px 40px rgba(0,0,0,.26),0 -8px 24px color-mix(in srgb,var(--accent) 13%,transparent); }
.ryzer-category-card::before { content:"";display:block;height:1px;margin-top:-1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.72; }

/* Box vertical: tres noticias visibles y carrusel arriba/abajo */
.ryzer-category-card--vertical { min-height:560px; }
.ryzer-category-card--vertical .ryzer-category-card__controls { flex-direction:column;gap:4px; }
.ryzer-category-card--vertical .ryzer-category-card__controls button { height:26px;line-height:22px;font-size:15px; }
.ryzer-category-vertical-list { display:flex;flex:1;flex-direction:column;gap:10px;padding:12px;min-height:462px;overflow:hidden; }
.ryzer-category-vertical-item { display:none;grid-template-columns:104px minmax(0,1fr);gap:11px;min-height:136px;overflow:hidden;border:1px solid var(--ryzer-line);border-radius:12px;background:color-mix(in srgb,var(--ryzer-panel-2) 92%,transparent);animation:ryzerVerticalFade .2s ease-out; }
.ryzer-category-vertical-item.is-visible { display:grid; }
@keyframes ryzerVerticalFade { from { opacity:.45;transform:translateY(5px); } to { opacity:1;transform:none; } }
.ryzer-category-vertical-item__image { display:block;min-height:136px;background:linear-gradient(135deg,var(--ryzer-panel-2),var(--ryzer-panel));background-size:cover;background-position:center; }
.ryzer-category-vertical-item__body { min-width:0;padding:11px 11px 10px 0;display:flex;flex-direction:column; }
.ryzer-category-vertical-item__body small { color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.55px; }
.ryzer-category-vertical-item h3 { margin:6px 0 8px;font-size:14px;line-height:1.24;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.ryzer-category-vertical-item h3 a { color:var(--ryzer-text) !important;text-decoration:none !important; }
.ryzer-category-vertical-item .ryzer-read-more { font-size:10px; }
.ryzer-category-position { color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.25px; }

/* Pie con globos sociales */
.ryzer-footer__inner { gap:26px; }
.ryzer-footer__brand { flex:0 0 auto; }
.ryzer-footer-socials { display:flex;align-items:flex-start;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin-left:auto; }
.ryzer-social-bubble { display:flex;flex-direction:column;align-items:center;gap:6px;min-width:52px;color:var(--ryzer-muted) !important;text-decoration:none !important;font-size:10px;font-weight:750;text-align:center; }
.ryzer-social-bubble__icon { display:grid;place-items:center;width:46px;height:46px;padding:8px;border:1px solid color-mix(in srgb,var(--ryzer-cyan) 24%,var(--ryzer-line));background:color-mix(in srgb,var(--ryzer-panel-2) 88%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 22px color-mix(in srgb,var(--ryzer-cyan) 8%,transparent);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.ryzer-social-bubble--circle .ryzer-social-bubble__icon { border-radius:50%; }
.ryzer-social-bubble--square .ryzer-social-bubble__icon { border-radius:12px; }
.ryzer-social-bubble__icon img { display:block;width:100%;height:100%;object-fit:contain; }
.ryzer-social-bubble__label { max-width:86px;line-height:1.15; }
.ryzer-social-bubble:hover { color:var(--ryzer-text) !important; }
.ryzer-social-bubble:hover .ryzer-social-bubble__icon { transform:translateY(-3px);border-color:var(--ryzer-cyan);background:color-mix(in srgb,var(--ryzer-panel-2) 72%,var(--ryzer-blue));box-shadow:0 12px 28px rgba(0,0,0,.27),0 0 24px color-mix(in srgb,var(--ryzer-cyan) 20%,transparent); }

@media (max-width:620px) {
  .ryzer-category-card--vertical { min-height:520px; }
  .ryzer-category-vertical-list { min-height:420px;padding:10px;gap:8px; }
  .ryzer-category-vertical-item { grid-template-columns:90px minmax(0,1fr);min-height:124px; }
  .ryzer-category-vertical-item__image { min-height:124px; }
  .ryzer-footer__inner { align-items:center; }
  .ryzer-footer-socials { margin-left:0;justify-content:flex-start; }
  .ryzer-social-bubble__icon { width:42px;height:42px; }
}

/* Ryzer Portal 0.5.1 ------------------------------------------------------ */
/* En vertical, las flechas ↑ ↓ van juntas para no ensanchar la cabecera. */
.ryzer-category-card--vertical .ryzer-category-card__controls { flex-direction:row;gap:5px; }
.ryzer-category-card--vertical .ryzer-category-card__controls button { width:30px;height:30px;line-height:26px;font-size:16px; }

/* Efecto hover neon por box, heredando el color configurado de la categoría. */
.ryzer-category-card {
  transition:transform .2s ease,border-color .2s ease,box-shadow .22s ease,background .22s ease;
}
@media (hover:hover) and (pointer:fine) {
  .ryzer-category-card:hover {
    transform:translateY(-4px);
    border-color:color-mix(in srgb,var(--accent) 58%,var(--ryzer-line));
    background:linear-gradient(180deg,color-mix(in srgb,var(--ryzer-panel-2) 91%,var(--accent)),color-mix(in srgb,var(--ryzer-panel) 97%,transparent));
    box-shadow:0 18px 46px rgba(0,0,0,.34),0 0 28px color-mix(in srgb,var(--accent) 24%,transparent),0 -10px 30px color-mix(in srgb,var(--accent) 18%,transparent);
  }
}

/* Badge de comentarios superpuesto a la foto del carrusel horizontal. */
.ryzer-category-slide__media { position:relative; }
.ryzer-category-slide__media .ryzer-category-slide__image { width:100%; }
.ryzer-comment-badge {
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border:1px solid color-mix(in srgb,var(--accent) 55%,rgba(255,255,255,.22));
  border-radius:999px;
  background:color-mix(in srgb,var(--ryzer-bg) 78%,transparent);
  color:var(--ryzer-text) !important;
  text-decoration:none !important;
  font-size:11px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 22px rgba(0,0,0,.35),0 0 16px color-mix(in srgb,var(--accent) 18%,transparent);
  backdrop-filter:blur(8px);
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ryzer-comment-badge:hover {
  transform:translateY(-2px) scale(1.03);
  border-color:var(--accent);
  background:color-mix(in srgb,var(--ryzer-panel-2) 72%,var(--accent));
  box-shadow:0 10px 26px rgba(0,0,0,.4),0 0 22px color-mix(in srgb,var(--accent) 28%,transparent);
}
.ryzer-comment-icon.is-image img { width:15px;height:15px;object-fit:contain; }
.ryzer-comment-icon.is-emoji { font-size:14px; }

/* RRSS: arriba junto al login en escritorio, nunca arriba en móvil. */
.ryzer-socials { display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap; }
.ryzer-socials--footer { justify-content:flex-end;margin-left:auto; }
.ryzer-socials--header { align-items:center;gap:7px;margin-right:4px; }
.ryzer-socials--header .ryzer-social-bubble { min-width:0; }
.ryzer-socials--header .ryzer-social-bubble__icon { width:34px;height:34px;padding:6px;border-radius:10px; }
.ryzer-socials--header .ryzer-social-bubble--circle .ryzer-social-bubble__icon { border-radius:50%; }
.ryzer-socials--header .ryzer-social-bubble__label { display:none; }

@media (max-width:620px) {
  .ryzer-socials--header { display:none !important; }
  .ryzer-socials--footer { margin-left:0;justify-content:flex-start; }
}
@media (max-width:920px) {
  .ryzer-socials--header { display:none !important; }
}


/* Ryzer Portal 0.5.2 ------------------------------------------------------ */
/* Aire vertical dentro del scroll horizontal: evita que el halo neón quede recortado arriba/abajo. */
.ryzer-category-track {
  padding-top:42px;
  padding-bottom:48px;
  margin-top:-18px;
  margin-bottom:-30px;
}
.ryzer-category-area--direct { padding-top:18px; }
.ryzer-category-rows { gap:12px; }
.ryzer-category-row { position:relative; }
.ryzer-category-card { position:relative; z-index:1; }
@media (hover:hover) and (pointer:fine) {
  .ryzer-category-card:hover {
    z-index:6;
    transform:translateY(-5px) scale(1.008);
    border-color:color-mix(in srgb,var(--accent) 76%,var(--ryzer-line));
    box-shadow:0 22px 54px rgba(0,0,0,.38),0 0 40px color-mix(in srgb,var(--accent) 38%,transparent),0 -18px 48px color-mix(in srgb,var(--accent) 31%,transparent),0 18px 48px color-mix(in srgb,var(--accent) 25%,transparent);
  }
  .ryzer-category-card:hover::before { opacity:1; filter:brightness(1.35); box-shadow:0 0 20px var(--accent); }
}

/* Comentarios en Tendencias. */
.ryzer-hero-card__media { position:relative; --accent:var(--ryzer-cyan); }
.ryzer-hero-card__media .ryzer-hero-card__image { width:100%; }
.ryzer-comment-badge--hero { right:10px; top:10px; bottom:auto; }

/* Comentarios en boxes verticales. */
.ryzer-category-vertical-item__media { position:relative; min-height:136px; }
.ryzer-category-vertical-item__media .ryzer-category-vertical-item__image { width:100%; height:100%; }
.ryzer-comment-badge--vertical { right:7px; bottom:7px; min-height:26px; padding:4px 7px; font-size:10px; }
.ryzer-comment-badge--vertical .ryzer-comment-icon.is-image img { width:13px;height:13px; }
.ryzer-comment-badge--vertical .ryzer-comment-icon.is-emoji { font-size:12px; }

/* Comentarios en los carruseles horizontales de recomendaciones de una entrada. */
.ryzer-mini-slider { --accent:var(--ryzer-cyan); }
.ryzer-mini-card__media { position:relative; min-width:0; min-height:82px; }
.ryzer-mini-card__media .ryzer-mini-card__image { width:100%; height:100%; }
.ryzer-comment-badge--mini { right:5px; bottom:5px; min-height:23px; padding:3px 6px; gap:4px; font-size:9px; }
.ryzer-comment-badge--mini .ryzer-comment-icon.is-image img { width:11px;height:11px; }
.ryzer-comment-badge--mini .ryzer-comment-icon.is-emoji { font-size:11px; }

@media (max-width:620px) {
  .ryzer-category-track { padding-top:30px; padding-bottom:34px; margin-top:-14px; margin-bottom:-22px; }
  .ryzer-category-vertical-item__media { min-height:124px; }
}

/* Ryzer Portal 0.5.3 ------------------------------------------------------ */
/*
 * Los tracks se extienden hasta el borde de la ventana, conservando el ancho
 * útil original. De este modo el overflow horizontal no corta el halo de la
 * primera y última tarjeta en los límites del shell.
 */
.ryzer-category-track {
  width:calc(100% + 40px);
  margin-left:-20px;
  padding-left:20px;
  padding-right:20px;
  scroll-padding-inline:20px;
}

/* Refuerzo del neón, incluyendo iluminación interna lateral para que incluso
 * la primera/última tarjeta conserve intensidad aunque esté pegada al viewport. */
@media (hover:hover) and (pointer:fine) {
  .ryzer-category-card:hover {
    transform:translateY(-6px) scale(1.01);
    border-color:color-mix(in srgb,var(--accent) 88%,var(--ryzer-line));
    box-shadow:
      0 22px 56px rgba(0,0,0,.42),
      0 0 34px 10px color-mix(in srgb,var(--accent) 40%,transparent),
      0 0 72px 18px color-mix(in srgb,var(--accent) 18%,transparent),
      0 -20px 50px color-mix(in srgb,var(--accent) 38%,transparent),
      0 20px 50px color-mix(in srgb,var(--accent) 34%,transparent),
      inset 16px 0 28px -22px color-mix(in srgb,var(--accent) 82%,transparent),
      inset -16px 0 28px -22px color-mix(in srgb,var(--accent) 82%,transparent),
      inset 0 0 28px color-mix(in srgb,var(--accent) 10%,transparent);
  }
  .ryzer-category-card:hover::before {
    opacity:1;
    filter:brightness(1.6);
    box-shadow:0 0 28px 3px var(--accent);
  }
}

/* Tendencias: hover neón estándar con el color de acento del tema. */
.ryzer-hero-track {
  width:calc(100% + 40px);
  margin-left:-20px;
  padding:26px 20px 38px;
  margin-top:-24px;
  margin-bottom:-26px;
  scroll-padding-inline:20px;
}
.ryzer-hero-card {
  --accent:var(--ryzer-cyan);
  position:relative;
  z-index:1;
  border-radius:var(--ryzer-radius);
  transition:transform .2s ease,filter .22s ease,box-shadow .22s ease;
}
.ryzer-hero-card__image {
  transition:border-color .2s ease,box-shadow .22s ease,filter .22s ease;
}
@media (hover:hover) and (pointer:fine) {
  .ryzer-hero-card:hover {
    z-index:6;
    transform:translateY(-5px) scale(1.009);
    box-shadow:
      0 20px 48px rgba(0,0,0,.38),
      0 0 30px 8px color-mix(in srgb,var(--accent) 36%,transparent),
      0 0 64px 14px color-mix(in srgb,var(--accent) 16%,transparent);
  }
  .ryzer-hero-card:hover .ryzer-hero-card__image {
    border-color:color-mix(in srgb,var(--accent) 82%,rgba(255,255,255,.12));
    box-shadow:
      inset 0 0 24px color-mix(in srgb,var(--accent) 9%,transparent),
      0 0 24px color-mix(in srgb,var(--accent) 24%,transparent);
    filter:brightness(1.04);
  }
}

/* Enlaces de autor dentro de una entrada. */
.ryzer-author-link { color:var(--ryzer-cyan) !important;text-decoration:none !important;font-weight:800; }
.ryzer-author-link:hover { color:var(--ryzer-text) !important; }

/* Perfil público de usuario. */
.ryzer-profile-main { padding:34px 0 64px; }
.ryzer-profile-hero {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  min-height:210px;
  padding:28px;
  border:1px solid var(--ryzer-line);
  border-top:3px solid var(--ryzer-cyan);
  border-radius:22px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ryzer-panel-2) 93%,var(--ryzer-blue)),var(--ryzer-panel));
  box-shadow:var(--ryzer-shadow),0 0 34px color-mix(in srgb,var(--ryzer-cyan) 10%,transparent);
}
.ryzer-profile-hero__glow { position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ryzer-cyan) 20%,transparent),transparent 68%);pointer-events:none; }
.ryzer-profile-avatar { position:relative;z-index:1; }
.ryzer-profile-avatar img { display:block;width:128px;height:128px;border-radius:24px;object-fit:cover;border:2px solid color-mix(in srgb,var(--ryzer-cyan) 58%,var(--ryzer-line));box-shadow:0 12px 34px rgba(0,0,0,.38),0 0 26px color-mix(in srgb,var(--ryzer-cyan) 18%,transparent); }
.ryzer-profile-identity { position:relative;z-index:1;min-width:0; }
.ryzer-profile-identity h1 { margin:0;color:var(--ryzer-text);font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-1px; }
.ryzer-profile-handle { margin-top:6px;color:var(--ryzer-muted);font-size:13px;font-weight:750; }
.ryzer-profile-bio { max-width:760px;margin:14px 0 0;color:color-mix(in srgb,var(--ryzer-text) 86%,var(--ryzer-muted));font-size:14px;line-height:1.6; }
.ryzer-profile-actions { position:relative;z-index:1;align-self:start; }
.ryzer-profile-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 30px; }
.ryzer-profile-stat { min-width:0;padding:17px 18px;border:1px solid var(--ryzer-line);border-radius:15px;background:var(--ryzer-panel);box-shadow:0 9px 24px rgba(0,0,0,.16); }
.ryzer-profile-stat strong { display:block;color:var(--ryzer-text);font-size:20px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.ryzer-profile-stat span { display:block;margin-top:6px;color:var(--ryzer-muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.7px; }
.ryzer-profile-section { margin-top:30px; }
.ryzer-profile-private,.ryzer-profile-preview-notice { margin-top:20px;border:1px solid var(--ryzer-line);border-radius:16px;background:var(--ryzer-panel); }
.ryzer-profile-private { display:flex;align-items:center;gap:16px;padding:24px; }
.ryzer-profile-private__icon { display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--ryzer-panel-2);font-size:26px; }
.ryzer-profile-private h2 { margin:0 0 5px;color:var(--ryzer-text); }
.ryzer-profile-private p { margin:0;color:var(--ryzer-muted); }
.ryzer-profile-preview-notice { padding:13px 16px;color:var(--ryzer-muted);font-size:12px; }
.ryzer-profile-comments { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.ryzer-profile-comment { min-width:0;padding:17px;border:1px solid var(--ryzer-line);border-radius:15px;background:var(--ryzer-panel);box-shadow:0 9px 24px rgba(0,0,0,.15); }
.ryzer-profile-comment__meta { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--ryzer-muted);font-size:10px; }
.ryzer-profile-comment__meta a { color:var(--ryzer-cyan) !important;text-decoration:none !important;font-weight:800; }
.ryzer-profile-comment p { margin:0 0 11px;color:color-mix(in srgb,var(--ryzer-text) 86%,var(--ryzer-muted));font-size:13px;line-height:1.55; }
.ryzer-profile-comment__post { color:var(--ryzer-text) !important;text-decoration:none !important;font-size:12px;font-weight:850; }
.ryzer-profile-comment__post:hover { color:var(--ryzer-cyan) !important; }

@media (max-width:900px) {
  .ryzer-profile-hero { grid-template-columns:auto minmax(0,1fr); }
  .ryzer-profile-actions { grid-column:1 / -1; }
  .ryzer-profile-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .ryzer-category-track,.ryzer-hero-track { width:calc(100% + 40px);margin-left:-20px;padding-left:20px;padding-right:20px; }
  .ryzer-profile-main { padding-top:20px; }
  .ryzer-profile-hero { grid-template-columns:1fr;text-align:center;padding:22px 18px; }
  .ryzer-profile-avatar { margin-inline:auto; }
  .ryzer-profile-avatar img { width:104px;height:104px;border-radius:20px; }
  .ryzer-profile-actions { width:100%; }
  .ryzer-profile-actions .ryzer-button { justify-content:center;width:100%; }
  .ryzer-profile-stats { grid-template-columns:1fr 1fr;gap:10px; }
  .ryzer-profile-stat { padding:14px; }
  .ryzer-profile-stat strong { font-size:16px; }
  .ryzer-profile-comments { grid-template-columns:1fr; }
}

/* 0.5.4 · Acceso y registro frontal */
.ryzer-register {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 15px;
  border:1px solid color-mix(in srgb,var(--ryzer-cyan) 62%,rgba(255,255,255,.12));border-radius:12px;
  background:color-mix(in srgb,var(--ryzer-cyan) 13%,var(--ryzer-panel));color:var(--ryzer-text) !important;
  text-decoration:none !important;font-size:12px;font-weight:900;letter-spacing:.35px;
  box-shadow:0 0 18px color-mix(in srgb,var(--ryzer-cyan) 9%,transparent);
}
.ryzer-register:hover { transform:translateY(-2px);border-color:var(--ryzer-cyan);background:color-mix(in srgb,var(--ryzer-cyan) 20%,var(--ryzer-panel));box-shadow:0 0 26px color-mix(in srgb,var(--ryzer-cyan) 22%,transparent); }

.ryzer-auth-main { display:grid;grid-template-columns:minmax(0,760px) minmax(280px,380px);justify-content:center;align-items:start;gap:24px;padding:48px 0 72px; }
.ryzer-auth-card { position:relative;overflow:hidden;padding:clamp(24px,4vw,42px);border:1px solid var(--ryzer-line);border-top:3px solid var(--ryzer-cyan);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--ryzer-panel-2) 95%,var(--ryzer-blue)),var(--ryzer-panel));box-shadow:var(--ryzer-shadow),0 0 40px color-mix(in srgb,var(--ryzer-cyan) 10%,transparent); }
.ryzer-auth-card__glow { position:absolute;right:-140px;top:-170px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ryzer-cyan) 17%,transparent),transparent 67%);pointer-events:none; }
.ryzer-auth-card__header,.ryzer-auth-form,.ryzer-auth-message,.ryzer-auth-switch,.ryzer-auth-closed { position:relative;z-index:1; }
.ryzer-auth-card__header h1 { margin:0;color:var(--ryzer-text);font-size:clamp(30px,4vw,44px);letter-spacing:-1px;line-height:1.03; }
.ryzer-auth-card__header p { margin:12px 0 0;color:var(--ryzer-muted);line-height:1.55;font-size:14px; }
.ryzer-auth-form { display:grid;gap:16px;margin-top:28px; }
.ryzer-auth-form__grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.ryzer-auth-form label:not(.ryzer-auth-check) { display:grid;gap:7px;color:var(--ryzer-text);font-size:12px;font-weight:800; }
.ryzer-auth-form label > span em { color:var(--ryzer-muted);font-style:normal;font-weight:600; }
.ryzer-auth-form input[type="text"],.ryzer-auth-form input[type="email"],.ryzer-auth-form input[type="password"] { width:100%;min-height:46px;padding:0 13px;border:1px solid var(--ryzer-line);border-radius:11px;outline:0;background:color-mix(in srgb,var(--ryzer-bg) 70%,var(--ryzer-panel));color:var(--ryzer-text);font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.02); }
.ryzer-auth-form input:focus { border-color:color-mix(in srgb,var(--ryzer-cyan) 75%,white 5%);box-shadow:0 0 0 3px color-mix(in srgb,var(--ryzer-cyan) 14%,transparent),0 0 20px color-mix(in srgb,var(--ryzer-cyan) 11%,transparent); }
.ryzer-auth-form small { color:var(--ryzer-muted);font-size:10px;font-weight:600;line-height:1.4; }
.ryzer-auth-row { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap; }
.ryzer-auth-row a,.ryzer-auth-check a,.ryzer-auth-switch a { color:var(--ryzer-cyan) !important;text-decoration:none !important;font-weight:850; }
.ryzer-auth-check { display:flex !important;align-items:flex-start;gap:8px;color:var(--ryzer-muted);font-size:11px;font-weight:650;line-height:1.45;cursor:pointer; }
.ryzer-auth-check input { margin-top:2px;accent-color:var(--ryzer-cyan); }
.ryzer-auth-check--privacy { padding:12px 13px;border:1px solid var(--ryzer-line);border-radius:11px;background:rgba(255,255,255,.025); }
.ryzer-auth-submit { min-height:48px;border:1px solid color-mix(in srgb,var(--ryzer-cyan) 66%,transparent);border-radius:12px;background:linear-gradient(135deg,var(--ryzer-blue),color-mix(in srgb,var(--ryzer-cyan) 78%,var(--ryzer-blue)));color:#fff;font-weight:950;letter-spacing:.5px;cursor:pointer;box-shadow:0 10px 28px color-mix(in srgb,var(--ryzer-blue) 22%,transparent);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.ryzer-auth-submit:hover { transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 34px color-mix(in srgb,var(--ryzer-cyan) 26%,transparent); }
.ryzer-auth-message { margin-top:20px;padding:13px 15px;border-radius:12px;font-size:12px;line-height:1.5; }
.ryzer-auth-message--success { border:1px solid color-mix(in srgb,#22c55e 42%,transparent);background:color-mix(in srgb,#22c55e 10%,var(--ryzer-panel));color:#dfffe8; }
.ryzer-auth-message--error { display:grid;gap:5px;border:1px solid color-mix(in srgb,#ef4444 45%,transparent);background:color-mix(in srgb,#ef4444 10%,var(--ryzer-panel));color:#ffdede; }
.ryzer-auth-switch { margin-top:20px;padding-top:18px;border-top:1px solid var(--ryzer-line);color:var(--ryzer-muted);font-size:12px;text-align:center; }
.ryzer-auth-closed { margin-top:24px;padding:22px;border:1px solid var(--ryzer-line);border-radius:14px;background:var(--ryzer-panel-2); }
.ryzer-auth-closed strong { display:block;color:var(--ryzer-text);font-size:18px; }
.ryzer-auth-closed p { color:var(--ryzer-muted); }
.ryzer-auth-honeypot { position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important; }
.ryzer-auth-side { display:grid;gap:13px; }
.ryzer-auth-side__item { display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:start;padding:17px;border:1px solid var(--ryzer-line);border-radius:16px;background:var(--ryzer-panel);box-shadow:0 10px 28px rgba(0,0,0,.16); }
.ryzer-auth-side__item > span { display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--ryzer-panel-2);font-size:22px; }
.ryzer-auth-side__item strong { display:block;color:var(--ryzer-text);font-size:13px; }
.ryzer-auth-side__item small { display:block;margin-top:5px;color:var(--ryzer-muted);font-size:11px;line-height:1.45; }

@media (max-width:900px) {
  .ryzer-auth-main { grid-template-columns:1fr;padding-top:28px; }
  .ryzer-auth-side { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ryzer-auth-side__item { grid-template-columns:1fr;text-align:center; }
  .ryzer-auth-side__item > span { margin-inline:auto; }
}
@media (max-width:700px) {
  .ryzer-header__actions { gap:6px; }
  .ryzer-login,.ryzer-register { padding:0 9px;font-size:10px; }
  .ryzer-auth-form__grid { grid-template-columns:1fr; }
  .ryzer-auth-side { grid-template-columns:1fr; }
}
@media (max-width:460px) {
  .ryzer-login,.ryzer-register { min-height:38px;padding:0 8px; }
  .ryzer-login { font-size:0; }
  .ryzer-login::after { content:'ENTRAR';font-size:9px; }
  .ryzer-register { font-size:9px; }
  .ryzer-auth-card { padding:22px 17px; }
}

/* Ryzer Portal 0.5.5 ------------------------------------------------------ */
/* Acceso: ENTRAR y REGISTRARSE comparten tipografía, cada uno con su neón. */
.ryzer-login,
.ryzer-register {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:0 15px;
  border-radius:12px;
  color:var(--ryzer-text) !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.35px;
  line-height:1;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ryzer-login {
  border:1px solid color-mix(in srgb,var(--ryzer-login-neon) 66%,rgba(255,255,255,.12));
  background:color-mix(in srgb,var(--ryzer-login-neon) 12%,var(--ryzer-panel));
  box-shadow:0 0 18px color-mix(in srgb,var(--ryzer-login-neon) 13%,transparent);
}
.ryzer-register {
  border:1px solid color-mix(in srgb,var(--ryzer-register-neon) 66%,rgba(255,255,255,.12));
  background:color-mix(in srgb,var(--ryzer-register-neon) 12%,var(--ryzer-panel));
  box-shadow:0 0 18px color-mix(in srgb,var(--ryzer-register-neon) 13%,transparent);
}
.ryzer-login:hover {
  transform:translateY(-2px);
  border-color:var(--ryzer-login-neon);
  background:color-mix(in srgb,var(--ryzer-login-neon) 21%,var(--ryzer-panel));
  box-shadow:0 0 30px color-mix(in srgb,var(--ryzer-login-neon) 34%,transparent),0 9px 26px rgba(0,0,0,.24);
}
.ryzer-register:hover {
  transform:translateY(-2px);
  border-color:var(--ryzer-register-neon);
  background:color-mix(in srgb,var(--ryzer-register-neon) 21%,var(--ryzer-panel));
  box-shadow:0 0 30px color-mix(in srgb,var(--ryzer-register-neon) 34%,transparent),0 9px 26px rgba(0,0,0,.24);
}

/* Contador global de visitas. En imágenes va superpuesto a la izquierda. */
.ryzer-view-badge {
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:5px 8px;
  border:1px solid color-mix(in srgb,var(--ryzer-cyan) 48%,rgba(255,255,255,.16));
  border-radius:999px;
  background:color-mix(in srgb,var(--ryzer-bg) 80%,transparent);
  color:var(--ryzer-text);
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 7px 20px rgba(0,0,0,.34),0 0 15px color-mix(in srgb,var(--ryzer-cyan) 14%,transparent);
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.ryzer-view-badge__icon { font-size:12px; line-height:1; }
.ryzer-view-badge--vertical { left:7px;bottom:7px;min-height:26px;padding:4px 7px;font-size:9px; }
.ryzer-view-badge--mini { left:5px;bottom:5px;min-height:23px;padding:3px 6px;font-size:9px; }
.ryzer-view-badge--inline {
  position:static;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ryzer-muted);
  box-shadow:none;
  backdrop-filter:none;
  font-size:10px;
  pointer-events:auto;
}
.ryzer-view-badge--inline .ryzer-view-badge__icon { font-size:11px; }
.ryzer-list-card__footer .ryzer-view-badge--inline { margin-left:auto; }
.ryzer-list-card__footer .ryzer-view-badge--inline + a { margin-left:0; }

/* Crédito de diseño del footer. */
.ryzer-footer__brand { display:flex;flex-direction:column;gap:5px; }
.ryzer-footer__brand small { color:var(--ryzer-muted);font-size:10px;line-height:1.35; }
.ryzer-footer__brand small a { color:var(--ryzer-cyan) !important;text-decoration:none !important;font-weight:800; }
.ryzer-footer__brand small a:hover { text-decoration:underline !important; }

@media (max-width:700px) {
  .ryzer-login,.ryzer-register { padding:0 9px;font-size:10px; }
}
@media (max-width:460px) {
  .ryzer-login,.ryzer-register { min-height:38px;padding:0 8px;font-size:9px;letter-spacing:.2px; }
  .ryzer-login::after { content:none; }
}


/* Ryzer Portal 0.5.8 ------------------------------------------------------ */
/* El neón animado se amplía al borde completo de los boxes, destacadas y login/registro. */
body.ryzer-neon-flow-enabled .ryzer-category-card,
body.ryzer-neon-flow-enabled .ryzer-hero-card__image,
body.ryzer-neon-flow-enabled .ryzer-auth-card,
body.ryzer-neon-flow-enabled .ryzer-login,
body.ryzer-neon-flow-enabled .ryzer-register,
body.ryzer-neon-flow-enabled .ryzer-auth-submit {
  position:relative;
  isolation:isolate;
}

body.ryzer-neon-flow-enabled .ryzer-hero-card__image,
body.ryzer-neon-flow-enabled .ryzer-auth-card {
  --accent:var(--ryzer-cyan);
}
body.ryzer-neon-flow-enabled .ryzer-login {
  --accent:var(--ryzer-login-neon);
}
body.ryzer-neon-flow-enabled .ryzer-register {
  --accent:var(--ryzer-register-neon);
}
body.ryzer-neon-flow-enabled .ryzer-auth-submit {
  --accent:color-mix(in srgb,var(--ryzer-cyan) 80%,white 10%);
}

body.ryzer-neon-flow-enabled .ryzer-category-card::before,
body.ryzer-neon-flow-enabled .ryzer-hero-card__image::before,
body.ryzer-neon-flow-enabled .ryzer-auth-card::before,
body.ryzer-neon-flow-enabled .ryzer-login::before,
body.ryzer-neon-flow-enabled .ryzer-register::before,
body.ryzer-neon-flow-enabled .ryzer-auth-submit::before {
  content:"";
  position:absolute;
  inset:0;
  padding:1.5px;
  border-radius:inherit;
  pointer-events:none;
  z-index:4;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      transparent 10%,
      color-mix(in srgb,var(--accent) 14%,transparent) 16%,
      color-mix(in srgb,var(--accent) 46%,transparent) 22%,
      color-mix(in srgb,var(--accent) 88%,white 12%) 26%,
      color-mix(in srgb,var(--accent) 100%,white 28%) 29%,
      color-mix(in srgb,var(--accent) 68%,transparent) 33%,
      color-mix(in srgb,var(--accent) 18%,transparent) 38%,
      transparent 46%,
      transparent 100%
    );
  background-size:280% 280%;
  background-position:130% 50%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.98;
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 60%,transparent)) drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 30%,transparent));
  animation:ryzerNeonBorderFlow var(--ryzer-neon-speed,4s) linear infinite;
}

body.ryzer-neon-flow-enabled .ryzer-category-card:hover::before,
body.ryzer-neon-flow-enabled .ryzer-hero-card:hover .ryzer-hero-card__image::before,
body.ryzer-neon-flow-enabled .ryzer-auth-card:hover::before,
body.ryzer-neon-flow-enabled .ryzer-login:hover::before,
body.ryzer-neon-flow-enabled .ryzer-register:hover::before,
body.ryzer-neon-flow-enabled .ryzer-auth-submit:hover::before {
  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 72%,transparent)) drop-shadow(0 0 20px color-mix(in srgb,var(--accent) 42%,transparent));
}

@keyframes ryzerNeonBorderFlow {
  from { background-position:130% 50%; }
  to   { background-position:-130% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  body.ryzer-neon-flow-enabled .ryzer-category-card::before,
  body.ryzer-neon-flow-enabled .ryzer-hero-card__image::before,
  body.ryzer-neon-flow-enabled .ryzer-auth-card::before,
  body.ryzer-neon-flow-enabled .ryzer-login::before,
  body.ryzer-neon-flow-enabled .ryzer-register::before,
  body.ryzer-neon-flow-enabled .ryzer-auth-submit::before {
    animation:none;
    background-position:50% 50%;
    opacity:.88;
  }
}

/* Ryzer Portal 0.5.9 · Publicidad responsive ----------------------------- */
.ryzer-desktop-ad-frame {
  width:min(1840px,calc(100% - 24px));
  margin-inline:auto;
  display:grid;
  gap:14px;
  align-items:stretch;
  justify-content:center;
}
.ryzer-desktop-ad-frame.has-left.has-right { grid-template-columns:minmax(105px,160px) minmax(0,1480px) minmax(105px,160px); }
.ryzer-desktop-ad-frame.has-left:not(.has-right) { grid-template-columns:minmax(105px,160px) minmax(0,1480px); }
.ryzer-desktop-ad-frame.has-right:not(.has-left) { grid-template-columns:minmax(0,1480px) minmax(105px,160px); }
.ryzer-desktop-ad-frame .ryzer-ad-frame__main { width:100%; margin-inline:0; min-width:0; }
.ryzer-desktop-ad-frame--hero { margin-bottom:0; }
.ryzer-desktop-ad-frame--category { align-items:stretch; }

.ryzer-ad-rail { min-width:0; display:grid; gap:12px; }
.ryzer-ad-rail--hero { padding-top:2px; padding-bottom:12px; }
.ryzer-ad-rail--category { align-self:stretch; padding:24px 0 30px; }
.ryzer-ad-rail--count-1 { grid-template-rows:minmax(0,1fr); }
.ryzer-ad-rail--count-2 { grid-template-rows:repeat(2,minmax(0,1fr)); }

.ryzer-ad {
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--ryzer-line);
  border-radius:14px;
  background:var(--ryzer-panel);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.ryzer-ad > a { display:block; width:100%; height:100%; color:inherit !important; text-decoration:none !important; }
.ryzer-ad img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .22s ease,filter .22s ease; }
.ryzer-ad__label {
  position:absolute;
  z-index:2;
  top:7px;
  left:7px;
  padding:3px 6px;
  border-radius:6px;
  background:rgba(5,10,18,.76);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:8px;
  font-weight:800;
  letter-spacing:.45px;
  text-transform:uppercase;
  backdrop-filter:blur(6px);
  pointer-events:none;
}
.ryzer-ad--hero-side { min-height:210px; height:100%; }
.ryzer-ad--row-side { min-height:0; height:100%; }
@media (hover:hover) and (pointer:fine) {
  .ryzer-ad > a:hover img { transform:scale(1.025); filter:brightness(1.06); }
}

.ryzer-category-row-block { min-width:0; }
.ryzer-desktop-bottom-ads {
  display:grid;
  gap:14px;
  margin-top:18px;
}
.ryzer-desktop-bottom-ads--count-1 { grid-template-columns:1fr; }
.ryzer-desktop-bottom-ads--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ryzer-desktop-bottom-ads--count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ryzer-desktop-bottom-ads--count-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ryzer-ad--bottom { aspect-ratio:16/5; min-height:100px; max-height:260px; }

/* Los anuncios móviles solo existen en el breakpoint móvil y solo si tienen imagen. */
.ryzer-mobile-ad-strip { display:none; }

@media (max-width:920px) {
  .ryzer-ad-rail--desktop,
  .ryzer-desktop-bottom-ads { display:none !important; }
  .ryzer-desktop-ad-frame {
    display:block;
    width:auto;
    margin:0;
  }
  .ryzer-desktop-ad-frame .ryzer-ad-frame__main {
    width:min(1480px,calc(100% - 40px));
    margin-inline:auto;
  }
  .ryzer-mobile-ad-strip {
    display:block;
    margin-top:4px;
    margin-bottom:10px;
  }
  .ryzer-mobile-ad-track {
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:5px 1px 10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  .ryzer-mobile-ad-track::-webkit-scrollbar { display:none; }
  .ryzer-ad--mobile-card {
    flex:0 0 88%;
    aspect-ratio:16/5;
    min-height:92px;
    scroll-snap-align:start;
  }
}

@media (max-width:620px) {
  .ryzer-desktop-ad-frame .ryzer-ad-frame__main { width:min(100% - 24px,1480px); }
  .ryzer-mobile-ad-strip { width:min(100% - 24px,1480px); }
  .ryzer-ad--mobile-card { flex-basis:88%; aspect-ratio:16/5.2; }
}

/* Separación extra: los carruseles Ryzer sobresalen 20px del shell para conservar el halo neón. */
@media (min-width:921px) {
  .ryzer-desktop-ad-frame { gap:28px; }
}

/* Ryzer Portal 0.5.10 ----------------------------------------------------- */
/* Ajustes de publicidad y corrección visual del neón animado. */
.ryzer-desktop-ad-frame {
  width:min(1480px,calc(100% - 40px));
  gap:16px;
}
.ryzer-desktop-ad-frame.has-left.has-right { grid-template-columns:minmax(140px,180px) minmax(0,1fr) minmax(140px,180px); }
.ryzer-desktop-ad-frame.has-left:not(.has-right) { grid-template-columns:minmax(140px,180px) minmax(0,1fr); }
.ryzer-desktop-ad-frame.has-right:not(.has-left) { grid-template-columns:minmax(0,1fr) minmax(140px,180px); }
.ryzer-ad-rail--hero { padding-top:0; padding-bottom:12px; }
.ryzer-ad-rail--category { padding:24px 0 24px; }
.ryzer-ad--hero-side,
.ryzer-ad--row-side,
.ryzer-ad--bottom,
.ryzer-ad--mobile-card {
  display:block;
}
.ryzer-ad--hero-side { aspect-ratio:16/10; min-height:0; max-height:240px; }
.ryzer-ad--row-side { aspect-ratio:4/5; min-height:0; }
.ryzer-ad__link { position:relative; display:block; width:100%; height:100%; }
.ryzer-ad__label {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:calc(100% - 14px);
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.ryzer-ad img { width:100%; height:100%; }

/* Mantiene el neón superior visible en los boxes y elimina el “reloj/flecha” del borde. */
body.ryzer-neon-flow-enabled .ryzer-category-card::before {
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  padding:0;
  border-radius:18px 18px 0 0;
  background:linear-gradient(90deg,
    transparent 0%,
    transparent 10%,
    color-mix(in srgb,var(--accent) 20%,transparent) 16%,
    color-mix(in srgb,var(--accent) 90%,white 12%) 26%,
    color-mix(in srgb,var(--accent) 100%,white 24%) 34%,
    color-mix(in srgb,var(--accent) 90%,white 12%) 42%,
    color-mix(in srgb,var(--accent) 20%,transparent) 52%,
    transparent 60%,
    transparent 100%);
  background-size:220% 100%;
  background-position:130% 50%;
  -webkit-mask:none;
  mask:none;
  mask-composite:initial;
  -webkit-mask-composite:source-over;
  opacity:1;
  filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 65%,transparent)) drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 30%,transparent));
  animation:ryzerCategoryTopNeonFlow var(--ryzer-neon-speed,4s) linear infinite;
}
body.ryzer-neon-flow-enabled .ryzer-category-card:hover::before {
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 82%,transparent)) drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 48%,transparent));
}
body.ryzer-neon-flow-enabled .ryzer-hero-card__image::before,
body.ryzer-neon-flow-enabled .ryzer-auth-card::before,
body.ryzer-neon-flow-enabled .ryzer-login::before,
body.ryzer-neon-flow-enabled .ryzer-register::before,
body.ryzer-neon-flow-enabled .ryzer-auth-submit::before {
  inset:0;
  padding:0;
  border:1px solid color-mix(in srgb,var(--accent) 44%,rgba(255,255,255,.08));
  background:none;
  -webkit-mask:none;
  mask:none;
  mask-composite:initial;
  -webkit-mask-composite:source-over;
  opacity:.82;
  filter:none;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),
    0 0 18px color-mix(in srgb,var(--accent) 18%,transparent),
    inset 0 0 18px color-mix(in srgb,var(--accent) 7%,transparent);
  animation:ryzerNeonBorderPulse var(--ryzer-neon-speed,4s) ease-in-out infinite;
}
body.ryzer-neon-flow-enabled .ryzer-hero-card:hover .ryzer-hero-card__image::before,
body.ryzer-neon-flow-enabled .ryzer-auth-card:hover::before,
body.ryzer-neon-flow-enabled .ryzer-login:hover::before,
body.ryzer-neon-flow-enabled .ryzer-register:hover::before,
body.ryzer-neon-flow-enabled .ryzer-auth-submit:hover::before {
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),
    0 0 22px color-mix(in srgb,var(--accent) 24%,transparent),
    inset 0 0 22px color-mix(in srgb,var(--accent) 10%,transparent);
}
@keyframes ryzerCategoryTopNeonFlow {
  from { background-position:130% 50%; }
  to { background-position:-130% 50%; }
}
@keyframes ryzerNeonBorderPulse {
  0%,100% {
    opacity:.72;
    box-shadow:
      0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),
      0 0 14px color-mix(in srgb,var(--accent) 14%,transparent),
      inset 0 0 12px color-mix(in srgb,var(--accent) 6%,transparent);
  }
  50% {
    opacity:.92;
    box-shadow:
      0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),
      0 0 20px color-mix(in srgb,var(--accent) 22%,transparent),
      inset 0 0 18px color-mix(in srgb,var(--accent) 10%,transparent);
  }
}

@media (min-width:921px) {
  .ryzer-desktop-ad-frame { gap:18px; }
}

@media (max-width:920px) {
  .ryzer-desktop-ad-frame {
    display:block;
    width:auto;
    margin:0;
  }
  .ryzer-desktop-ad-frame .ryzer-ad-frame__main {
    width:min(1480px,calc(100% - 40px));
    margin-inline:auto;
  }
  .ryzer-mobile-ad-strip {
    position:relative;
    display:block;
    margin-top:6px;
    margin-bottom:12px;
  }
  .ryzer-mobile-ad-strip__controls {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-bottom:8px;
  }
  .ryzer-mobile-ad-strip__controls button {
    width:34px;
    height:34px;
    border-radius:10px;
    border:1px solid var(--ryzer-line);
    background:var(--ryzer-panel-2);
    color:var(--ryzer-text);
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }
  .ryzer-mobile-ad-strip__controls button:hover { background:var(--ryzer-blue); color:#fff; }
  .ryzer-mobile-ad-track {
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:4px 1px 10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    cursor:grab;
    -webkit-overflow-scrolling:touch;
  }
  .ryzer-mobile-ad-track:active { cursor:grabbing; }
  .ryzer-mobile-ad-track::-webkit-scrollbar { display:none; }
  .ryzer-ad--mobile-card {
    flex:0 0 100%;
    width:100%;
    aspect-ratio:16/6;
    min-height:94px;
    scroll-snap-align:start;
  }
}

@media (max-width:620px) {
  .ryzer-desktop-ad-frame .ryzer-ad-frame__main { width:min(100% - 24px,1480px); }
  .ryzer-mobile-ad-strip { width:min(100% - 24px,1480px); }
  .ryzer-ad--mobile-card { aspect-ratio:16/6.4; }
}


/* Ryzer Portal 0.5.11 ----------------------------------------------------- */
/* Reubica la publicidad de escritorio en los márgenes externos y añade bandas por fila. */
.ryzer-desktop-ad-frame {
  width:100%;
  margin-inline:0;
  display:grid;
  gap:0;
  align-items:start;
}
.ryzer-desktop-ad-frame.has-left.has-right {
  grid-template-columns:minmax(24px,1fr) minmax(150px,260px) minmax(0,1180px) minmax(150px,260px) minmax(24px,1fr);
}
.ryzer-desktop-ad-frame.has-left:not(.has-right) {
  grid-template-columns:minmax(24px,1fr) minmax(150px,260px) minmax(0,1180px) minmax(24px,1fr);
}
.ryzer-desktop-ad-frame.has-right:not(.has-left) {
  grid-template-columns:minmax(24px,1fr) minmax(0,1180px) minmax(150px,260px) minmax(24px,1fr);
}
.ryzer-desktop-ad-frame .ryzer-ad-frame__main {
  width:100%;
  max-width:none;
  margin-inline:0;
  min-width:0;
}
.ryzer-desktop-ad-frame.has-left.has-right .ryzer-ad-frame__main { grid-column:3; }
.ryzer-desktop-ad-frame.has-left:not(.has-right) .ryzer-ad-frame__main { grid-column:3; }
.ryzer-desktop-ad-frame.has-right:not(.has-left) .ryzer-ad-frame__main { grid-column:2; }
.ryzer-ad-rail--left,
.ryzer-ad-rail--right { align-self:stretch; }
.ryzer-desktop-ad-frame.has-left.has-right .ryzer-ad-rail--left,
.ryzer-desktop-ad-frame.has-left:not(.has-right) .ryzer-ad-rail--left { grid-column:2; }
.ryzer-desktop-ad-frame.has-left.has-right .ryzer-ad-rail--right { grid-column:4; }
.ryzer-desktop-ad-frame.has-right:not(.has-left) .ryzer-ad-rail--right { grid-column:3; }
.ryzer-ad-rail {
  padding-inline:12px;
}
.ryzer-ad-rail--hero {
  padding-top:14px;
  padding-bottom:12px;
}
.ryzer-ad-rail--category {
  padding-top:0;
  padding-bottom:0;
}
.ryzer-ad--hero-side {
  aspect-ratio:1 / 0.7;
  min-height:160px;
  max-height:none;
}
.ryzer-ad--row-side {
  aspect-ratio:1 / 1.55;
  min-height:240px;
}
.ryzer-desktop-row-band,
.ryzer-desktop-bottom-ads {
  display:grid;
  gap:14px;
  margin-top:12px;
  margin-bottom:12px;
}
.ryzer-desktop-row-band--count-1,
.ryzer-desktop-bottom-ads--count-1 { grid-template-columns:1fr; }
.ryzer-desktop-row-band--count-2,
.ryzer-desktop-bottom-ads--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ryzer-desktop-row-band--count-3,
.ryzer-desktop-bottom-ads--count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ryzer-desktop-row-band--count-4,
.ryzer-desktop-bottom-ads--count-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ryzer-desktop-row-band--count-1 .ryzer-ad,
.ryzer-desktop-bottom-ads--count-1 .ryzer-ad {
  width:100%;
  grid-column:1 / -1;
}
.ryzer-ad--bottom {
  width:100%;
  aspect-ratio:16 / 5;
  min-height:100px;
  max-height:none;
}
.ryzer-category-row-block > .ryzer-desktop-row-band:first-of-type {
  margin-top:0;
}

/* En móvil, flechas integradas sobre la creatividad sin ocupar una línea extra. */
@media (max-width:920px) {
  .ryzer-mobile-ad-strip {
    position:relative;
  }
  .ryzer-mobile-ad-strip__viewport {
    position:relative;
  }
  .ryzer-mobile-ad-strip__controls {
    position:absolute;
    inset:50% 8px auto 8px;
    z-index:4;
    display:flex;
    justify-content:space-between;
    transform:translateY(-50%);
    pointer-events:none;
    margin:0;
  }
  .ryzer-mobile-ad-strip__controls button {
    pointer-events:auto;
    width:34px;
    height:34px;
    border-radius:999px;
    background:rgba(7,17,31,.54);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.28);
  }
  .ryzer-mobile-ad-track {
    padding:0 0 10px;
  }
  .ryzer-ad--mobile-card {
    flex:0 0 100%;
    width:100%;
  }
}

/* Oculta las bandas de escritorio en móvil. */
@media (max-width:920px) {
  .ryzer-desktop-row-band,
  .ryzer-ad-rail--desktop,
  .ryzer-desktop-bottom-ads { display:none !important; }
}


/* Ryzer Portal 0.5.12 ----------------------------------------------------- */
/* Laterales de escritorio con altura máxima igual a la de una box/carrusel. */
.ryzer-desktop-ad-frame--category {
  align-items:stretch;
}
.ryzer-category-row.ryzer-ad-frame__main {
  align-self:stretch;
}
.ryzer-ad-rail--category {
  display:grid;
  align-self:stretch;
  height:100%;
  gap:14px;
  padding-top:0;
  padding-bottom:0;
}
.ryzer-ad-rail--category.ryzer-ad-rail--count-1 {
  grid-template-rows:minmax(0,1fr);
}
.ryzer-ad-rail--category.ryzer-ad-rail--count-2 {
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.ryzer-ad-rail--category .ryzer-ad {
  height:100%;
  min-height:0;
}
.ryzer-ad--row-side {
  height:100%;
  min-height:0;
  aspect-ratio:auto !important;
}
.ryzer-ad--row-side > a,
.ryzer-ad--row-side img {
  height:100%;
}
/* Cuando hay una sola creatividad lateral, ocupa toda la altura de la fila.
   Cuando hay dos, se reparten esa misma altura entre ambas. */
.ryzer-category-row-block {
  min-width:0;
}
@media (min-width:921px) {
  .ryzer-desktop-ad-frame--category .ryzer-ad-frame__main {
    min-height:0;
  }
}


/* Ryzer Portal 0.5.13 ----------------------------------------------------- */
/* Laterales de categorías: ligeramente más bajos que la propia box. */
@media (min-width:921px) {
  .ryzer-desktop-ad-frame--category {
    align-items:center;
  }
  .ryzer-ad-rail--category {
    align-self:center !important;
    min-height:0 !important;
    overflow:hidden;
  }
  .ryzer-ad-rail--category.ryzer-ad-rail--count-1 {
    grid-template-rows:minmax(0,1fr);
  }
  .ryzer-ad-rail--category.ryzer-ad-rail--count-2 {
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  .ryzer-ad-rail--category .ryzer-ad,
  .ryzer-ad-rail--category .ryzer-ad > a,
  .ryzer-ad-rail--category .ryzer-ad img {
    min-height:0 !important;
    height:100% !important;
    max-height:100% !important;
  }
  .ryzer-ad--row-side {
    aspect-ratio:auto !important;
    min-height:0 !important;
    height:100% !important;
  }
}


/* Ryzer Portal 0.5.14 ----------------------------------------------------- */
/* Corrección móvil: ningún elemento publicitario de escritorio puede reservar altura. */
@media (max-width:920px), (pointer:coarse) and (max-width:1180px) {
  .ryzer-desktop-ad-frame--category {
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .ryzer-desktop-ad-frame--category > .ryzer-ad-rail--desktop,
  .ryzer-desktop-row-band,
  .ryzer-desktop-bottom-ads {
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }
  .ryzer-desktop-ad-frame--category > .ryzer-category-row.ryzer-ad-frame__main {
    display:block !important;
    width:min(100% - 24px,1480px) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin-inline:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .ryzer-category-row-block {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  /* Los anuncios móviles conservan una altura compacta y nunca pueden crear una barra gigante. */
  .ryzer-mobile-ad-strip,
  .ryzer-mobile-ad-strip__viewport,
  .ryzer-mobile-ad-track {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
  .ryzer-mobile-ad-strip {
    display:block;
    margin-top:6px;
    margin-bottom:12px;
  }
  .ryzer-mobile-ad-track {
    align-items:stretch;
  }
  .ryzer-ad--mobile-card {
    flex:0 0 100%;
    width:100%;
    height:auto !important;
    min-height:0 !important;
    max-height:160px !important;
    aspect-ratio:16 / 6.4;
  }
  .ryzer-ad--mobile-card > a,
  .ryzer-ad--mobile-card img {
    width:100%;
    height:100% !important;
    min-height:0 !important;
    max-height:160px !important;
  }
}

@media (max-width:620px) {
  .ryzer-ad--mobile-card,
  .ryzer-ad--mobile-card > a,
  .ryzer-ad--mobile-card img {
    max-height:145px !important;
  }
}


/* Ryzer Portal 0.5.15 ----------------------------------------------------- */
/* Si hay un único banner inferior en PC, usa el ancho visual de una columna de 2. */
@media (min-width:921px) {
  .ryzer-desktop-bottom-ads--count-1 {
    justify-items:center;
  }
  .ryzer-desktop-bottom-ads--count-1 .ryzer-ad {
    grid-column:auto;
    width:min(100%, calc((100% - 14px) / 2));
    max-width:calc((100% - 14px) / 2);
    justify-self:center;
  }
}


/* Ryzer Portal 0.5.17 ----------------------------------------------------- */
/* Ajuste final de los laterales de Tendencias en escritorio. */
@media (min-width:921px) {
  /* El derecho queda deliberadamente más estrecho que el izquierdo. */
  .ryzer-desktop-ad-frame--hero.has-left.has-right {
    grid-template-columns:minmax(20px,1fr) minmax(170px,220px) minmax(0,1180px) minmax(140px,185px) minmax(20px,1fr);
  }
  .ryzer-desktop-ad-frame--hero.has-left:not(.has-right) {
    grid-template-columns:minmax(20px,1fr) minmax(170px,220px) minmax(0,1180px) minmax(20px,1fr);
  }
  .ryzer-desktop-ad-frame--hero.has-right:not(.has-left) {
    grid-template-columns:minmax(20px,1fr) minmax(0,1180px) minmax(140px,185px) minmax(20px,1fr);
  }

  /* El izquierdo empieza a la altura real de las tarjetas, no a la del título. */
  .ryzer-desktop-ad-frame--hero .ryzer-ad-rail--hero.ryzer-ad-rail--left {
    padding-top:76px;
    padding-bottom:12px;
    align-self:start;
  }
  .ryzer-desktop-ad-frame--hero .ryzer-ad-rail--hero.ryzer-ad-rail--right {
    padding-top:14px;
    padding-bottom:12px;
    align-self:start;
  }

  /* Evita que el alto del grid estire las creatividades de Tendencias. */
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side,
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side > a {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side {
    aspect-ratio:10 / 7;
  }
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side img {
    width:100%;
    height:100% !important;
    aspect-ratio:10 / 7;
    object-fit:cover;
  }
}


/* Ryzer Portal 0.5.18 ----------------------------------------------------- */
/* Ajuste de escala y alineación de los banners de Tendencias en escritorio. */
@media (min-width:921px) {
  .ryzer-desktop-ad-frame--hero {
    align-items:start;
  }
  .ryzer-desktop-ad-frame--hero.has-left.has-right {
    grid-template-columns:minmax(20px,1fr) minmax(190px,230px) minmax(0,1180px) minmax(150px,185px) minmax(20px,1fr);
  }
  .ryzer-desktop-ad-frame--hero.has-left:not(.has-right) {
    grid-template-columns:minmax(20px,1fr) minmax(190px,230px) minmax(0,1180px) minmax(20px,1fr);
  }
  .ryzer-desktop-ad-frame--hero.has-right:not(.has-left) {
    grid-template-columns:minmax(20px,1fr) minmax(0,1180px) minmax(150px,185px) minmax(20px,1fr);
  }

  /* Los laterales comienzan alineados con la línea de tarjetas, no con el título. */
  .ryzer-desktop-ad-frame--hero .ryzer-ad-rail--hero.ryzer-ad-rail--left,
  .ryzer-desktop-ad-frame--hero .ryzer-ad-rail--hero.ryzer-ad-rail--right {
    padding-top:72px;
    padding-bottom:12px;
    align-self:start;
  }

  /* Alto parecido al de una tarjeta de Tendencias. */
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side,
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side > a {
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
  }
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side {
    aspect-ratio:auto !important;
  }
  .ryzer-desktop-ad-frame--hero .ryzer-ad--hero-side img {
    width:100%;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover;
    object-position:center;
  }
}


/* Ryzer Portal 0.5.19 ----------------------------------------------------- */
/* Publicidad eliminada de Tendencias. */
