/*
Theme Name: Lady Luck TCG
Theme URI: https://ladylucktcg.co.uk/
Author: Lady Luck TCG
Description: Lightweight custom WooCommerce theme foundation for Lady Luck TCG.
Version: 0.5.1
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: lady-luck-tcg
*/

:root {
  --ll-bg-parchment: #f4e6cf;
  --ll-bg-parchment-deep: #ead4ad;
  --ll-black: #10100f;
  --ll-soft-black: #171411;
  --ll-burgundy: #730d18;
  --ll-oxblood: #43070c;
  --ll-gold: #c79742;
  --ll-gold-muted: #a87833;
  --ll-text: #181512;
  --ll-text-muted: #675545;
  --ll-border: #c8a36a;
  --ll-border-soft: rgba(200, 163, 106, 0.42);
  --ll-cream: #fff7e8;
  --ll-container: 1440px;
  --ll-radius-small: 3px;
  --ll-radius-medium: 6px;
  --ll-shadow-subtle: 0 8px 24px rgba(16, 16, 15, 0.12);
  --ll-header-height: 156px;
  --ll-spacing-1: 0.25rem;
  --ll-spacing-2: 0.5rem;
  --ll-spacing-3: 0.75rem;
  --ll-spacing-4: 1rem;
  --ll-spacing-5: 1.5rem;
  --ll-spacing-6: 2rem;
  --ll-spacing-7: 3rem;
  --ll-spacing-8: 4rem;
  --ll-font-display: Georgia, "Times New Roman", serif;
  --ll-font-body: Arial, Helvetica, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--ll-bg-parchment);
  color: var(--ll-text);
  font-family: var(--ll-font-body);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

a {
  color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--ll-gold);
  outline-offset: 3px;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ll-container {
  width: min(100% - clamp(1.25rem, 4vw, 4rem), var(--ll-container));
  margin-inline: auto;
}

.ll-top-strip {
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  border-bottom: 1px solid rgba(199, 151, 66, 0.5);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ll-top-strip__inner {
  min-height: 34px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--ll-spacing-4);
  align-items: center;
}

.ll-top-strip__center {
  color: var(--ll-gold);
}

.ll-top-strip__right {
  justify-self: end;
}

.ll-site-header {
  position: relative;
  background: var(--ll-bg-parchment);
  border-bottom: 1px solid var(--ll-border-soft);
}

.ll-header-main {
  min-height: var(--ll-header-height);
  display: grid;
  grid-template-columns: 1fr minmax(180px, 340px) 1fr;
  gap: var(--ll-spacing-6);
  align-items: center;
}

.ll-search-link,
.ll-account-link,
.ll-cart-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 0.55rem;
  color: var(--ll-black);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.ll-header-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--ll-spacing-5);
}

.ll-logo-link {
  justify-self: center;
  position: relative;
  z-index: 3;
}

.ll-logo {
  width: min(300px, 40vw);
  margin-inline: auto;
}

.ll-nav {
  border-top: 1px solid var(--ll-border-soft);
  border-bottom: 1px solid var(--ll-border-soft);
}

.ll-nav__inner {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr 310px 1fr;
  align-items: center;
  gap: var(--ll-spacing-6);
}

.ll-menu {
  display: flex;
  gap: clamp(1rem, 3vw, 3.5rem);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.92rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ll-menu a {
  text-decoration: none;
}

.ll-menu--right {
  justify-content: flex-end;
}

.ll-nav__logo-space {
  min-height: 1px;
}

.ll-main {
  min-height: 52vh;
}

.ll-foundation-hero {
  background:
    radial-gradient(circle at 72% 34%, rgba(115, 13, 24, 0.32), transparent 38%),
    linear-gradient(90deg, var(--ll-black), var(--ll-soft-black));
  color: var(--ll-cream);
  border-bottom: 1px solid var(--ll-border);
}

.ll-foundation-hero__inner {
  min-height: clamp(360px, 42vw, 560px);
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: var(--ll-spacing-7);
  align-items: center;
}

.ll-kicker {
  color: var(--ll-gold);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ll-display-title {
  margin: 0.7rem 0 1rem;
  font-family: var(--ll-font-display);
  font-size: clamp(2.7rem, 5vw, 5.5rem);
  line-height: 0.94;
  text-transform: uppercase;
}

.ll-display-title span {
  color: var(--ll-burgundy);
}

.ll-copy {
  max-width: 40rem;
  color: rgba(255, 247, 232, 0.88);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
}

.ll-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: var(--ll-spacing-4);
  padding: 0.8rem 1.8rem;
  border: 2px solid var(--ll-gold);
  border-radius: var(--ll-radius-small);
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  font-family: var(--ll-font-display);
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}

.ll-visual-placeholder {
  min-height: clamp(260px, 32vw, 430px);
  border: 1px solid rgba(199, 151, 66, 0.55);
  border-radius: var(--ll-radius-medium);
  background:
    linear-gradient(135deg, rgba(199, 151, 66, 0.16), transparent 40%),
    rgba(255, 247, 232, 0.04);
  display: grid;
  place-items: center;
  text-align: center;
  color: rgba(255, 247, 232, 0.72);
}

.ll-band {
  padding-block: var(--ll-spacing-7);
}

.ll-section-title {
  margin: 0 0 var(--ll-spacing-5);
  font-family: var(--ll-font-display);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  text-align: center;
  text-transform: uppercase;
}

.ll-grid-foundation {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--ll-spacing-5);
}

.ll-card-placeholder {
  aspect-ratio: 4 / 5;
  border: 1px solid var(--ll-border-soft);
  border-radius: var(--ll-radius-medium);
  background: rgba(255, 247, 232, 0.42);
  box-shadow: var(--ll-shadow-subtle);
}

.ll-newsletter-foundation {
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  border-block: 1px solid var(--ll-gold);
}

.ll-newsletter-foundation__inner {
  min-height: 112px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ll-spacing-6);
  align-items: center;
}

.ll-site-footer {
  background: var(--ll-black);
  color: var(--ll-cream);
  padding-block: var(--ll-spacing-7);
}

.ll-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: var(--ll-spacing-6);
}

.ll-footer-grid h2,
.ll-footer-grid h3 {
  margin-top: 0;
  color: var(--ll-gold);
  font-family: var(--ll-font-display);
  text-transform: uppercase;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  border-radius: var(--ll-radius-small);
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  font-weight: 800;
  text-transform: uppercase;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
  background: var(--ll-oxblood);
  color: var(--ll-cream);
}

@media (max-width: 1180px) {
  .ll-nav__inner {
    grid-template-columns: 1fr;
  }

  .ll-nav__logo-space {
    display: none;
  }

  .ll-menu,
  .ll-menu--right {
    justify-content: center;
    flex-wrap: wrap;
  }

  .ll-grid-foundation {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  :root {
    --ll-header-height: 112px;
  }

  .ll-top-strip__inner,
  .ll-header-main,
  .ll-foundation-hero__inner,
  .ll-newsletter-foundation__inner,
  .ll-footer-grid {
    grid-template-columns: 1fr;
  }

  .ll-top-strip__inner,
  .ll-header-main {
    text-align: center;
  }

  .ll-top-strip__right,
  .ll-header-actions {
    justify-self: center;
    justify-content: center;
  }

  .ll-logo {
    width: min(220px, 70vw);
  }

  .ll-foundation-hero__inner {
    padding-block: var(--ll-spacing-7);
  }

  .ll-grid-foundation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  .ll-grid-foundation {
    grid-template-columns: 1fr;
  }

  .ll-header-actions {
    gap: var(--ll-spacing-3);
  }
}

/* Task 0 visual correction: faithful top-to-bottom homepage foundation. */
body.home {
  background:
    radial-gradient(circle at 20% 8%, rgba(199, 151, 66, 0.08), transparent 20rem),
    linear-gradient(180deg, #f7ead5 0%, var(--ll-bg-parchment) 100%);
}

.ll-top-strip {
  font-size: 0.78rem;
}

.ll-top-strip__inner {
  min-height: 36px;
}

.ll-top-strip__item,
.ll-top-strip__center,
.ll-top-social {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.ll-top-strip__center {
  justify-content: center;
}

.ll-top-social {
  justify-self: end;
  color: var(--ll-gold);
  font-family: var(--ll-font-display);
  font-size: 1rem;
  font-weight: 900;
}

.ll-site-header {
  z-index: 5;
}

.ll-header-main {
  min-height: 150px;
  position: relative;
}

.ll-header-main::after,
.ll-header-main::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: calc(50% - 230px);
  border-bottom: 1px solid var(--ll-border);
}

.ll-header-main::before {
  left: 0;
}

.ll-header-main::after {
  right: 0;
}

.ll-logo-link {
  margin-bottom: -82px;
  filter: drop-shadow(0 10px 12px rgba(16, 16, 15, 0.34));
}

.ll-logo {
  width: clamp(260px, 31vw, 420px);
}

.ll-icon {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 25px;
}

.ll-icon--search {
  border: 3px solid var(--ll-black);
  border-radius: 50%;
  transform: scale(0.68);
}

.ll-icon--search::after {
  content: "";
  position: absolute;
  right: -9px;
  bottom: -7px;
  width: 12px;
  height: 3px;
  background: var(--ll-black);
  transform: rotate(45deg);
}

.ll-icon--account::before,
.ll-icon--account::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border: 3px solid var(--ll-black);
}

.ll-icon--account::before {
  top: 1px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
}

.ll-icon--account::after {
  bottom: 0;
  width: 22px;
  height: 13px;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  border-bottom: 0;
}

.ll-icon--basket {
  width: 25px;
  height: 22px;
  margin-top: 5px;
  background: var(--ll-black);
  border-radius: 2px;
}

.ll-icon--basket::before {
  content: "";
  position: absolute;
  left: 7px;
  top: -8px;
  width: 11px;
  height: 9px;
  border: 3px solid var(--ll-black);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
}

.ll-nav {
  position: relative;
  background: rgba(244, 230, 207, 0.94);
  z-index: 2;
}

.ll-nav__inner {
  min-height: 82px;
  grid-template-columns: minmax(0, 1fr) clamp(280px, 30vw, 420px) minmax(0, 1fr);
}

.ll-menu {
  min-height: 82px;
}

.ll-menu a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-size: clamp(0.78rem, 0.9vw, 0.94rem);
  letter-spacing: 0;
}

