/*
 * site-polish.css — corrections layered on top of the existing theme.
 *
 * Additive only. Removing this one <link> restores the site exactly as
 * captured from SiteGround.
 */

/* ---------------------------------------------------------------------------
 * X follow card.
 *
 * Replaces the "Advanced Facebook Twitter Widget" block. That widget reserved
 * height="888" for a timeline X no longer renders — anonymous embedded
 * timelines are deprecated, so it was 888px of empty space plus a third-party
 * script. This is a static card with the X mark inlined, so it needs no
 * external request and takes only the room it uses.
 * ------------------------------------------------------------------------ */
.sp-x-follow-wrap {
  display: flex;
  justify-content: center;
  padding: 8px 0 4px;
}

/* Solid black, not a translucent panel.
 *
 * The first version used a near-transparent white fill with a hairline white
 * border, which assumed a dark backdrop. It actually lands on the cream section
 * (rgb(222,219,193)), where white-on-light washed out to near-invisible. Black
 * is also X's own brand colour, so it reads correctly wherever the card ends up
 * -- this same component appears on four pages with different backgrounds. */
.sp-x-follow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px;
  border: 1px solid #000;
  border-radius: 8px;
  background: #000;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sp-x-follow:hover,
.sp-x-follow:focus-visible {
  background: #1c1c1c;
  border-color: #1c1c1c;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.26);
  color: #fff;
  text-decoration: none;
}

.sp-x-follow:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.sp-x-follow svg {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.sp-x-follow .sp-x-handle {
  display: block;
  font-size: 13px;
  font-weight: 400;
  opacity: 0.62;
  letter-spacing: 0;
}

/* ---------------------------------------------------------------------------
 * Elementor social icons.
 *
 * The bird glyph came from a FontAwesome build that predates fa-x-twitter, so
 * the <i> was replaced with an inline SVG. Elementor sized the glyph via
 * font-size, which an SVG ignores, so it needs explicit dimensions to match the
 * other icons in the row.
 * ------------------------------------------------------------------------ */
/* Elementor colours the glyph white via `.elementor-social-icon i`, which does
 * not match an <svg>. Inheriting currentColor instead resolved to the same grey
 * as the circle behind it, so the mark was invisible. Pinned to white, matching
 * every sibling icon. The grey circle is Elementor's default for platforms it
 * has no brand colour for -- TikTok renders identically. */
.sp-x-icon svg {
  width: 1em;
  height: 1em;
  fill: #fff !important;
  vertical-align: -0.125em;
}

/* ---------------------------------------------------------------------------
 * Homepage: centre the feature sections below the hero.
 *
 * Two separate Elementor sections, both reading as left-aligned:
 *
 *   d21fb94  three feature cards (33/33/33) — the image-box widgets are set to
 *            left alignment, so image and text hug the left edge of each column
 *   dd4090e  screenshot / "Higher Rarity, More Earn" / screenshot (66/33)
 *
 * The second one is a side effect of replacing the Twitter timeline. That embed
 * was 888px tall and filled the 33% column, which balanced the 66% content
 * beside it. The X card that replaced it is a fraction of the size, leaving the
 * right column nearly empty and the content stranded on the left. Collapsing
 * the split to a single centred column is the honest fix — the two-column
 * layout only ever existed to accommodate the timeline.
 *
 * Scoped to these two section IDs so no other layout is affected, and gated
 * above the mobile breakpoint where Elementor already stacks columns.
 * ------------------------------------------------------------------------ */
@media (min-width: 768px) {
  /* Both sections are full-bleed (1280px at x=0) while every other section on
   * the page is an Elementor "boxed" container at 1140px centred. Matching that
   * measure is what makes them read as centred rather than merely stretched --
   * and it is the site's own value, not an invented one. */
  .elementor-element-d21fb94 > .elementor-container,
  .elementor-element-dd4090e > .elementor-container,
  .elementor-element-a766ff7 > .elementor-container {
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* a766ff7 — "Immutable Hand-Crafted Art" / "Multiple Rarities" /
   * "NFT Launch + Beta". Same shape as the d21fb94 cards but built from
   * icon-box widgets rather than image-box, so it needs its own selectors:
   * flex row, align-items:start, text-align:start. */
  .elementor-element-a766ff7 .elementor-icon-box-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .elementor-element-a766ff7 .elementor-icon-box-icon {
    margin: 0 auto 14px !important;
    float: none !important;
  }

  .elementor-element-a766ff7 .elementor-icon-box-content,
  .elementor-element-a766ff7 .elementor-icon-box-title,
  .elementor-element-a766ff7 .elementor-icon-box-description {
    text-align: center !important;
  }

  /* Three feature cards — centre image and text within each column. */
  .elementor-element-d21fb94 .elementor-image-box-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .elementor-element-d21fb94 .elementor-image-box-img {
    margin: 0 auto 14px !important;
    float: none !important;
  }

  .elementor-element-d21fb94 .elementor-image-box-content,
  .elementor-element-d21fb94 .elementor-image-box-title,
  .elementor-element-d21fb94 .elementor-image-box-description {
    text-align: center !important;
  }

  /* Screenshot section — one centred column instead of 66/33. */
  .elementor-element-dd4090e > .elementor-container {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .elementor-element-dd4090e > .elementor-container > .elementor-column {
    width: 100% !important;
  }

  .elementor-element-dd4090e .elementor-widget-container {
    text-align: center !important;
  }

  .elementor-element-dd4090e .elementor-widget-image img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* These are image-BOX widgets, not image widgets. Their flex wrapper defaults
   * to justify-content: normal, so an image narrower than the container (the
   * PLAYER TIERS graphic is 1024px in a 1260px column) sits at the start rather
   * than centred. */
  .elementor-element-dd4090e .elementor-image-box-wrapper {
    justify-content: center !important;
  }

  /* Not every image-box wrapper is flex -- the PLAYER TIERS one computes to
   * display:block, so justify-content is inert there and the 1024px image sat
   * left-aligned inside its 1080px figure. Auto margins on the <img> centre it
   * regardless of which layout mode the wrapper happens to use. */
  .elementor-element-dd4090e .elementor-image-box-img,
  .elementor-element-dd4090e .elementor-image-box-img > a {
    display: block !important;
    text-align: center !important;
  }

  .elementor-element-dd4090e .elementor-image-box-img img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ---------------------------------------------------------------------------
 * Emoji sizing.
 *
 * WordPress swaps emoji for <img class="emoji"> from s.w.org and normally ships
 * CSS pinning them to 1em. That CSS is absent from this theme's output, so they
 * rendered at natural SVG size — the rocket beside "Token is LIVE" was the
 * obvious casualty.
 *
 * polish.py replaces those <img> tags with real characters, which fixes it at
 * the source. This rule is a safety net for any that survive, or that come back
 * after a future re-mirror.
 * ------------------------------------------------------------------------ */
img.emoji,
img.wp-smiley {
  display: inline-block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
  padding: 0 !important;
}

/* Real emoji characters should track the surrounding text, never balloon. */
.elementor-widget-container h1,
.elementor-widget-container h2,
.elementor-widget-container h3 {
  overflow-wrap: break-word;
  max-width: 100%;
}

/* ---------------------------------------------------------------------------
 * Guard against oversized media generally — several uploads are far larger
 * than their display box.
 * ------------------------------------------------------------------------ */
.elementor-widget-container img,
.widget-image-caption + img,
figure img {
  max-width: 100%;
  height: auto;
}
