/* One affiliate button system (loads after 30-header-and-palette.css).
   Every primary "go to the shop" action looks the same: Evify green, 48 px
   touch target, ↗ to say it opens the shop in a new tab, clear focus ring.
   Selectors are repeated under .wp-block-post-content so they beat the
   prose-link rules (see the specificity note in 30-header-and-palette.css). */

.et-pick__buys a.et-buy--primary[rel~="sponsored"],
.et-band--deals a.et-buy--primary[rel~="sponsored"],
.et-compare a.et-buy--primary[rel~="sponsored"],
.wp-block-post-content .et-pick__buys a.et-buy--primary[rel~="sponsored"],
.wp-block-post-content .et-band--deals a.et-buy--primary[rel~="sponsored"],
.wp-block-post-content .et-compare a.et-buy--primary[rel~="sponsored"],
a.lb-sum__buy,
.wp-block-post-content a.lb-sum__buy,
a.lb-cta__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 48px;
  padding: 0.75rem 1.35rem !important;
  box-sizing: border-box;
  border-radius: 999px !important;
  background: var(--lb-live) !important;
  border: 1px solid var(--lb-live) !important;
  color: #06281C !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-decoration: none !important;
  box-shadow: 0 1px 0 rgb(6 40 28 / 12%), 0 6px 16px -8px rgb(2 186 123 / 55%);
  transition: background-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
  -webkit-tap-highlight-color: transparent;
}

/* ↗ = leaves the site, opens in a new tab. Empty alt text so screen
   readers don't announce the arrow. */
.et-pick__buys a.et-buy--primary[rel~="sponsored"]::after,
.et-band--deals a.et-buy--primary[rel~="sponsored"]::after,
.et-compare a.et-buy[rel~="sponsored"]::after,
a.lb-sum__buy::after,
a.lb-cta__btn::after {
  content: "↗";
  content: "↗" / "";
  font-weight: 700;
  font-size: 0.95em;
  line-height: 1;
}

.et-pick__buys a.et-buy--primary[rel~="sponsored"]:hover,
.et-band--deals a.et-buy--primary[rel~="sponsored"]:hover,
.et-compare a.et-buy--primary[rel~="sponsored"]:hover,
.wp-block-post-content .et-pick__buys a.et-buy--primary[rel~="sponsored"]:hover,
.wp-block-post-content .et-band--deals a.et-buy--primary[rel~="sponsored"]:hover,
a.lb-sum__buy:hover,
a.lb-cta__btn:hover {
  background: var(--lb-live-lift, #04D68D) !important;
  border-color: var(--lb-live-lift, #04D68D) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 0 rgb(6 40 28 / 12%), 0 10px 20px -10px rgb(2 186 123 / 70%);
}
.et-pick__buys a.et-buy--primary[rel~="sponsored"]:active,
.et-band--deals a.et-buy--primary[rel~="sponsored"]:active,
.et-compare a.et-buy--primary[rel~="sponsored"]:active,
a.lb-sum__buy:active,
a.lb-cta__btn:active {
  transform: translateY(1px);
  box-shadow: 0 0 0 rgb(0 0 0 / 0%);
}
.et-pick__buys a.et-buy:focus-visible,
.et-band--deals a.et-buy:focus-visible,
.et-compare a.et-buy:focus-visible,
a.lb-sum__buy:focus-visible,
a.lb-cta__btn:focus-visible,
a.smedja-aff:focus-visible {
  outline: 3px solid var(--lb-voltage, #241647) !important;
  outline-offset: 3px;
}
.lb-cta a.lb-cta__btn:focus-visible { outline-color: #fff !important; }

/* Comparison tables: green outline per row, so a 12-row table is not a wall
   of solid green; the winner's row keeps the solid primary above. */
.et-compare a.et-buy--ghost[rel~="sponsored"],
.wp-block-post-content .et-compare a.et-buy--ghost[rel~="sponsored"] {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 44px;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: transparent !important;
  border: 2px solid var(--lb-live) !important;
  color: var(--lb-live-deep, #017A51) !important;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none !important;
}
.et-compare a.et-buy--ghost[rel~="sponsored"]:hover,
.wp-block-post-content .et-compare a.et-buy--ghost[rel~="sponsored"]:hover {
  background: var(--lb-live) !important;
  color: #06281C !important;
}

/* Pick cards: the price is in the button, so the separate price line goes. */
.et-pick__buys:has(a.et-buy--primary[data-lb-price]) .et-price { display: none; }

/* The secondary action ("Läs hela recensionen") matches the height. */
.et-pick__buys a.et-buy--ghost:not([rel~="sponsored"]),
.wp-block-post-content .et-pick__buys a.et-buy--ghost:not([rel~="sponsored"]) {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 1rem;
}

/* Phones: full-width buttons, stacked. */
@media (max-width: 40rem) {
  .et-pick__buys { display: flex; flex-direction: column; align-items: stretch; gap: 0.6rem; }
  .et-pick__buys a.et-buy,
  .wp-block-post-content .et-pick__buys a.et-buy,
  .et-band--deals a.et-buy--primary[rel~="sponsored"],
  .wp-block-post-content .et-band--deals a.et-buy--primary[rel~="sponsored"] {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .et-pick__buys a.et-buy, .et-band--deals a.et-buy, .et-compare a.et-buy,
  a.lb-sum__buy, a.lb-cta__btn { transition: none; transform: none !important; }
}