.ll-main {
  background: var(--ll-bg-parchment);
}

.ll-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 48%, rgba(115, 13, 24, 0.5), transparent 28rem),
    radial-gradient(circle at 58% 12%, rgba(199, 151, 66, 0.16), transparent 18rem),
    linear-gradient(90deg, #0d0d0c 0%, #12100f 45%, #241011 100%);
  color: var(--ll-cream);
  border-bottom: 1px solid var(--ll-border);
}

.ll-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(100deg, rgba(199, 151, 66, 0.12) 0 1px, transparent 1px 58px);
  opacity: 0.38;
  pointer-events: none;
}

.ll-hero__inner {
  position: relative;
  min-height: clamp(500px, 43vw, 645px);
  display: grid;
  grid-template-columns: 0.39fr 0.61fr;
  gap: clamp(1rem, 3vw, 4rem);
  align-items: center;
}

.ll-hero__copy {
  position: relative;
  z-index: 2;
  padding-top: clamp(2.5rem, 6vw, 5.5rem);
}

.ll-kicker {
  margin: 0 0 0.8rem;
  color: var(--ll-gold);
  font-size: clamp(0.82rem, 1vw, 1rem);
  font-weight: 900;
}

.ll-ornament {
  width: min(100%, 380px);
  height: 20px;
  margin-bottom: 1.4rem;
  background:
    linear-gradient(90deg, var(--ll-gold), transparent 46%, transparent 54%, var(--ll-gold)) center / 100% 1px no-repeat;
  position: relative;
}

.ll-ornament::before {
  content: "✦";
  position: absolute;
  left: 50%;
  top: -11px;
  color: var(--ll-gold);
  font-size: 1.1rem;
  transform: translateX(-50%);
}

.ll-display-title {
  max-width: 560px;
  margin: 0 0 1.4rem;
  font-size: clamp(3.1rem, 5.3vw, 6.15rem);
  line-height: 0.9;
  letter-spacing: 0;
}

.ll-display-title span {
  display: block;
}

.ll-display-title__cream {
  color: var(--ll-cream);
}

.ll-display-title__red {
  color: #8d111d;
}

body.home .ll-display-title .ll-display-title__cream {
  color: var(--ll-cream);
}

body.home .ll-display-title .ll-display-title__red {
  color: #8d111d;
}

.ll-copy {
  max-width: 420px;
  font-size: clamp(1.05rem, 1.35vw, 1.45rem);
  line-height: 1.5;
}

.ll-button {
  min-width: 220px;
  min-height: 66px;
  gap: 0.85rem;
  padding: 1rem 2.4rem;
  border: 2px solid var(--ll-gold);
  box-shadow: inset 0 0 0 2px rgba(255, 247, 232, 0.12), 0 8px 18px rgba(0, 0, 0, 0.24);
  font-size: 1.25rem;
}

.ll-hero-art {
  position: relative;
  min-height: clamp(420px, 39vw, 575px);
  z-index: 1;
}

