/* Hidden until real (15 October 2026): see the note at the top of launch-hide.js and
   docs/SmartNote-Todo-Bring-Back.md. Every rule needs the class sn-launch-hide on <html>, which only launch-hide.js
   adds, so this file does nothing on its own. Nothing here changes how anything looks; it only hides. */

/* Links to the hidden screens, wherever they are drawn: menus, account tabs, footer, help, pages. */
html.sn-launch-hide a[href="#/rewards"],
html.sn-launch-hide a[data-sn="#/rewards"],
html.sn-launch-hide a[data-sn^="#/rewards/"],
/* Work with SmartNote (#/creators) and Affiliates (#/partner) are shown again since 21 October 2026 (the owner: "Afilliates
   get 20%. In fact, we had this on our site. We can bring it back now. Ensure their pages work"); their links are no longer hidden. */
/* The banked-reward tick. The cart's code box (.discount-details) is shown again since 21 October 2026, now as a real
   "Have a code?" box for affiliate and test codes (the owner: "i need an actual discount box so affiliate stuff is more obvious"). */
html.sn-launch-hide label:has(> input[data-key="use-reward"]),
/* "You earned 15 Smart bucks" and the "Give a friend 50% off" card with the friend code, on the success screen. */
html.sn-launch-hide .sd-bucks,
html.sn-launch-hide .sd-share,
/* The WhatsApp buttons, except the free page's card (.fp-wa), shown again since 21 October 2026 as the SmartNote Drops channel. */
html.sn-launch-hide [data-fs-wa]:not(.fp-wa [data-fs-wa]),
/* Lines found by their words in launch-hide.js. */
html.sn-launch-hide [data-launch-hidden] {
  display: none !important;
}

/* Free sheets (15 October 2026): the links to the free page (hero button, menus, footer, empty screens) and the home page's
   free card. These rules need the class sn-hide-free, which launch-hide.js adds while HIDE_FREE is true. */
html.sn-hide-free a[href="#/free"],
html.sn-hide-free a[data-sn="#/free"],
html.sn-hide-free a[data-sn^="#/free/"],
html.sn-hide-free .fs-closing .fs-main,
html.sn-hide-free .fp-invite {
  display: none !important;
}

/* Smart Bundles (16 October 2026): the home page's section and every link to it (laptop bar, phone menu, footer). These
   rules need the class sn-hide-smart, which launch-hide.js adds while HIDE_SMART is true. */
html.sn-hide-smart #smart,
html.sn-hide-smart a[href="#smart"],
html.sn-hide-smart a[href="/#smart"],
html.sn-hide-smart a[data-sn="#smart"] {
  display: none !important;
}

/* The free page's study tools (16 October 2026): the "Ten study tools. Also free." list. Needs the class sn-hide-tools,
   which launch-hide.js adds while HIDE_TOOLS is true. */
html.sn-hide-tools .fs-block:has(> #fsToolsTitle) {
  display: none !important;
}

/* Savings against single-sheet prices (16 October 2026): the struck-through singles price in the cart, What's inside's
   "R6 104 · Save R5 555" line, the cart's "You save" and the success screen's "You saved". Needs the class sn-hide-savings, which launch-hide.js
   adds while HIDE_SAVINGS is true; the rows found by their words are marked there. */
html.sn-hide-savings .cs-fprice del,
html.sn-hide-savings small:has(> .wi-saving),
/* The laptop's What's inside bar (barPrice in inside-studies.js): its struck price and "You save" (found 21 October 2026). */
html.sn-hide-savings .lm-price b > del,
html.sn-hide-savings small.wi-saving,
html.sn-hide-savings .ss-hero-price del,
html.sn-hide-savings .is-saving,
html.sn-hide-savings .is-save,
/* The cart's order summary: "Bundle savings −R5 538", the "Subtotal R6 017" row above it (only when there is a bundle
   saving; it is always the first row), and "You save R5 538" under the total. The Total row stays. */
/* A discount code's line (.cs-code, 21 October 2026) is not a saving against single sheets: it stays, with the row above it. */
html.sn-hide-savings .cs-sums .cs-save:not(.cs-code),
html.sn-hide-savings .cs-sums:has(> .cs-save:not(.cs-code)) > div:first-child:not(.cs-total),
html.sn-hide-savings .cs-yousave {
  display: none !important;
}

/* On a laptop the cart panel shows its total at the foot, not in the summary, so with the two saving rows hidden the
   "Order summary" heading would stand over nothing. It goes too, only while the savings are hidden. */
@media (min-width: 601px) {
  html.sn-hide-savings .cs-osum:has(.cs-save):not(:has(.cs-code)) > h3 {
    display: none !important;
  }
}

/* The phone's account tabs (16 October 2026; the owner: "the library ui for mobile is broken"). With the Rewards tab
   hidden, three tabs shared a row set out for four, each too narrow for its word, so layout-fit.js split them into two
   rows with Orders alone underneath. Three across instead. The one rule here that changes a layout, not hides: delete it
   together with the Rewards tab's rules above when Rewards comes back. */
@media (max-width: 600px) {
  html.sn-launch-hide .account-nav:not(.sn-tabs-fit):has(> a[data-sn="#/rewards"], > a[href="#/rewards"]) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Only what is on sale (21 October 2026, the owner: "only show maths and physics for now while I am sorting out stuff"):
   grades 8 to 11 have nothing on sale, so their grade buttons are hidden. launch-hide.js does the rest. */
html.sn-only-sold .grade-button[data-grade="8"],html.sn-only-sold .grade-button[data-grade="9"],
html.sn-only-sold .grade-button[data-grade="10"],html.sn-only-sold .grade-button[data-grade="11"],
html.sn-only-sold .fs-chip[data-fs-grade="8"],html.sn-only-sold .fs-chip[data-fs-grade="9"],
html.sn-only-sold .fs-chip[data-fs-grade="10"],html.sn-only-sold .fs-chip[data-fs-grade="11"]{display:none!important}
