/* CMS compatibility styles for Rebelion Online components. */
[hidden] { display: none !important; }
.odin-body .reicon { display: inline-block; flex-shrink: 0; object-fit: contain; }
.odin-body button:focus-visible,.odin-body a:focus-visible { outline: 2px solid var(--gold-hot); outline-offset: 4px; }
.odin-auth__field small,.odin-auth__form [role=alert] { color: #ef9a83; font-family: Outfit,sans-serif; }
.odin-auth__notice { color: #78dba4; }
.odin-cms-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 2rem; padding-top: 110px; }
.odin-cms-layout>div { min-width: 0; }
.odin-cms-content,.odin-cms-layout { font-family: Outfit,sans-serif; color: var(--sand); }
.odin-cms-content h2,.odin-cms-content h3,.odin-cms-content h4,.odin-cms-layout h2 { font-family: Norse,Cinzel,serif; color: var(--gold-hot); letter-spacing: .06em; }
.odin-cms-content h2 { font-size: 1.8rem; }
.odin-cms-content h3,.odin-cms-content h4 { font-size: 1.3rem; }
.odin-cms-content .card-body,.odin-cms-layout .card-body { padding: 1.5rem; }
.odin-cms-content .table-responsive { overflow-x: auto; }
.odin-cms-content table { width: 100%; border-collapse: collapse; }
.odin-cms-content th,.odin-cms-content td { padding: .85rem; border-bottom: 1px solid var(--line); }
.odin-cms-content th { color: var(--gold-hot); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.odin-cms-content .form-control,.odin-cms-content .form-select,.odin-cms-layout .form-control { background: #070403; border: 1px solid var(--line); color: var(--sand); padding: .75rem; }
.odin-cms-content .btn,.odin-cms-layout .btn { border: 1px solid var(--gold); background: #130d06; color: var(--gold-hot); padding: .6rem 1.1rem; }
.odin-cms-content a:hover,.odin-cms-layout a:hover { color: var(--gold-hot); }
.odin-cms-content .text-muted { color: #ead7b49e !important; }
.odin-cms-content .table>:not(caption)>*>*,.odin-cms-layout .table>:not(caption)>*>* { background: transparent; color: var(--sand); border-color: var(--line) !important; box-shadow: none; }
.odin-cms-content .table thead,.odin-cms-content .table tbody { border-color: var(--line) !important; }
.odin-body .rv-card,.odin-body .rv-cv-card { background: #100a07; border: 1px solid var(--line); }
.odin-body .rv-card-header,.odin-body .rv-cv-head { padding: 1rem; color: var(--gold-hot); border-bottom: 1px solid var(--line); }
.odin-body .rv-nav-pill { display: flex; gap: .6rem; align-items: center; padding: .9rem; border-bottom: 1px solid var(--line); transition: color .2s,background .2s; }
.odin-body .rv-nav-pill:hover,.odin-body .rv-nav-pill.active { background: #25170b; color: var(--gold-hot); }
.sro-item-tooltip { max-height: calc(100vh - 16px); overflow-y: auto; }
.odin-body .rv-account-main { padding: 110px var(--odin-gutter) 3rem; }
.odin-cms-layout .rv-account-main { padding: 0; }
.odin-cms-content .rv-account-main { padding: 0; }
.odin-cms-layout { padding-top: 2rem; }
.odin-body .rv-account-layout { max-width: var(--odin-shell); margin: auto; }
.odin-body .rv-account-content { min-width: 0; }
.odin-body .rv-account-layout>.rv-account-content>.container { max-width: none; }
.odin-body .rv-char-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 245px), 1fr)); gap: 1rem; padding: 1rem; }
.odin-body .rv-char-card { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: .9rem; min-width: 0; padding: .9rem; border: 1px solid var(--line); background: linear-gradient(145deg, #110b07, #090604); }
.odin-body .rv-char-avatar { width: 76px; height: 92px; object-fit: contain; background: #060403; border: 1px solid rgba(216,156,74,.16); }
.odin-body .rv-char-card .rv-char-name { display: block; overflow-wrap: anywhere; color: var(--gold-hot); font-family: Norse,Cinzel,serif; font-size: 1.15rem; letter-spacing: .04em; }
.odin-body .rv-char-card .rv-char-badge,.odin-body .rv-char-card .rv-char-gold { margin-top: .45rem; color: #ead7b4a6; font-size: .72rem; }
.odin-body .rv-char-card .rv-char-gold { color: var(--sand); font-variant-numeric: tabular-nums; }
.odin-body .rv-info-table { width: 100%; border-collapse: collapse; }
.odin-body .rv-info-table th,.odin-body .rv-info-table td { padding: .8rem 1.25rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.odin-body .rv-info-table th { width: 42%; color: #ead7b4a6; font-size: .74rem; font-weight: 500; }
.odin-body .rv-info-table td { color: var(--sand); font-size: .82rem; overflow-wrap: anywhere; }
.odin-body .rv-info-table tr:last-child th,.odin-body .rv-info-table tr:last-child td { border-bottom: 0; }
.odin-body .odin-cms-layout .rv-form-group { display: grid; gap: .55rem; margin-bottom: 1.25rem; }
.odin-body .odin-cms-layout .rv-form-label { display: block; margin: 0; color: var(--sand); font-size: .78rem; letter-spacing: .035em; }
.odin-body .odin-cms-layout .rv-form-label i { margin-right: .4rem; color: var(--gold-hot); }
.odin-body .odin-cms-layout .rv-form-input { display: block; width: 100%; min-height: 48px; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: 2px; background: #070403; color: var(--sand); font: 500 .84rem Outfit,sans-serif; transition: border-color .18s ease, box-shadow .18s ease; }
.odin-body .odin-cms-layout .rv-form-input::placeholder { color: #ead7b47a; opacity: 1; }
.odin-body .odin-cms-layout .rv-form-input:focus { border-color: var(--gold); outline: 0; box-shadow: 0 0 0 3px rgba(216,156,74,.14); }
.odin-body .odin-cms-layout .rv-form-input:disabled { color: #ead7b488; background: #0b0806; }
.odin-body .odin-cms-layout .rv-form-error { display: block; color: #e8a08d; font-size: .74rem; }
.odin-body .odin-cms-layout .rv-auth-btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: .45rem; padding: .7rem 1rem; border: 1px solid var(--gold); border-radius: 2px; background: linear-gradient(180deg,#231507,#110a05); color: var(--gold-hot); font: 600 .72rem Cinzel,serif; letter-spacing: .065em; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.odin-body .odin-cms-layout .rv-auth-btn:hover { border-color: var(--gold-hot); background: #2b1a09; box-shadow: 0 0 18px rgba(216,156,74,.14); }
.odin-body .odin-cms-layout .rv-auth-btn:focus-visible { outline: 2px solid var(--gold-hot); outline-offset: 3px; }
.odin-body .odin-cms-layout .rv-checkbox { display: grid; width: 19px; height: 19px; flex: 0 0 19px; place-items: center; margin: 0; appearance: none; border: 1px solid rgba(216,156,74,.62); border-radius: 2px; background: #080605; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.odin-body .odin-cms-layout label:has(.rv-checkbox) { cursor: pointer; }
.odin-body .odin-cms-layout .rv-checkbox::after { width: 5px; height: 9px; margin-top: -2px; border-right: 2px solid #170e05; border-bottom: 2px solid #170e05; content: ""; opacity: 0; transform: rotate(45deg) scale(.85); transition: opacity .12s ease; }
.odin-body .odin-cms-layout .rv-checkbox:checked { border-color: var(--gold-hot); background: linear-gradient(145deg,#f0d48a,#c68a32); box-shadow: 0 0 12px rgba(216,156,74,.2); }
.odin-body .odin-cms-layout .rv-checkbox:checked::after { opacity: 1; }
.odin-body .odin-cms-layout .rv-checkbox:focus-visible { outline: 2px solid var(--gold-hot); outline-offset: 3px; }
.odin-body .rv-page-card,.odin-body .card { background: #100a07; border: 1px solid var(--line); color: var(--sand); }
.odin-body .rv-page-card-head,.odin-body .card-header { padding: 1rem; border-bottom: 1px solid var(--line); color: var(--gold-hot); }
.odin-body .rv-page-card-body { padding: 1.5rem; }
.odin-body .rv-page-card { margin-bottom: 1.5rem; }
.odin-body .table { --bs-table-bg: transparent; --bs-table-color: var(--sand); --bs-table-border-color: var(--line); }
.odin-body .rv-rank-tabs,.odin-body .rv-dt-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem; }
.odin-body .rv-rank-tab { color: var(--gold-hot); }
.odin-body input:not([type=checkbox]):not([type=hidden]),.odin-body select,.odin-body textarea { color-scheme: dark; }
.odin-rates__close { font-size: 1.4rem; }
.odin-mobile-tools { display: none; }
@media(max-width:1000px) {
    .odin-cms-layout { grid-template-columns: 1fr; }
    .odin-body.menu-open .odin-nav { display: flex; position: fixed; inset: 70px 0 0; flex-direction: column; align-items: stretch; justify-content: flex-start; background: #070403fa; overflow-y: auto; padding: 1.5rem; gap: .5rem; }
    .odin-body.menu-open .odin-nav>a,.odin-body.menu-open .odin-drop { border: 0; }
    .odin-body.menu-open .odin-nav .odin-drop { display: block; }
    .odin-body.menu-open .odin-nav .odin-drop__list { position: static; transform: none; width: 100%; margin-top: .4rem; }
    .odin-mobile-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1rem; }
    .odin-body.menu-open .odin-mobile-tools .odin-drop__list { position: static; transform: none; margin-top: .5rem; }
}
@media(prefers-reduced-motion:reduce) { .stage__sand,.stage__aura,.stage__grit { animation: none !important; } }

.odin-unique-map { padding-block:2.25rem 4rem; }
.odin-unique-map__toolbar { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.1rem; }
.odin-unique-map__search { display:grid; grid-template-columns:2.8rem 1fr; grid-template-rows:auto auto; align-items:center; gap:0 .8rem; width:min(100%,470px); padding:.9rem 1rem; border:1px solid var(--atlas-line); background:linear-gradient(135deg,rgba(33,22,15,.96),rgba(13,9,7,.98)); }
.odin-unique-map__search-icon { grid-column:1; grid-row:1 / span 2; display:grid; place-items:center; width:2.6rem; height:2.6rem; border:1px solid rgba(223,189,101,.34); color:var(--atlas-sand); font-size:1.55rem; }
.odin-unique-map__search-label { color:var(--atlas-muted); font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.odin-unique-map__search select { min-width:0; width:100%; padding:.2rem 1.8rem .2rem 0; border:0; outline:0; background:transparent; color:var(--atlas-paper); font:inherit; }
.odin-unique-map__search option { background:#160f0b; color:var(--atlas-paper); }
.odin-unique-map__search select:focus-visible { outline:1px solid var(--atlas-jade); outline-offset:4px; }
.odin-unique-map__map-meta { display:grid; justify-items:end; gap:.3rem; color:var(--atlas-muted); font-size:.8rem; text-align:right; }
.odin-unique-map__map-status { display:flex; align-items:center; gap:.55rem; color:var(--atlas-sand); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.odin-unique-map__map-status i { width:.48rem; height:.48rem; border-radius:50%; background:#79d89c; box-shadow:0 0 12px #79d89c88; }
.odin-unique-map__frame { position:relative; overflow:hidden; border:1px solid rgba(205,158,70,.35); background:#100d0b; box-shadow:0 22px 55px #0007; }
#unique-map-canvas { width:100%; height:clamp(440px,62vw,720px); background:#171311; }
.odin-unique-map__empty { position:absolute; z-index:500; top:50%; left:50%; width:min(90%,390px); padding:1rem 1.25rem; transform:translate(-50%,-50%); border:1px solid var(--atlas-line); background:rgba(13,9,7,.94); color:var(--atlas-paper); text-align:center; box-shadow:0 12px 36px #0009; }
.odin-unique-map__empty[hidden] { display:none !important; }
.odin-unique-map__reset { position:absolute; z-index:500; right:.85rem; bottom:2.2rem; display:grid; place-items:center; width:2.5rem; height:2.5rem; border:1px solid var(--atlas-line); background:#140e0beF; color:var(--atlas-sand); font-size:1.25rem; cursor:pointer; }
.odin-unique-map__reset:hover { border-color:var(--atlas-jade); background:#28190f; }
.odin-unique-map__attribution { margin:.65rem 0 0; color:var(--atlas-muted); font-size:.72rem; text-align:right; }
.odin-unique-map__attribution a { color:var(--atlas-sand); }
.odin-unique-map__marker-wrap { border:0; background:transparent; }
.odin-unique-map__marker { position:relative; display:block; width:18px; height:18px; border:2px solid #f7df9a; border-radius:50% 50% 50% 0; background:linear-gradient(145deg,#f2c45c,#8b4715); box-shadow:0 0 0 4px #edb84630,0 3px 12px #000b; transform:rotate(-45deg); }
.odin-unique-map__marker::after { position:absolute; inset:4px; border-radius:50%; background:#2a160b; content:""; }
.odin-unique-map__popup { display:grid; gap:.2rem; min-width:150px; color:#21160e; font:13px/1.45 "Marcellus",Georgia,serif; }
.odin-unique-map__popup strong { color:#8e5e1a; }
.odin-unique-map__popup small { color:#76624a; }
.odin-unique-map .leaflet-container { font-family:"Marcellus",Georgia,serif; }
.odin-unique-map .leaflet-control-zoom a { background:#17100c; color:var(--atlas-sand); border-color:var(--atlas-line); }
.odin-unique-map .leaflet-control-attribution { background:rgba(13,9,7,.8); color:var(--atlas-muted); }
.odin-unique-map .leaflet-control-attribution a { color:var(--atlas-sand); }
.odin-unique-ranking__period { margin:1rem 0; color:var(--gold-hot); font:600 .8rem 'Marcellus',serif; letter-spacing:.12em; text-transform:uppercase; }
.odin-unique-ranking__empty { padding:1.25rem; color:var(--sand); text-align:center; }
@media(max-width:700px) { .odin-unique-map__toolbar { align-items:stretch; flex-direction:column; gap:.75rem; } .odin-unique-map__map-meta { justify-items:start; text-align:left; } #unique-map-canvas { height:65vh; min-height:420px; } }

/* Override Norse and Cinzel fonts with Marcellus */
@font-face {
    font-family: 'Norse';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Marcellus'), url('https://fonts.gstatic.com/s/marcellus/v13/w8gM3_XYpo8Y5LTo6HQq.woff2') format('woff2');
}
@font-face {
    font-family: 'Norse';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Marcellus'), url('https://fonts.gstatic.com/s/marcellus/v13/w8gM3_XYpo8Y5LTo6HQq.woff2') format('woff2');
}

:root {
    --font-display: 'Marcellus', serif !important;
}

body, html, .odin-body,
h1, h2, h3, h4, h5, h6,
.odin-body h1, .odin-body h2, .odin-body h3, .odin-body h4, .odin-body h5, .odin-body h6,
.odin-cms-content h2, .odin-cms-content h3, .odin-cms-content h4, .odin-cms-layout h2,
.odin-vitals h3, .odin-vitals strong, .odin-vitals__clock,
.odin-world__head h2, .odin-focus__head h2, .odin-focus__copy h3, .odin-focus__tags li,
.odin-agenda__title h2, .odin-systems__head h2, .odin-systems__card h3, .odin-join h2,
.odin-join__card strong, .odin-foot__col h2, .odin-title h1, .odin-empty h2,
.odin-rank__row b, .odin-rank__pts strong, .odin-char__head h2, .odin-dl__hero h2,
.odin-dl__mirrors h2, .odin-dl__need h2, .odin-sigil, .rune, .rune--mark>span,
.rbl-sched-ribbon__col strong, .rbl-hero-ev__title, .rbl-ev-card__name,
.rbl-ev-card__live-banner, .rbl-clock-unit b, .rbl-card-clock,
#atlas-hero-title, .atlas-hero h1, .atlas-hero__copy h1,
.odin-beta h2, .odin-beta__date time, .odin-beta__countdown strong, .odin-beta__prize strong, .odin-beta__prize span {
    font-family: 'Marcellus', serif !important;
}

/* Golden glow on titles */
.atlas-section__head h2,
.odin-world__head h2,
#atlas-hero-title,
.atlas-hero h1,
.cx-fort__eyebrow {
    text-shadow: 0 2px 26px rgba(231, 181, 82, .45), 0 0 54px rgba(231, 181, 82, .25), 0 0 80px rgba(231, 181, 82, .15) !important;
}



/* ===== Descargas: logos de espejos ===== */
.odin-dl__hero--logo { grid-template-columns: auto 1fr auto !important; align-items: center !important; }
.odin-dl__logo { width: 112px; height: 112px; object-fit: contain; filter: drop-shadow(0 6px 22px rgba(231, 181, 82, .35)); }
.odin-dl__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.odin-dl__cards li { display: flex; }
.odin-dl__mirrors .odin-dl__card { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: .55rem; min-height: 0; padding: 1.2rem; border: 1px solid rgba(216, 156, 74, .18); border-radius: 4px; transition: border-color .2s, transform .2s, background .2s; }
.odin-dl__mirrors .odin-dl__card:hover, .odin-dl__mirrors .odin-dl__card:focus-visible { border-color: rgba(240, 212, 138, .55); transform: translateY(-2px); background: linear-gradient(160deg, rgba(216, 156, 74, .1), transparent 70%); }
.odin-dl__card img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 4px 14px rgba(231, 181, 82, .3)); }
.odin-dl__card strong { color: var(--gold-hot, #f0d48a); font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.odin-dl__mirrors .odin-dl__card small { flex: 1; color: #ead7b4b3; font-size: .8rem; line-height: 1.5; }
.odin-dl__mirrors .odin-dl__card em { color: var(--gold, #d89c4a); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 720px) {
    .odin-dl__hero--logo { grid-template-columns: 1fr !important; justify-items: start; }
    .odin-dl__logo { width: 80px; height: 80px; }
}