.ll-rays {
  position: absolute;
  inset: 2% 0 18% 12%;
  opacity: 0.62;
  background:
    conic-gradient(from 250deg at 54% 70%, transparent 0 5deg, rgba(199, 151, 66, 0.26) 5deg 7deg, transparent 7deg 15deg);
  mask-image: radial-gradient(ellipse at center, #000 0 58%, transparent 78%);
}

.ll-card-stack {
  position: absolute;
  inset: 11% 2% 9% 5%;
}

.ll-tcg-card {
  position: absolute;
  bottom: 10%;
  left: 30%;
  width: clamp(145px, 14vw, 220px);
  aspect-ratio: 0.68;
  border: 5px solid #1b1411;
  border-radius: 13px;
  box-shadow: 0 20px 34px rgba(0, 0, 0, 0.56);
  display: grid;
  place-items: center;
  overflow: hidden;
  font-family: var(--ll-font-display);
  font-size: 2rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ll-tcg-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px solid rgba(199, 151, 66, 0.75);
  border-radius: 8px;
}

.ll-tcg-card::after {
  content: "✦";
  position: absolute;
  color: rgba(255, 247, 232, 0.4);
  font-size: 4rem;
}

.ll-tcg-card span {
  position: relative;
  z-index: 1;
}

.ll-tcg-card--blue {
  left: 14%;
  bottom: 17%;
  transform: rotate(-14deg);
  background: linear-gradient(145deg, #172538, #385a79);
  color: #eac55f;
}

.ll-tcg-card--gold {
  left: 36%;
  bottom: 20%;
  transform: rotate(3deg);
  background: linear-gradient(145deg, #1b1b1e, #58431e);
  color: #f2d384;
}

.ll-tcg-card--red {
  left: 60%;
  bottom: 12%;
  transform: rotate(14deg);
  background: linear-gradient(145deg, #2b080c, #7d1521);
  color: #fff0cf;
}

.ll-rose {
  position: absolute;
  width: 138px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #32100c 0 9%, transparent 10%),
    radial-gradient(ellipse at 48% 18%, #d05132 0 16%, #77121a 17% 34%, transparent 35%),
    radial-gradient(ellipse at 80% 48%, #c23d28 0 17%, #650d14 18% 36%, transparent 37%),
    radial-gradient(ellipse at 50% 84%, #b73525 0 18%, #5d0b12 19% 38%, transparent 39%),
    radial-gradient(ellipse at 18% 48%, #cf4930 0 17%, #6f1018 18% 36%, transparent 37%),
    radial-gradient(circle at 50% 50%, #8e121a 0 36%, #27080a 37% 42%, transparent 43%);
  filter: drop-shadow(0 12px 12px rgba(0, 0, 0, 0.35));
}

.ll-rose::before,
.ll-rose::after {
  content: "";
  position: absolute;
  width: 96px;
  height: 42px;
  background: linear-gradient(90deg, #182717, #3e512b);
  border: 3px solid #090b08;
  border-radius: 100% 0 100% 0;
  z-index: -1;
}

.ll-rose::before {
  left: -52px;
  top: 62px;
  transform: rotate(28deg);
}

.ll-rose::after {
  right: -52px;
  top: 54px;
  transform: rotate(145deg);
}

.ll-rose--hero-left {
  left: 22%;
  bottom: 0;
}

.ll-rose--hero-right {
  right: 11%;
  bottom: 1%;
  width: 160px;
}

.ll-sparkles::before,
.ll-sparkles::after {
  content: "✦ ✧ ✦ ✧";
  position: absolute;
  color: var(--ll-gold);
  font-size: clamp(1.3rem, 2vw, 2rem);
  letter-spacing: 0.65rem;
}

.ll-sparkles::before {
  right: 2%;
  top: 14%;
  transform: rotate(-12deg);
}

.ll-sparkles::after {
  left: 2%;
  top: 8%;
  color: #0b0b0a;
}

.ll-trust-strip {
  background: #f8ecd8;
  border-bottom: 1px solid var(--ll-border);
}

.ll-trust-grid {
  min-height: 128px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
}

.ll-trust-item {
  min-height: 78px;
  display: grid;
  grid-template-columns: 58px 1fr;
  column-gap: 1rem;
  align-items: center;
  padding: 0.6rem 1.6rem;
  border-right: 1px solid var(--ll-border-soft);
}

.ll-trust-item:last-child {
  border-right: 0;
}

.ll-trust-item strong,
.ll-trust-item span:not(.ll-trust-icon) {
  grid-column: 2;
}

.ll-trust-item strong {
  align-self: end;
  font-size: 0.88rem;
  text-transform: uppercase;
}

.ll-trust-item span:not(.ll-trust-icon) {
  align-self: start;
  color: var(--ll-text-muted);
  font-size: 0.78rem;
}

.ll-trust-icon {
  grid-row: 1 / span 2;
  position: relative;
  width: 48px;
  height: 42px;
  color: var(--ll-black);
}

.ll-trust-icon::before,
.ll-trust-icon::after {
  content: "";
  position: absolute;
  border: 3px solid currentColor;
}

.ll-trust-icon--truck::before {
  left: 2px;
  top: 12px;
  width: 30px;
  height: 18px;
}

.ll-trust-icon--truck::after {
  right: 1px;
  top: 17px;
  width: 17px;
  height: 13px;
  border-left: 0;
}

.ll-trust-icon--seal::before {
  inset: 4px;
  border-radius: 50%;
  transform: rotate(45deg);
}

.ll-trust-icon--seal::after {
  left: 18px;
  top: 13px;
  width: 10px;
  height: 16px;
  border-top: 0;
  border-left: 0;
  transform: rotate(40deg);
}

.ll-trust-icon--lock::before {
  left: 10px;
  bottom: 3px;
  width: 29px;
  height: 24px;
  border-radius: 3px;
}

.ll-trust-icon--lock::after {
  left: 17px;
  top: 1px;
  width: 15px;
  height: 18px;
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
}

.ll-trust-icon--star::before {
  inset: 2px;
  border: 0;
  background: currentColor;
  clip-path: polygon(50% 0, 61% 36%, 100% 36%, 68% 58%, 80% 100%, 50% 73%, 20% 100%, 32% 58%, 0 36%, 39% 36%);
}

.ll-categories {
  padding-top: 2.2rem;
  padding-bottom: 1.7rem;
}

.ll-section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: var(--ll-black);
  font-size: clamp(2rem, 3vw, 3rem);
}

.ll-section-title span {
  color: var(--ll-gold);
  font-size: 1.2rem;
}

.ll-category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(1rem, 1.7vw, 1.6rem);
}

.ll-category-card {
  overflow: hidden;
  border: 1px solid rgba(111, 72, 36, 0.45);
  border-radius: 6px;
  background: #f7ead5;
  box-shadow: 0 8px 16px rgba(55, 32, 18, 0.14);
  text-decoration: none;
}

.ll-category-card__art {
  position: relative;
  display: block;
  aspect-ratio: 1 / 0.95;
  background:
    radial-gradient(circle at 50% 42%, rgba(199, 151, 66, 0.28), transparent 36%),
    linear-gradient(135deg, rgba(16,16,15,0.14), transparent 45%),
    #ead4ad;
}

.ll-category-card__art::before {
  content: "";
  position: absolute;
  inset: 18%;
  border: 4px solid var(--ll-black);
  border-radius: 8px;
  transform: rotate(-6deg);
  background:
    linear-gradient(135deg, rgba(115, 13, 24, 0.55), transparent 54%),
    rgba(255, 247, 232, 0.32);
}

.ll-category-card__art::after {
  content: attr(data-label);
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 12%;
  color: rgba(24, 21, 18, 0.58);
  font-size: 0.68rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}

.ll-category-card--magic .ll-category-card__art::before {
  clip-path: polygon(50% 0, 61% 55%, 94% 20%, 70% 90%, 30% 90%, 6% 20%, 39% 55%);
  border-radius: 0;
  background: var(--ll-black);
}

.ll-category-card--accessories .ll-category-card__art::before {
  transform: rotate(0);
  border-radius: 4px;
  box-shadow: 34px 28px 0 -8px #2a231c;
}

.ll-category-card__title {
  display: grid;
  min-height: 50px;
  place-items: center;
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  border-top: 2px solid var(--ll-gold);
  font-family: var(--ll-font-display);
  font-size: clamp(1rem, 1.35vw, 1.35rem);
  font-weight: 900;
  text-transform: uppercase;
}

.ll-new-arrivals {
  padding-top: 0.6rem;
}

.ll-section-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-bottom: 1.4rem;
}

.ll-section-row > span {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ll-border));
}

.ll-section-row > a {
  justify-self: end;
  color: var(--ll-oxblood);
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.ll-section-title--arrows::before,
.ll-section-title--arrows::after {
  content: "←";
  color: var(--ll-gold-muted);
  font-size: 1.4rem;
}

.ll-section-title--arrows::after {
  content: "→";
}

.ll-product-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(1rem, 1.55vw, 1.5rem);
}

.ll-product-card {
  position: relative;
  min-height: 365px;
  padding: 1rem 1rem 1.15rem;
  border: 1px solid rgba(111, 72, 36, 0.24);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.56);
  box-shadow: 0 5px 12px rgba(55, 32, 18, 0.12);
  display: flex;
  flex-direction: column;
  text-align: center;
}

.ll-product-card__badge {
  position: absolute;
  left: -1px;
  top: -1px;
  padding: 0.35rem 0.9rem;
  background: var(--ll-gold);
  color: var(--ll-black);
  border-radius: 8px 0 8px 0;
  font-size: 0.78rem;
  font-weight: 900;
}

.ll-product-card__image {
  height: 150px;
  margin-bottom: 1rem;
  display: grid;
  place-items: end center;
  background: radial-gradient(circle at 50% 70%, rgba(199,151,66,0.18), transparent 56%);
}

.ll-product-card__image span {
  width: 116px;
  height: 132px;
  border: 4px solid #271c16;
  border-radius: 9px;
  background:
    linear-gradient(145deg, rgba(199,151,66,0.42), transparent 45%),
    linear-gradient(45deg, #f7ead5, #caa86d);
  transform: rotate(-7deg);
  box-shadow: 24px 16px 0 -8px var(--ll-burgundy);
}

.ll-product-card h3 {
  min-height: 54px;
  margin: 0 0 0.6rem;
  font-size: 0.88rem;
  line-height: 1.3;
}

.ll-product-card p {
  margin: auto 0 0.8rem;
  font-size: 1rem;
  font-weight: 900;
}

.ll-product-card button,
.ll-newsletter__form button {
  min-height: 38px;
  border: 0;
  border-radius: 4px;
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ll-newsletter {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 0 50%, rgba(199,151,66,0.15), transparent 14rem),
    radial-gradient(circle at 100% 50%, rgba(199,151,66,0.15), transparent 14rem),
    var(--ll-burgundy);
  color: var(--ll-cream);
  border-top: 2px solid var(--ll-gold);
  border-bottom: 2px solid var(--ll-gold);
}

.ll-newsletter__inner {
  min-height: 120px;
  display: grid;
  grid-template-columns: 86px minmax(260px, 0.9fr) 1px minmax(320px, 1fr);
  gap: clamp(1rem, 2vw, 2.4rem);
  align-items: center;
}

.ll-envelope {
  position: relative;
  width: 66px;
  height: 46px;
  border: 4px solid var(--ll-gold);
  border-radius: 4px;
}

.ll-envelope::before,
.ll-envelope::after {
  content: "";
  position: absolute;
  top: 2px;
  width: 42px;
  height: 32px;
  border-bottom: 4px solid var(--ll-gold);
}

.ll-envelope::before {
  left: 1px;
  transform: rotate(33deg);
}

.ll-envelope::after {
  right: 1px;
  transform: rotate(-33deg);
}

.ll-newsletter h2 {
  margin: 0;
  color: var(--ll-cream);
  font-family: var(--ll-font-display);
  font-size: clamp(1.5rem, 2vw, 2.05rem);
  text-transform: uppercase;
}

.ll-newsletter p {
  margin: 0.2rem 0 0;
  max-width: 420px;
  font-size: 0.82rem;
}

.ll-newsletter__divider {
  width: 1px;
  height: 66px;
  background: rgba(199,151,66,0.58);
}

.ll-newsletter__form {
  display: grid;
  grid-template-columns: 1fr 170px;
  border: 1px solid rgba(199,151,66,0.52);
  border-radius: 5px;
  overflow: hidden;
}

.ll-newsletter__form input {
  min-height: 52px;
  border: 0;
  background: rgba(67, 7, 12, 0.45);
  color: var(--ll-cream);
  padding-inline: 1.2rem;
}

.ll-newsletter__form input::placeholder {
  color: rgba(255,247,232,0.72);
}

.ll-newsletter__form button {
  min-height: 52px;
  background: var(--ll-gold);
  color: var(--ll-black);
  font-family: var(--ll-font-display);
  font-size: 1rem;
}

.ll-rose--newsletter-left {
  left: -25px;
  top: 14px;
  width: 120px;
}

.ll-rose--newsletter-right {
  right: -16px;
  top: 18px;
  width: 120px;
}

.ll-site-footer {
  position: relative;
  overflow: hidden;
  padding-top: 3.2rem;
  padding-bottom: 1.15rem;
  background:
    radial-gradient(circle at 5% 0, rgba(115,13,24,0.35), transparent 14rem),
    radial-gradient(circle at 96% 0, rgba(115,13,24,0.28), transparent 14rem),
    var(--ll-black);
}

.ll-footer-grid {
  grid-template-columns: 1.25fr repeat(5, minmax(0, 1fr));
  gap: clamp(1.2rem, 3vw, 3.5rem);
  align-items: start;
}

.ll-footer-brand h2 {
  margin: 0.5rem 0 0;
  color: var(--ll-gold);
  font-size: clamp(1.8rem, 2.5vw, 2.45rem);
  line-height: 0.92;
}

.ll-footer-brand h2 span {
  display: block;
  color: var(--ll-cream);
  font-size: 0.72em;
  text-align: center;
}

.ll-footer-crest {
  position: relative;
  width: 74px;
  height: 74px;
  margin-left: 0.6rem;
}

.ll-footer-crest::before {
  content: "";
  position: absolute;
  inset: 8px 15px 14px;
  background: var(--ll-burgundy);
  border: 3px solid var(--ll-gold);
  transform: rotate(45deg);
  border-radius: 18px 18px 5px 18px;
}

.ll-footer-crest span::before {
  content: "";
  position: absolute;
  left: 32px;
  top: 30px;
  width: 12px;
  height: 22px;
  background: var(--ll-black);
  border-radius: 10px 10px 2px 2px;
  z-index: 1;
}

.ll-footer-grid h3 {
  margin-bottom: 0.85rem;
  font-family: var(--ll-font-body);
  font-size: 0.82rem;
  letter-spacing: 0;
}

.ll-footer-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ll-footer-grid li {
  margin-bottom: 0.35rem;
}

.ll-footer-grid a {
  color: rgba(255,247,232,0.78);
  font-size: 0.82rem;
  text-decoration: none;
}

.ll-footer-social div {
  display: flex;
  gap: 0.8rem;
  color: var(--ll-cream);
  font-family: var(--ll-font-display);
  font-size: 1.35rem;
  font-weight: 900;
}

.ll-copyright {
  margin: 1.8rem 0 0;
  color: rgba(255,247,232,0.78);
  font-size: 0.78rem;
  text-align: center;
}

@media (max-width: 1180px) {
  .ll-header-main::before,
  .ll-header-main::after {
    display: none;
  }

  .ll-hero__inner {
    grid-template-columns: 0.45fr 0.55fr;
  }

  .ll-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ll-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ll-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ll-top-strip__inner,
  .ll-header-main,
  .ll-nav__inner,
  .ll-hero__inner,
  .ll-newsletter__inner {
    grid-template-columns: 1fr;
  }

  .ll-top-strip__item,
  .ll-top-strip__center,
  .ll-top-social,
  .ll-header-actions {
    justify-content: center;
    justify-self: center;
  }

  .ll-logo-link {
    margin-bottom: -34px;
  }

  .ll-nav__inner {
    gap: 0;
  }

  .ll-menu {
    min-height: auto;
  }

  .ll-hero__inner {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }

  .ll-hero__copy {
    padding-top: 1rem;
    text-align: center;
  }

  .ll-ornament {
    margin-inline: auto;
  }

  .ll-copy {
    margin-inline: auto;
  }

  .ll-trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ll-trust-item:nth-child(2n) {
    border-right: 0;
  }

  .ll-category-grid,
  .ll-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ll-section-row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    text-align: center;
  }

  .ll-section-row > span {
    display: none;
  }

  .ll-section-row > a {
    justify-self: center;
  }

  .ll-newsletter__divider {
    display: none;
  }

  .ll-envelope,
  .ll-newsletter__copy {
    justify-self: center;
    text-align: center;
  }

  .ll-newsletter__form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .ll-display-title {
    font-size: clamp(2.65rem, 14vw, 4rem);
  }

  .ll-hero-art {
    min-height: 360px;
  }

  .ll-tcg-card {
    width: 132px;
  }

  .ll-trust-grid,
  .ll-footer-grid {
    grid-template-columns: 1fr;
  }

  .ll-trust-item {
    border-right: 0;
    border-bottom: 1px solid var(--ll-border-soft);
  }

  .ll-newsletter {
    padding-block: 1rem;
  }
}

@media (max-width: 330px) {
  .ll-category-grid,
  .ll-product-grid {
    grid-template-columns: 1fr;
  }
}

/* Task 0 0.2.6 final reference-fidelity correction. */
body.home {
  overflow-x: hidden;
}

body.home.admin-bar .ll-site-header {
  margin-top: 0;
}

.ll-header-main {
  min-height: 118px;
  grid-template-columns: minmax(180px, 1fr) minmax(240px, 340px) minmax(180px, 1fr);
}

.ll-logo-link {
  margin-bottom: -58px;
}

.ll-logo {
  width: clamp(245px, 24vw, 342px);
}

.ll-nav {
  overflow: visible;
}

.ll-nav__inner {
  min-height: 64px;
  grid-template-columns: minmax(0, 1fr) clamp(245px, 24vw, 342px) minmax(0, 1fr);
  gap: clamp(1.25rem, 2vw, 2.5rem);
}

.ll-menu {
  min-height: 64px;
  gap: clamp(1.35rem, 3.2vw, 4.2rem);
}

.ll-menu a {
  white-space: nowrap;
}

.ll-hero {
  min-height: 0;
}

.ll-hero::before {
  left: 46%;
  background: repeating-linear-gradient(100deg, rgba(199, 151, 66, 0.16) 0 1px, transparent 1px 58px);
  opacity: 0.34;
}

.ll-hero__inner {
  max-width: 1320px;
  min-height: clamp(395px, 37vw, 505px);
  grid-template-columns: minmax(330px, 0.38fr) minmax(560px, 0.62fr);
  gap: clamp(0.5rem, 1.8vw, 2rem);
}

.ll-hero__copy {
  align-self: center;
  padding-top: clamp(1.5rem, 3vw, 3rem);
  padding-bottom: clamp(1.2rem, 2.2vw, 2rem);
}

.ll-reference-rule {
  width: min(100%, 330px);
  height: 22px;
  margin: 0.55rem 0 1.05rem;
  background: linear-gradient(90deg, var(--ll-gold), transparent 44%, transparent 56%, var(--ll-gold)) center / 100% 1px no-repeat;
}

.ll-reference-rule span {
  display: grid;
  place-items: center;
  color: var(--ll-gold);
  font-size: 1rem;
}

.ll-display-title {
  max-width: 470px;
  margin-bottom: 1rem;
  font-size: clamp(2.72rem, 4.35vw, 4.85rem);
  line-height: 0.92;
}

.ll-copy {
  max-width: 385px;
  margin-bottom: 0.65rem;
  font-size: clamp(1rem, 1.2vw, 1.22rem);
}

.ll-button {
  min-width: 190px;
  min-height: 56px;
  padding: 0.82rem 1.9rem;
  font-size: 1.05rem;
}

.ll-hero-art {
  min-height: clamp(370px, 35vw, 488px);
  align-self: stretch;
  background-image: url("assets/img/ll-style-extracted-hero-composition.png?v=2");
  background-repeat: no-repeat;
  background-size: min(116%, 900px) auto;
  background-position: right 48% bottom -18px;
}

.ll-hero-art .ll-rays,
.ll-hero-art .ll-card-stack,
.ll-hero-art .ll-hero-rose-crop,
.ll-hero-art .ll-sparkles {
  display: none;
}

.ll-trust-grid {
  min-height: 96px;
}

.ll-trust-item {
  min-height: 68px;
  padding: 0.45rem 1.25rem;
}

.ll-band {
  padding-block: 1.8rem;
}

.ll-categories {
  padding-top: 1.45rem;
  padding-bottom: 1.1rem;
}

.ll-section-title {
  margin-bottom: 1.15rem;
  gap: 0.85rem;
  font-size: clamp(1.55rem, 2.25vw, 2.25rem);
}

.ll-section-title span {
  font-size: 0.98rem;
}

.ll-category-grid {
  gap: clamp(0.8rem, 1.35vw, 1.25rem);
}

.ll-category-card__art {
  aspect-ratio: 1 / 0.94;
  background-position: center;
  background-size: cover;
}

.ll-category-card__art::before,
.ll-category-card__art::after {
  display: none;
}

.ll-category-card--pokemon .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-pokemon.jpg");
}

.ll-category-card--lorcana .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-lorcana.jpg");
}

.ll-category-card--one-piece .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-one-piece.jpg");
}

.ll-category-card--magic .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-magic.jpg");
}

