/* WEB-77: the revival layer's stylesheet (plan docs/superpowers/plans/2026-10-12-web-redesign-phase1.md, Task 3).
   One rule per em$ or sale element of a kept page, each with the bundle template it was found in.
   Nav entries are NOT hidden here: the server's site pack lists them (v1 Site/hidden_nav, web/rewrite.py hidden_nav_css). */

/* WEB-81: found in the captured bundle (static/compiled_web.min.js, JST templates), checked in Chromium by web/tests/browser/walk.js. */
/* (a) em$ balance */
span.section.ems{display:none !important} /* em$: balance link #wallet/ems, template statusbar/statusbar_main (+ _logged_out) */
.buy-ems-button{display:none !important} /* em$: "Buy em$" menu button, template main_menu/main_menu, main_menu/main_menu_launcher */
.wallet-spent-table tr:nth-child(2){display:none !important} /* em$: balance and total spent row (Em$), template wallet/walletSpentView */
/* (b) em$ prices (gm$ is .silver-price: kept) */
.item-price .price{display:none !important} /* em$: price, templates store/storeListItem, store/storeListBundleItem, store/storeItem, store/storeBundle, promotions/sidebar_item */
.accept-container .price{display:none !important} /* em$: confirm line "1x - <price> em$", template promotions/sidebar_item */
table.included .price, table.included th.data_item:not(.you-own){display:none !important} /* em$: item values and totals, template store/storeBundle */
table.included .bundle-price, table.included .bundle-save-price{display:none !important} /* em$: bundle price and saving, template store/storeBundle */
/* (c) buy-with-em$ buttons (.confirm-buy-gms and .confirm-buy-skull-gms stay) */
.confirm-buy, .confirm-buy-bundle, .confirm-buy-skull{display:none !important} /* em$: "Buy with em$", templates gameManagement/confirmBuy, campaign confirm, profile/confirmTaxidermy */
.buy-ems{display:none !important} /* em$: "Get more em$", templates gameManagement/confirmBuy, profile/confirmTaxidermy */
a[href="/bank#buyEms"]{display:none !important} /* em$: "Get more em$", store item state STORE_ITEM_STATE_TOO_EXPENSIVE helper (INBOX-29) */
/* (d) sales */
.discount-price, .old-price{display:none !important} /* sale: discounted and struck em$ price, templates store/storeListItem, store/storeItem, store/storeBundle, promotions/promo_sales */
.item-banner-label.sale{display:none !important} /* sale: ribbon, store item banner helper (promo_sale_caps) */
.promo-component.component-sale{display:none !important} /* sale: "on sale" promo, template promotions/promo_sales */
/* (e) upsells */
#membershipPromo{display:none !important} /* upsell: membership promo region, template promotions/sidebar_main */
.promo-component.component-ems{display:none !important} /* upsell: em$ offer widget, template promotions/promo_ems */
/* (f) WEB-86: the buy dialog (template gameManagement/confirmBuy, opened by .inlineStoreBuy and .storeBuy through confirmBuyItem) shows
   item-name, then an .item-price "<calculatedPrice> em$" (bundles: after .bundle-items), then {{#if item.silver_price}} a second
   .item-price "<silver_price> gm$" with .confirm-buy-gms or the disabled "Not enough gm$". The em$ line goes; the "You own" line the view
   puts inside it stays (12px, measured in Chromium; hidden text is out of innerText, which the walk reads). */
.confirm-buy-modal .item-name + .item-price, .confirm-buy-modal .bundle-items + .item-price{font-size:0 !important;visibility:hidden !important} /* em$: dialog price */
.confirm-buy-modal .item-name + .item-price > .owned-item, .confirm-buy-modal .bundle-items + .item-price > .owned-item{font-size:12px !important;visibility:visible !important}
/* decision 17, no em$ to buy with: a buy control whose item has no gm$ price (the templates render .silver-price only {{#if silver_price}}:
   store/storeItem, store/storeListItem, promotions/sidebar_item) is hidden, as the em$-only bundle buy is (WEB-81) */
:has(> .inlineStoreBuy):not(:has(.silver-price)) > .inlineStoreBuy, :has(> .storeBuy):not(:has(.silver-price)) > .storeBuy{display:none !important} /* em$-only buy */
/* (g) WEB-91: links to the old live news site (1005 posts; decision 29 keeps one stub post): the feed's "News Archive" paragraph,
   template newsfeed/newsfeed (p.newsreadmore), and the settings header-image info link (settings view initProfileSettings) */
.newsreadmore, a[href*="//news.thehunter.com"]{display:none !important} /* old news */
/* (h) WEB-100 (owner 13 Oct 2026): the FORUM nav entry, the footer's social links, the invite page's share links, the download page's
   Troubleshooting block (live support form, live HealthCheck.exe) and the sidebar's HOT ITEMS are cut from the bundle in path mode
   (web/rewrite.py RULING_FIXES, RULING_CUTS). Hosts mode serves the bundle unedited: there they are only hidden, by these rules. */
