/*
 * Instabooster: undo Tailwind preflight inside IB-rendered regions (.ibr), so the ported live
 * CSS (live.css, Bootstrap 4 / Tabler based) cascades over the browser defaults exactly like on
 * instabooster.es. `revert` = back to the user-agent value; any rule of layer "ib" (live.css and
 * the area files) still wins (later layer). Inside an IB view, wrap a shared Tailwind widget in
 * `.tw` to keep preflight for it.
 * Layer order is declared in src/app/globals.css: base < ib-reset < ib < components < utilities.
 */
/* The full layer order of the store CSS (Tailwind's layers from the global chunk, then the IB
   ones), stated here too: a page React renders on the client (the 404) gets the global chunk
   appended AFTER these sheets, and without this the IB layers would rank below the utilities. */
@layer properties, theme, base, components, utilities, ib-reset, ib;
@layer ib-reset {
  html[data-brand="ib"] :where(.ibr, .ibr *):not(:where(.tw, .tw *)),
  html[data-brand="ib"] :where(.ibr, .ibr *):not(:where(.tw, .tw *))::before,
  html[data-brand="ib"] :where(.ibr, .ibr *):not(:where(.tw, .tw *))::after {
    margin: revert;
    padding: revert;
    border: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(h1, h2, h3, h4, h5, h6):not(:where(.tw *)) {
    font-size: revert;
    font-weight: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(a):not(:where(.tw *)) {
    color: revert;
    text-decoration: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(ol, ul, menu):not(:where(.tw *)) {
    list-style: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(hr):not(:where(.tw *)) {
    height: revert;
    color: revert;
    border-top-width: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(table):not(:where(.tw *)) {
    text-indent: revert;
    border-color: revert;
    border-collapse: revert;
  }
  html[data-brand="ib"]
    :where(.ibr)
    :where(img, svg, video, canvas, audio, iframe, embed, object):not(
      :where(.tw *)
    ) {
    display: revert;
    vertical-align: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(img, video):not(:where(.tw *)) {
    max-width: revert;
  }
  html[data-brand="ib"]
    :where(.ibr)
    :where(button, input, select, optgroup, textarea):not(:where(.tw *)) {
    font: revert;
    font-feature-settings: revert;
    font-variation-settings: revert;
    letter-spacing: revert;
    color: revert;
    border-radius: revert;
    background-color: revert;
    opacity: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(textarea):not(:where(.tw *)) {
    resize: revert;
  }
  html[data-brand="ib"] :where(.ibr) :where(input, textarea):not(:where(.tw *))::placeholder {
    opacity: revert;
    color: revert;
  }
  /* globals.css storefront focus ring (base layer) is not part of the live look */
  html[data-brand="ib"] :where(.ibr) :where(*):not(:where(.tw *)):focus-visible {
    outline: revert;
    outline-offset: revert;
  }
  /* globals.css base: `* { border-color: var(--border); outline-color }` */
  html[data-brand="ib"] :where(.ibr, .ibr *):not(:where(.tw, .tw *)) {
    border-color: revert;
    outline-color: revert;
  }
  /* globals.css: inputs at least 16px (iOS zoom) — live keeps its own sizes */
  html[data-brand="ib"] :where(.ibr) :where(input, select, textarea):not(:where(.tw *)) {
    font-size: revert;
  }
}