.ll-category-card--yugioh .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-yugioh.jpg");
}

.ll-category-card--accessories .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-accessories.jpg");
}

.ll-category-card__title {
  min-height: 43px;
  font-size: clamp(0.9rem, 1.1vw, 1.15rem);
}

.ll-new-arrivals {
  padding-top: 0.35rem;
  padding-bottom: 2rem;
}

.ll-section-row {
  margin-bottom: 1rem;
}

.ll-section-title--arrows::before,
.ll-section-title--arrows::after {
  font-size: 1.05rem;
}

.ll-product-grid {
  gap: clamp(0.9rem, 1.25vw, 1.2rem);
}

.ll-product-card {
  min-height: 318px;
  padding: 0.85rem 0.9rem 1rem;
}

.ll-product-card--empty {
  justify-content: flex-start;
}

.ll-product-card__image {
  height: 148px;
  margin-bottom: 0;
}

.ll-product-card .ll-product-card__image img {
  width: 100%;
  height: 150px;
  object-fit: contain;
}

.ll-product-card h3 a {
  color: inherit;
  text-decoration: none;
}

.ll-product-card .button,
.ll-product-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border-radius: 4px;
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.ll-product-card__blank {
  flex: 1;
  min-height: 112px;
  border-radius: 5px;
}

.ll-product-card--empty .ll-product-card__blank::before,
.ll-product-card--empty .ll-product-card__blank::after {
  content: "";
  display: block;
  width: 78%;
  height: 10px;
  margin: 0.75rem auto 0;
  border-radius: 999px;
  background: rgba(199, 151, 66, 0.16);
}