li:has(> a[href="http://forum.thehunter.com/"]), a[href="http://forum.thehunter.com/"]{display:none !important} /* forum: main_menu, main_menu_launcher */
.footer-section:has(.follow-icon), .follow-icon, .share-link{display:none !important} /* social: footer/footerMain, recruit_friends/recruit_friends */
.page-content-block:has(a[href*="HealthCheck.exe"]){display:none !important} /* live support and download: download/download */
.compopnent-hotitems{display:none !important} /* HOT ITEMS: promotions/promo_hotitems (sic: compopnent) */
/* (i) WEB-101 (owner 13 Oct 2026, "Remove support"): the live support links are cut from the bundle in path mode (web/rewrite.py
   SUPPORT_FIXES); in hosts mode only hidden here. Exact hrefs, so gameStartRedirect's and serverList's (kept by the owner) stay. */
p:has(> a[href="https://support.thehunter.com"]), p:has(> a[href="http://support.thehunter.com/"]), a[href="http://support.thehunter.com"],
li[data-href="http://support.thehunter.com/"]{display:none !important} /* footer, store error, help + launcher errors, launcher menu */
/* (j) WEB-108: the download page's original download button (live installer, the Steam store page) is cut from the bundle in path mode
   (web/rewrite.py RULING_CUTS); in hosts mode only hidden here. revival.js shows the server's downloads instead (#revival-downloads). */
p:has(> a.download-launcher){display:none !important} /* original download: download/download */
#revival-downloads table{width:100%;border-collapse:collapse;margin:8px 0 12px}
#revival-downloads th, #revival-downloads td{text-align:left;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.15);vertical-align:top}
#revival-downloads .sha{font-family:monospace;font-size:11px;word-break:break-all}
#revival-downloads .fingerprint{font-family:monospace;word-break:break-all}
#revival-downloads .newer{font-weight:bold;color:#c8a24a}
#revival-downloads .error{color:#e06c5a}
/* BACKEND-211: the Legacy tab */
.revival-legacy-edge{position:fixed;right:0;top:40%;z-index:50;padding:6px 10px;background:#2b2b2b;color:#c8a24a;border:1px solid rgba(255,255,255,.2);border-right:0}
#revival-legacy{position:fixed;left:10%;right:10%;top:60px;bottom:20px;overflow:auto;z-index:60;padding:16px;background:#1d1d1d;color:#ddd}
#revival-legacy table{border-collapse:collapse;width:100%}
#revival-legacy th, #revival-legacy td{text-align:left;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.15)}
/* (k) WEB-121 (decision 58 point 5): no shop on the site. The header's STORE button is cut from the bundle in path mode (web/rewrite.py
   RULING_CUTS); in hosts mode, and for every other link into the store (promos, item names, sale widgets), only hidden here. revival.js
   sends #store and #store/* to the feed. Inventory and loadout stay. */
a[href$="#store"], a[href*="#store/"], a[href="/store"], .menu-store-button, li:has(> a[href*="#store"]), .sale-item{display:none !important}

/* WEB-125: a strict site menu in both modes. Only navigation is replaced; typed
   routes, profile links and public leaderboard reads are not removed. */
#page_menu_inner, .revival-legacy-edge{display:none !important}
#revival-site-menu{display:flex;flex-wrap:wrap;gap:6px 22px;max-width:1100px;margin:auto;padding:18px 12px;background:#1d1d1d}
#revival-site-menu a{color:#e8e4da;font-size:14px;text-decoration:none}
#revival-site-menu a:hover, #revival-site-menu a:focus{color:#c8a24a;text-decoration:underline}
.revival-info-open #ajax_content, .revival-info-open #page_sidebar{display:none !important}
#revival-info{box-sizing:border-box;padding:24px;background:#1d1d1d;color:#ddd;min-height:300px;width:100%}
#revival-info h1, #revival-info h2{color:#fff;line-height:1.3}
#revival-info a{color:#c8a24a}
#revival-info .revival-info-list{display:flex;flex-wrap:wrap;gap:12px 28px;margin:20px 0;padding-left:20px}
#revival-info article{max-width:800px;line-height:1.6;overflow-wrap:anywhere}
#revival-info img{max-width:100%;height:auto}

/* WEB-132: original top-right panel, with all account entry points inside it. */
.sigin-container .sign-in-form-container{display:none !important}
.sigin-container.revival-account-open .sign-in-form-container{display:block !important;width:300px;z-index:1000}
.sigin-container > label{cursor:pointer}
#revival-account-panel label{display:block;text-align:left}
#revival-account-panel label[hidden]{display:none}
#revival-account-panel .revival-account-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
#revival-account-panel .revival-account-options button{background:none;border:0;color:#eee;cursor:pointer;text-decoration:underline;padding:2px}
#revival-account-panel .revival-account-options [aria-pressed="true"]{color:#c8a24a}
#revival-account-message{white-space:normal;line-height:1.4;margin-top:12px}
/* Old promotions must not bypass the top-right account entry. */
.component-register, a[href*="landing.html#/register"], a[href*="signup."]{display:none !important}