.ll-product-card--empty .ll-product-card__blank::after {
  width: 48%;
  margin-top: 1.4rem;
  background: rgba(115, 13, 24, 0.14);
}

.ll-newsletter {
  min-height: 98px;
}

.ll-newsletter__inner {
  position: relative;
  z-index: 1;
  min-height: 98px;
  grid-template-columns: 74px minmax(250px, 0.86fr) 1px minmax(330px, 0.9fr);
  gap: clamp(1rem, 1.8vw, 2rem);
  width: min(100% - 18rem, 1040px);
}

.ll-newsletter-rose {
  position: absolute;
  top: auto;
  bottom: 0;
  z-index: 0;
  width: clamp(190px, 22vw, 290px);
  height: 112px;
  opacity: 0.92;
  background-repeat: no-repeat;
  background-size: contain;
  filter: saturate(1.08) contrast(1.04) drop-shadow(0 8px 8px rgba(0, 0, 0, 0.28));
  pointer-events: none;
}

.ll-newsletter-rose--left {
  left: 0;
  background-image: url("assets/img/ll-style-extracted-newsletter-left.png?v=2");
  background-position: left bottom;
}

.ll-newsletter-rose--right {
  right: 0;
  background-image: url("assets/img/ll-style-extracted-newsletter-right.png?v=2");
  background-position: right bottom;
}

.ll-envelope {
  width: 64px;
  height: 54px;
  border: 0;
  border-radius: 0;
  background: url("assets/img/ll-clean-envelope.png?v=1") center / contain no-repeat;
}

.ll-envelope::before,
.ll-envelope::after {
  display: none;
}

.ll-newsletter h2 {
  font-size: clamp(1.25rem, 1.65vw, 1.65rem);
}

.ll-newsletter p {
  font-size: 0.76rem;
}

.ll-newsletter__divider {
  height: 56px;
}

.ll-newsletter__form input,
.ll-newsletter__form button {
  min-height: 46px;
}

.ll-site-footer {
  padding-top: 2.4rem;
  padding-bottom: 1rem;
}

.ll-footer-roses::before {
  background-image: url("assets/img/ll-style-extracted-newsletter-left.png?v=2");
}

.ll-footer-roses::after {
  background-image: url("assets/img/ll-style-extracted-newsletter-right.png?v=2");
}

.ll-footer-grid {
  grid-template-columns: 1.25fr repeat(5, minmax(0, 1fr));
  gap: clamp(1.4rem, 3.2vw, 4rem);
}

.ll-footer-logo {
  width: 128px;
  margin: -0.35rem auto 0;
  filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.45));
}

.ll-footer-brand {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.ll-footer-grid h3 {
  margin-bottom: 0.6rem;
  font-size: 0.78rem;
}

.ll-footer-grid li {
  margin-bottom: 0.26rem;
}

.ll-footer-grid a {
  font-size: 0.76rem;
}

.ll-footer-social div {
  display: flex;
  gap: 0.78rem;
  align-items: center;
  color: var(--ll-cream);
}

.ll-social-icon {
  position: relative;
  display: inline-block;
  width: 1.18rem;
  height: 1.18rem;
  color: var(--ll-cream);
  flex: 0 0 auto;
}

.ll-social-icon--instagram {
  border: 2px solid currentColor;
  border-radius: 0.34rem;
}

.ll-social-icon--instagram::before {
  content: "";
  position: absolute;
  inset: 0.29rem;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.ll-social-icon--instagram::after {
  content: "";
  position: absolute;
  right: 0.2rem;
  top: 0.2rem;
  width: 0.16rem;
  height: 0.16rem;
  border-radius: 50%;
  background: currentColor;
}

.ll-social-icon--tiktok {
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1;
}

.ll-social-icon--tiktok::before {
  content: "♪";
  position: absolute;
  inset: -0.08rem 0 0;
}

.ll-social-icon--facebook {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1;
}

.ll-social-icon--facebook::before {
  content: "f";
  position: absolute;
  inset: -0.03rem 0 0 0.22rem;
}

.ll-social-icon--email::before,
.ll-social-icon--email::after {
  content: "";
  position: absolute;
  border: 2px solid currentColor;
}

.ll-social-icon--email::before {
  inset: 0.18rem 0.05rem;
  border-radius: 0.08rem;
}

.ll-social-icon--email::after {
  left: 0.19rem;
  right: 0.19rem;
  top: 0.37rem;
  height: 0.44rem;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) skew(-10deg, -10deg);
}

.ll-copyright {
  margin-top: 1.2rem;
  font-size: 0.72rem;
}

@media (min-width: 981px) {
  .ll-header-main {
    height: 128px;
    min-height: 0;
    position: relative;
  }

  .ll-search-link {
    justify-self: start;
    position: relative;
    z-index: 7;
  }

  .ll-header-actions {
    position: absolute;
    right: clamp(2rem, 4vw, 4.5rem);
    top: 50%;
    z-index: 7;
    margin-left: 0;
    transform: translateY(-50%);
  }

  .ll-logo-link {
    position: absolute;
    left: 50%;
    top: -8px;
    margin: 0;
    z-index: 4;
    transform: translateX(-50%);
  }

  .ll-logo {
    width: clamp(250px, 21vw, 322px);
  }

  .ll-nav__inner {
    min-height: 65px;
    grid-template-columns: minmax(0, 1fr) clamp(250px, 21vw, 322px) minmax(0, 1fr);
  }

  .ll-menu,
  .ll-menu--right {
    min-height: 65px;
    flex-wrap: nowrap;
  }

  .ll-category-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .ll-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .ll-top-strip__inner {
    min-height: 30px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.6rem;
    padding-block: 0.18rem;
    overflow: hidden;
    text-align: center;
  }

  .ll-top-strip__center,
  .ll-top-social {
    display: none;
  }

  .ll-top-strip__item {
    display: inline-flex;
    justify-content: center;
    max-width: 100%;
    white-space: nowrap;
  }

  .ll-header-main {
    min-height: 112px;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem;
    padding-top: 0.4rem;
    padding-bottom: 0.25rem;
    text-align: left;
  }

  .ll-logo-link {
    position: static;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    margin: 0;
    transform: none;
  }

  .ll-logo {
    width: min(176px, 42vw);
  }

  .ll-search-link {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .ll-search-link span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .ll-header-actions {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    gap: 0.65rem;
    margin-left: 0;
    justify-content: flex-end;
  }

  .ll-account-link span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .ll-search-link,
  .ll-account-link,
  .ll-cart-link {
    min-height: 38px;
    font-size: 0.75rem;
  }

  .ll-nav__inner {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 0;
    padding-block: 0.34rem;
  }

  .ll-nav__logo-space {
    display: none;
  }

  .ll-menu,
  .ll-menu--right {
    min-height: 0;
    justify-content: center;
    gap: 0.25rem 0.85rem;
    flex-wrap: wrap;
  }

  .ll-menu a {
    min-height: 24px;
    font-size: 0.64rem;
  }

  .ll-hero::before {
    left: 0;
    top: 46%;
    opacity: 0.2;
    mask-image: linear-gradient(180deg, transparent 0, #000 34%, #000 100%);
  }

  .ll-hero__inner {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0.95rem;
    padding-bottom: 1rem;
  }

  .ll-hero__copy {
    padding: 0;
    text-align: center;
  }

  .ll-reference-rule {
    margin-inline: auto;
  }

  .ll-display-title {
    max-width: 100%;
    font-size: clamp(2rem, 10.4vw, 3.15rem);
    line-height: 0.94;
  }

  .ll-copy {
    max-width: 22rem;
    margin-inline: auto;
    font-size: 0.9rem;
  }

  .ll-button {
    min-width: 162px;
    min-height: 48px;
    font-size: 0.9rem;
  }

  .ll-hero-art {
    min-height: clamp(260px, 67vw, 340px);
    margin-top: 0.35rem;
    background-size: min(122%, 540px) auto;
    background-position: center bottom;
    mask-image: none;
  }

  .ll-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
  }

  .ll-trust-item {
    min-height: 70px;
    padding: 0.6rem 0.75rem;
    grid-template-columns: 38px 1fr;
  }

  .ll-category-grid,
  .ll-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ll-newsletter {
    min-height: 206px;
    padding-block: 0.85rem;
  }

  .ll-newsletter__inner {
    width: min(100% - 2rem, 600px);
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    text-align: center;
  }

  .ll-envelope,
  .ll-newsletter__copy {
    justify-self: center;
  }

  .ll-newsletter__divider {
    display: none;
  }

  .ll-newsletter__form {
    grid-template-columns: 1fr;
    width: min(100%, 360px);
    justify-self: center;
  }

  .ll-newsletter-rose {
    width: 150px;
    height: 88px;
    opacity: 0.72;
  }

  .ll-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem 2rem;
  }

  .ll-footer-brand {
    grid-column: 1 / -1;
  }

  .ll-footer-logo {
    width: 112px;
  }
}

@media (max-width: 460px) {
  .ll-container {
    width: min(100% - 1.25rem, var(--ll-container));
  }

  .ll-top-strip {
    font-size: 0.62rem;
  }

  .ll-header-main {
    min-height: 96px;
    gap: 0.35rem;
    padding-block: 0.22rem;
  }

  .ll-logo {
    width: min(150px, 39vw);
  }

  .ll-header-actions {
    gap: 0.48rem;
  }

  .ll-cart-link span:last-child {
    max-width: 4.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ll-search-link,
  .ll-account-link,
  .ll-cart-link {
    min-height: 32px;
    font-size: 0.68rem;
  }

  .ll-nav__inner {
    padding-block: 0.26rem;
  }

  .ll-menu,
  .ll-menu--right {
    gap: 0.15rem 0.55rem;
  }

  .ll-menu a {
    min-height: 22px;
    font-size: 0.58rem;
  }

  .ll-hero__inner {
    padding-top: 0.78rem;
    padding-bottom: 0.9rem;
  }

  .ll-kicker {
    font-size: 0.68rem;
  }

  .ll-reference-rule {
    width: min(100%, 260px);
    margin-bottom: 0.75rem;
  }

  .ll-display-title {
    font-size: clamp(1.86rem, 9.6vw, 2.58rem);
  }

  .ll-hero-art {
    min-height: 238px;
    background-size: 124% auto;
  }

  .ll-trust-grid {
    grid-template-columns: 1fr;
  }

  .ll-category-grid,
  .ll-product-grid,
  .ll-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ll-category-card__art {
    aspect-ratio: 1 / 0.96;
  }

  .ll-section-title {
    font-size: 1.48rem;
  }

  .ll-product-card {
    min-height: 238px;
    padding-inline: 0.65rem;
  }

  .ll-product-card__image {
    height: 120px;
  }

  .ll-product-card__image span {
    width: 86px;
    height: 100px;
  }

  .ll-product-card__blank {
    min-height: 48px;
  }

  .ll-newsletter-rose {
    width: 138px;
    height: 80px;
  }

  .ll-newsletter-rose--left {
    left: -32px;
  }

  .ll-newsletter-rose--right {
    right: -32px;
  }

  .ll-footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 330px) {
  .ll-category-grid,
  .ll-product-grid,
  .ll-footer-grid {
    grid-template-columns: 1fr;
  }
}

/* Task 0 0.2.7 remaining visual corrections. */
.ll-hero::before {
  display: none;
}

.ll-hero-art {
  background-image: url("assets/img/ll-style-extracted-hero-composition.png?v=4");
}

.ll-hero {
  background:
    radial-gradient(circle at 78% 48%, rgba(92, 12, 18, 0.38), transparent 26rem),
    linear-gradient(90deg, #0d0d0c 0%, #11100f 44%, #1a0b0c 100%);
}

.ll-category-card--one-piece .ll-category-card__art,
.ll-category-card--magic .ll-category-card__art,
.ll-category-card--yugioh .ll-category-card__art,
.ll-category-card--accessories .ll-category-card__art {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.ll-category-card--one-piece .ll-category-card__art {
  background-size: cover;
}

.ll-category-card--magic .ll-category-card__art {
  background-size: cover;
}

.ll-category-card--yugioh .ll-category-card__art {
  background-size: cover;
}

.ll-category-card--accessories .ll-category-card__art {
  background-size: cover;
}

.ll-top-social {
  display: inline-flex;
  gap: 0.58rem;
  align-items: center;
  color: var(--ll-gold);
}

.ll-top-social .ll-social-icon {
  width: 0.84rem;
  height: 0.84rem;
}

.ll-top-social .ll-social-icon--instagram {
  border-width: 1.6px;
  border-radius: 0.25rem;
}

.ll-top-social .ll-social-icon--instagram::before {
  inset: 0.2rem;
  border-width: 1.5px;
}

.ll-top-social .ll-social-icon--instagram::after {
  right: 0.13rem;
  top: 0.13rem;
  width: 0.12rem;
  height: 0.12rem;
}

@media (max-width: 980px) {
  .ll-newsletter {
    min-height: 258px;
  }

  .ll-newsletter__inner {
    padding-bottom: 4.8rem;
  }

  .ll-newsletter-rose {
    bottom: 0.1rem;
    width: 128px;
    height: 76px;
    opacity: 0.95;
  }

  .ll-newsletter-rose--left {
    left: 0;
  }

  .ll-newsletter-rose--right {
    right: 0;
  }
}

/* Task 0 0.2.8 final cutout and icon correction. */
.ll-hero-art {
  background-image: url("assets/img/ll-style-extracted-hero-composition.png?v=5");
}

.ll-trust-icon,
.ll-social-icon {
  background: currentColor;
  border: 0;
  border-radius: 0;
  clip-path: none;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.ll-trust-icon::before,
.ll-trust-icon::after,
.ll-social-icon::before,
.ll-social-icon::after {
  display: none;
}

.ll-trust-icon--truck {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 30V10h34v20'/%3E%3Cpath d='M40 18h9l9 9v3H40'/%3E%3Cpath d='M6 30h8m12 0h15m12 0h5'/%3E%3Ccircle cx='20' cy='34' r='6'/%3E%3Ccircle cx='47' cy='34' r='6'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 30V10h34v20'/%3E%3Cpath d='M40 18h9l9 9v3H40'/%3E%3Cpath d='M6 30h8m12 0h15m12 0h5'/%3E%3Ccircle cx='20' cy='34' r='6'/%3E%3Ccircle cx='47' cy='34' r='6'/%3E%3C/g%3E%3C/svg%3E");
}

.ll-trust-icon--seal {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='18'/%3E%3Cpath d='M15 24l6 6 13-15'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='18'/%3E%3Cpath d='M15 24l6 6 13-15'/%3E%3C/g%3E%3C/svg%3E");
}

.ll-trust-icon--lock {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='21' width='28' height='20' rx='3'/%3E%3Cpath d='M16 21v-6a8 8 0 0116 0v6'/%3E%3Cpath d='M24 29v5'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='21' width='28' height='20' rx='3'/%3E%3Cpath d='M16 21v-6a8 8 0 0116 0v6'/%3E%3Cpath d='M24 29v5'/%3E%3C/g%3E%3C/svg%3E");
}

.ll-trust-icon--star {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linejoin='round' d='M24 5l5.8 12.6 13.7 1.6-10.1 9.4 2.7 13.4L24 35.1 11.9 42l2.7-13.4L4.5 19.2l13.7-1.6L24 5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linejoin='round' d='M24 5l5.8 12.6 13.7 1.6-10.1 9.4 2.7 13.4L24 35.1 11.9 42l2.7-13.4L4.5 19.2l13.7-1.6L24 5z'/%3E%3C/svg%3E");
}

.ll-social-icon--instagram {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='8' width='32' height='32' rx='9'/%3E%3Ccircle cx='24' cy='24' r='7'/%3E%3Ccircle cx='33' cy='15' r='1.8' fill='black' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='8' width='32' height='32' rx='9'/%3E%3Ccircle cx='24' cy='24' r='7'/%3E%3Ccircle cx='33' cy='15' r='1.8' fill='black' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

.ll-social-icon--tiktok {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M30 5h6c.6 5.2 3.6 8.6 8 9.8v6.5c-3.1-.1-5.8-1-8-2.7v12.1c0 7.7-5.1 12.3-12.1 12.3-6.5 0-11-4.2-11-10.1 0-6.7 5.6-10.7 12.4-9.9v6.8c-3.1-.9-5.7.5-5.7 3.1 0 2.1 1.7 3.5 4.1 3.5 2.8 0 4.9-1.7 4.9-5.4V5H30z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M30 5h6c.6 5.2 3.6 8.6 8 9.8v6.5c-3.1-.1-5.8-1-8-2.7v12.1c0 7.7-5.1 12.3-12.1 12.3-6.5 0-11-4.2-11-10.1 0-6.7 5.6-10.7 12.4-9.9v6.8c-3.1-.9-5.7.5-5.7 3.1 0 2.1 1.7 3.5 4.1 3.5 2.8 0 4.9-1.7 4.9-5.4V5H30z'/%3E%3C/svg%3E");
}

.ll-social-icon--facebook {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M29.5 44V26.2h6l1-7h-7v-4.4c0-2 1-3.4 3.7-3.4h3.6V5.2c-1.8-.2-3.7-.3-5.5-.3-5.5 0-9.3 3.4-9.3 9.5v4.8h-6.2v7H22V44h7.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M29.5 44V26.2h6l1-7h-7v-4.4c0-2 1-3.4 3.7-3.4h3.6V5.2c-1.8-.2-3.7-.3-5.5-.3-5.5 0-9.3 3.4-9.3 9.5v4.8h-6.2v7H22V44h7.5z'/%3E%3C/svg%3E");
}

.ll-social-icon--email {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='12' width='36' height='24' rx='2'/%3E%3Cpath d='M8 15l16 13 16-13'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='12' width='36' height='24' rx='2'/%3E%3Cpath d='M8 15l16 13 16-13'/%3E%3C/g%3E%3C/svg%3E");
}

/* Task 0 0.2.9 final hero/category asset delivery correction. */
.ll-hero-art {
  background-image: url("assets/img/ll-style-extracted-hero-composition.png?v=6");
}

.ll-category-card--one-piece .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-one-piece.jpg?v=2");
}

.ll-category-card--magic .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-magic.jpg?v=2");
}

.ll-category-card--yugioh .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-yugioh.jpg?v=2");
}

.ll-category-card--accessories .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-accessories.jpg?v=2");
}

/* Task 0 0.2.11 final supplied hero alpha cleanup only. */
.ll-hero-art {
  background-image: url("assets/img/ll-style-extracted-hero-composition.png?v=13");
  background-size: min(86%, 690px) auto;
  background-position: center 60%;
}

@media (max-width: 980px) {
  .ll-header-main {
    position: relative;
  }

  .ll-logo-link {
    position: absolute;
    left: 50%;
    top: calc(50% + 2rem);
    z-index: 2;
    transform: translate(-50%, -50%);
  }

  .ll-search-link,
  .ll-header-actions {
    position: relative;
    z-index: 3;
  }

  .ll-button {
    margin-bottom: 1.05rem;
  }

  .ll-hero-art {
    min-height: clamp(460px, 114vw, 500px);
    background-size: min(112%, 500px) auto;
    background-position: center top;
  }
}

/* Task 0 0.2.19 final category quality delivery. */
.ll-category-card--pokemon .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-pokemon.jpg?v=4");
}

.ll-category-card--lorcana .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-lorcana.jpg?v=4");
}

.ll-category-card--one-piece .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-one-piece.jpg?v=4");
}

.ll-category-card--magic .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-magic.jpg?v=4");
}

.ll-category-card--yugioh .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-yugioh.jpg?v=4");
}

.ll-category-card--accessories .ll-category-card__art {
  background-image: url("assets/img/ll-style-category-accessories.jpg?v=4");
}

/* Task 0 0.2.26 mobile-only hero spacing and logo correction. */
@media (max-width: 980px) {
  .ll-logo-link {
    position: static;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    left: auto;
    top: auto;
    margin: 0;
    transform: translateX(2.15rem);
    z-index: 3;
  }

  .ll-hero-art {
    min-height: clamp(330px, 84vw, 362px);
  }
}

.ll-powered-by {
  margin: 0.38rem 0 0;
  color: rgba(255, 247, 232, 0.55);
  font-size: 0.68rem;
  line-height: 1.4;
  text-align: center;
}

.ll-powered-by a {
  color: rgba(199, 151, 66, 0.86);
  text-decoration: none;
}

.ll-powered-by a:hover,
.ll-powered-by a:focus-visible {
  color: var(--ll-gold);
  text-decoration: underline;
}

/* Task 1 WooCommerce catalogue/storefront foundation. */
.ll-storefront {
  background: linear-gradient(180deg, #f7ead5 0%, var(--ll-bg-parchment) 100%);
}

.ll-storefront-hero {
  background:
    radial-gradient(circle at 78% 42%, rgba(115, 13, 24, 0.32), transparent 24rem),
    linear-gradient(90deg, #0d0d0c 0%, #14100f 48%, #2a0d11 100%);
  color: var(--ll-cream);
  border-bottom: 1px solid var(--ll-border);
  padding: clamp(2rem, 5vw, 4rem) 0;
  text-align: center;
}

.ll-storefront-hero h1 {
  margin: 0;
  font-family: var(--ll-font-display);
  font-size: clamp(2.25rem, 5vw, 4.8rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.ll-storefront-hero p {
  max-width: 42rem;
  margin: 0.8rem auto 0;
  color: rgba(255, 247, 232, 0.84);
}

.ll-storefront-kicker {
  margin: 0 0 0.7rem;
  color: var(--ll-gold);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ll-storefront-body {
  min-height: 48vh;
}

.ll-storefront .woocommerce-notices-wrapper,
.ll-storefront .woocommerce-result-count,
.ll-storefront .woocommerce-ordering {
  margin-bottom: 1rem;
}

.ll-storefront .woocommerce-ordering select,
.ll-store-filters select,
.ll-store-filters input {
  min-height: 42px;
  border: 1px solid rgba(111, 72, 36, 0.38);
  border-radius: 4px;
  background: rgba(255, 247, 232, 0.76);
  color: var(--ll-text);
  font: inherit;
}

.ll-store-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)) auto auto;
  gap: 0.75rem;
  align-items: end;
  margin: 0 0 1.35rem;
  padding: 1rem;
  border: 1px solid var(--ll-border-soft);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.58);
  box-shadow: var(--ll-shadow-subtle);
}

.ll-store-filters label {
  display: grid;
  gap: 0.28rem;
}

.ll-store-filters label span {
  color: var(--ll-text-muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ll-store-filters button,
.ll-store-filters a,
.ll-storefront a.button,
.ll-storefront button.button,
.ll-storefront input.button,
.ll-storefront #respond input#submit,
.ll-storefront .woocommerce a.button,
.ll-storefront .woocommerce button.button,
.ll-storefront .woocommerce input.button,
.ll-storefront .woocommerce #respond input#submit,
.ll-storefront .single_add_to_cart_button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border: 1px solid var(--ll-gold);
  border-radius: 4px;
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.ll-store-filters a {
  background: transparent;
  color: var(--ll-burgundy);
}

.ll-storefront ul.products,
.ll-storefront .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
}

.ll-storefront ul.products::before,
.ll-storefront ul.products::after,
.ll-storefront .woocommerce ul.products::before,
.ll-storefront .woocommerce ul.products::after {
  display: none;
}

.ll-storefront ul.products li.product,
.ll-storefront .woocommerce ul.products li.product {
  width: auto;
  margin: 0;
  padding: 1rem 1rem 1.15rem;
  float: none;
  border: 1px solid rgba(111, 72, 36, 0.24);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.62);
  box-shadow: 0 5px 12px rgba(55, 32, 18, 0.12);
  text-align: center;
}

.ll-storefront ul.products li.product a img,
.ll-storefront .woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin: 0 0 0.85rem;
  border-radius: 6px;
  background: rgba(255, 247, 232, 0.68);
}

.ll-storefront .woocommerce-loop-product__title {
  min-height: 2.7em;
  color: var(--ll-black);
  font-family: var(--ll-font-body);
  font-size: 0.95rem;
  line-height: 1.35;
}

.ll-storefront .price {
  display: block;
  margin: 0.55rem 0;
  color: var(--ll-black);
  font-size: 1rem;
  font-weight: 900;
}

.ll-storefront .price del {
  color: var(--ll-text-muted);
  font-weight: 700;
}

.ll-storefront .price ins {
  color: var(--ll-burgundy);
  text-decoration: none;
}

.ll-loop-product-meta {
  min-height: 1.5rem;
  margin: 0.35rem 0 0;
  color: var(--ll-text-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.ll-storefront .woocommerce-info,
.ll-storefront .woocommerce-message,
.ll-storefront .woocommerce-error {
  border-top-color: var(--ll-gold);
  background: rgba(255, 247, 232, 0.76);
  color: var(--ll-text);
}

.ll-storefront--product .product {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.ll-storefront--product .onsale {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  min-height: auto;
  margin: 0;
  padding: 0.32rem 0.55rem;
  border-radius: 3px;
  background: var(--ll-gold);
  color: var(--ll-black);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.ll-storefront--product .woocommerce-product-gallery,
.ll-storefront--product .entry-summary {
  width: auto !important;
  float: none !important;
}

.ll-storefront--product .woocommerce-product-gallery {
  padding: 1rem;
  border: 1px solid var(--ll-border-soft);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.64);
  box-shadow: var(--ll-shadow-subtle);
}

.ll-storefront--product .entry-summary {
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.56);
}

.ll-storefront--product .product_title {
  margin-top: 0;
  font-family: var(--ll-font-display);
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
}

.ll-product-facts {
  display: grid;
  gap: 0.45rem;
  margin: 1rem 0;
  padding: 0.85rem;
  border: 1px solid var(--ll-border-soft);
  border-radius: 6px;
  background: rgba(244, 230, 207, 0.58);
}

.ll-product-facts div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.8rem;
}

.ll-product-facts dt {
  color: var(--ll-text-muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ll-product-facts dd {
  margin: 0;
}

.ll-storefront .quantity .qty {
  min-height: 42px;
  border: 1px solid rgba(111, 72, 36, 0.38);
  border-radius: 4px;
  background: rgba(255, 247, 232, 0.9);
}

.ll-storefront .woocommerce-tabs,
.ll-storefront .related.products {
  grid-column: 1 / -1;
}

.ll-storefront .related.products {
  max-width: 100%;
  overflow-x: hidden;
}

.ll-storefront .related.products ul.products,
.ll-storefront .related.products li.product {
  min-width: 0;
}

.ll-storefront .related.products a.button {
  max-width: 100%;
  white-space: normal;
}

.ll-storefront .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1rem;
  padding-left: 0;
  border-bottom: 1px solid rgba(111, 72, 36, 0.24);
  list-style: none;
}

.ll-storefront .woocommerce-tabs ul.tabs li {
  margin: 0;
}

.ll-storefront .woocommerce-tabs ul.tabs a {
  display: inline-flex;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(111, 72, 36, 0.24);
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  background: rgba(255, 247, 232, 0.62);
  color: var(--ll-black);
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 1180px) {
  .ll-store-filters,
  .ll-storefront ul.products,
  .ll-storefront .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ll-storefront ul.products,
  .ll-storefront .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ll-store-filters,
  .ll-storefront--product .product,
  .ll-product-facts div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 460px) {
  .ll-storefront-hero {
    padding: 1.65rem 0;
  }

  .ll-storefront-body {
    padding-block: 1.35rem;
  }

  .ll-storefront ul.products,
  .ll-storefront .woocommerce ul.products {
    gap: 0.75rem;
  }

  .ll-storefront ul.products li.product,
  .ll-storefront .woocommerce ul.products li.product {
    padding: 0.75rem;
  }

  .ll-storefront .woocommerce-loop-product__title {
    font-size: 0.82rem;
  }
}

/* Task 2 WooCommerce basket, checkout and account foundation. */
.woocommerce-cart .ll-main,
.woocommerce-checkout .ll-main,
.woocommerce-account .ll-main {
  background: linear-gradient(180deg, #f7ead5 0%, var(--ll-bg-parchment) 100%);
}

.woocommerce-cart article,
.woocommerce-checkout article,
.woocommerce-account article {
  max-width: 1180px;
  margin-inline: auto;
}

.woocommerce-cart article > h1,
.woocommerce-checkout article > h1,
.woocommerce-account article > h1 {
  margin: 0 0 1.5rem;
  font-family: var(--ll-font-display);
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: 0.95;
  text-align: center;
  text-transform: uppercase;
}

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  font-size: 1rem;
}

.ll-commerce-note,
.woocommerce-cart .cart-empty,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-left: 4px solid var(--ll-gold);
  border-radius: 6px;
  background: rgba(255, 247, 232, 0.78);
  color: var(--ll-text);
}

.woocommerce-error {
  border-left-color: var(--ll-burgundy);
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-account table.shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 247, 232, 0.62);
  box-shadow: var(--ll-shadow-subtle);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
  padding: 0.85rem;
  border-bottom: 1px solid rgba(111, 72, 36, 0.18);
  text-align: left;
  vertical-align: middle;
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th,
.woocommerce-account table.shop_table th {
  color: var(--ll-black);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.woocommerce-cart .product-thumbnail img {
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 6px;
  background: rgba(255, 247, 232, 0.82);
}

.woocommerce-cart .product-remove a {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(111, 72, 36, 0.26);
  border-radius: 999px;
  color: var(--ll-burgundy);
  font-size: 1.4rem;
  font-weight: 900;
  text-decoration: none;
}

.woocommerce-cart .quantity .qty,
.woocommerce-checkout .quantity .qty {
  width: 4.6rem;
  min-height: 42px;
  border: 1px solid rgba(111, 72, 36, 0.38);
  border-radius: 4px;
  background: rgba(255, 247, 232, 0.95);
  text-align: center;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
  min-width: 0;
  margin-top: 1.35rem;
  padding: clamp(1rem, 2.5vw, 1.6rem);
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.62);
  box-shadow: var(--ll-shadow-subtle);
}

.woocommerce-cart .cart_totals {
  width: min(100%, 520px);
  margin-left: auto;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2,
.woocommerce-account h3 {
  margin-top: 0;
  color: var(--ll-black);
  font-family: var(--ll-font-display);
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1;
}

.woocommerce-account .woocommerce-MyAccount-content {
  overflow-x: hidden;
}

.woocommerce-account table.my_account_orders,
.woocommerce-account table.woocommerce-orders-table {
  table-layout: fixed;
}

.woocommerce-account table.my_account_orders td,
.woocommerce-account table.woocommerce-orders-table td {
  overflow-wrap: anywhere;
}

.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .return-to-shop {
  margin-top: 1.2rem;
}

.woocommerce-cart a.checkout-button,
.woocommerce-cart .return-to-shop a,
.woocommerce-cart button.button,
.woocommerce-checkout button.button,
.woocommerce-account button.button,
.woocommerce-account a.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0.72rem 1rem;
  border: 1px solid var(--ll-gold);
  border-radius: 4px;
  background: var(--ll-burgundy);
  color: var(--ll-cream);
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.woocommerce-cart button.button[disabled],
.woocommerce-cart button.button:disabled {
  opacity: 0.62;
}

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  margin-top: 0;
}

.woocommerce-checkout #customer_details {
  grid-column: 1;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
  margin-bottom: 0.8rem;
}

.woocommerce form .form-row label {
  color: var(--ll-black);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  min-height: 44px;
  border: 1px solid rgba(111, 72, 36, 0.32);
  border-radius: 4px;
  background: rgba(255, 247, 232, 0.96);
  color: var(--ll-text);
}

.woocommerce form .form-row textarea {
  min-height: 110px;
}

.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment {
  margin-top: 1rem;
}

.woocommerce-checkout #payment {
  padding: 1rem;
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-radius: 8px;
  background: rgba(244, 230, 207, 0.48);
}

.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
}

.woocommerce-account .woocommerce-notices-wrapper,
.woocommerce-account .u-columns,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(111, 72, 36, 0.18);
  border-radius: 4px;
  background: rgba(255, 247, 232, 0.66);
  color: var(--ll-black);
  font-weight: 900;
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  border-color: var(--ll-gold);
  background: var(--ll-burgundy);
  color: var(--ll-cream);
}

.woocommerce-account .u-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  padding: clamp(1rem, 2.5vw, 1.6rem);
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-radius: 8px;
  background: rgba(255, 247, 232, 0.62);
  box-shadow: var(--ll-shadow-subtle);
}

@media (max-width: 820px) {
  .woocommerce-checkout form.checkout,
  .woocommerce-account .woocommerce,
  .woocommerce-account .u-columns {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .woocommerce-cart table.shop_table_responsive thead,
  .woocommerce-account table.my_account_orders thead,
  .woocommerce-account table.woocommerce-orders-table thead {
    display: none;
  }

  .woocommerce-cart table.shop_table_responsive tr,
  .woocommerce-account table.shop_table_responsive tr,
  .woocommerce-account table.my_account_orders tr,
  .woocommerce-account table.woocommerce-orders-table tr {
    display: block;
    padding: 0.85rem;
    border-bottom: 1px solid rgba(111, 72, 36, 0.22);
  }

  .woocommerce-cart table.shop_table_responsive td,
  .woocommerce-account table.shop_table_responsive td,
  .woocommerce-account table.my_account_orders td,
  .woocommerce-account table.woocommerce-orders-table td {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
    border-bottom: 0;
    text-align: right;
  }

  .woocommerce-cart table.shop_table_responsive td::before,
  .woocommerce-account table.shop_table_responsive td::before,
  .woocommerce-account table.my_account_orders td::before,
  .woocommerce-account table.woocommerce-orders-table td::before {
    color: var(--ll-black);
    font-weight: 900;
    text-align: left;
    text-transform: uppercase;
  }

  .woocommerce-account table.my_account_orders td::before,
  .woocommerce-account table.woocommerce-orders-table td::before {
    content: attr(data-title);
    flex: 0 1 8rem;
  }

  .woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-actions,
  .woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    display: grid;
    gap: 0.45rem;
    text-align: left;
  }

  .woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-actions::before,
  .woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before {
    display: block;
  }

  .woocommerce-cart .product-thumbnail {
    justify-content: center;
  }

  .woocommerce-cart .product-thumbnail::before {
    content: "";
  }

  .woocommerce-cart .product-thumbnail img {
    width: 92px;
    height: 92px;
  }

  .woocommerce-cart .actions {
    display: block !important;
  }

  .woocommerce-cart .coupon {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
  }

  .woocommerce-cart .coupon input {
    width: 100% !important;
  }

  .woocommerce-cart button.button,
  .woocommerce-cart a.checkout-button,
  .woocommerce-cart .return-to-shop a,
  .woocommerce-checkout button.button,
  .woocommerce-account button.button,
  .woocommerce-account a.button {
    width: 100%;
  }
}

/* Task 3 fair-purchase and anti-automation foundation. */
.ll-fair-purchase-note,
.ll-admin-override {
  margin: 1rem 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(111, 72, 36, 0.22);
  border-left: 4px solid var(--ll-gold);
  border-radius: 6px;
  background: rgba(255, 247, 232, 0.78);
  color: var(--ll-text);
}

.ll-admin-override h3 {
  margin-top: 0;
}

.ll-admin-override textarea {
  width: 100%;
  min-height: 96px;
}

.ll-turnstile {
  margin: 1rem 0;
}

/* Task 6 community contribution prompt, scoped to WooCommerce cart/checkout. */
.ll-community-card-prompt {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(111, 72, 36, 0.24);
  border-left: 4px solid var(--ll-gold);
  border-radius: 6px;
  background: rgba(255, 247, 232, 0.82);
  color: var(--ll-text);
}

.ll-community-card-prompt h2 {
  margin: 0 0 0.45rem;
  color: var(--ll-black);
  font-family: var(--ll-font-display);
  font-size: 1.2rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ll-community-card-prompt p {
  margin: 0 0 0.85rem;
}

.ll-community-card-prompt form {
  margin: 0;
}

/* Task 8: keyboard-only contrast ring. Normal appearance and layout are unchanged. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  box-shadow: 0 0 0 6px var(--ll-black), 0 0 0 8px var(--ll-cream);
}
.ll-newsletter__form input:focus-visible,
.ll-newsletter__form button:focus-visible {
  box-shadow: inset 0 0 0 2px var(--ll-black), inset 0 0 0 4px var(--ll-cream);
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
