/** Shopify CDN: Minification failed

Line 862:36 Expected identifier but found "{"
Line 862:37 Unexpected "{"
Line 862:47 Expected ":"
Line 881:49 Expected identifier but found "{"
Line 881:50 Unexpected "{"
Line 881:60 Expected ":"
Line 902:24 Expected identifier but found "{"
Line 902:25 Unexpected "{"
Line 902:35 Expected ":"
Line 925:30 Expected identifier but found "{"
... and 2 more hidden warnings

**/
:root {
  --green: #078C43;
  --purple: #6E10A8;
  --gold: #D6A83B;
  --parchment: #E8D2A0;
  --wood: #2A160D;
  --ink: #17100B;
  --cream: #fff4d7;
  --metal: #c6d0d9;
  --shadow: 0 18px 50px rgba(0,0,0,.34);
  --radius: 12px;
}


* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--cream);
  background:
    radial-gradient(circle at 50% -10%, rgba(110,16,168,.17), transparent 35rem),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 70px),
    #160d08;
  font-family: Georgia, 'Times New Roman', serif;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input { font: inherit; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:1rem; top:1rem; z-index:1000; background:#fff; color:#000; padding:.75rem 1rem; }
.page-width { width:min(1440px, calc(100% - 32px)); margin-inline:auto; }

.tct-wood {
  background-color: var(--wood);
  background-image:
    linear-gradient(rgba(24,10,4,.22), rgba(24,10,4,.55)),
    repeating-linear-gradient(0deg, transparent 0 19px, rgba(255,255,255,.025) 20px, transparent 21px),
    repeating-linear-gradient(90deg, rgba(124,71,35,.08) 0 8px, rgba(0,0,0,.08) 9px 16px);
}
.tct-parchment {
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.35), transparent 30%),
    linear-gradient(100deg, rgba(115,76,34,.06), transparent 20%, rgba(115,76,34,.08) 80%, transparent),
    var(--parchment);
  border: 3px solid #5c351b;
  box-shadow: inset 0 0 0 2px rgba(214,168,59,.7), var(--shadow);
}
.tct-frame {
  border: 2px solid var(--metal);
  box-shadow: inset 0 0 0 2px #43240f, inset 0 0 0 5px rgba(198,208,217,.35), var(--shadow);
  border-radius: var(--radius);
  overflow: hidden;
}
.tct-title {
  font-family: Georgia, 'Times New Roman', serif;
  text-transform: uppercase;
  letter-spacing: .035em;
  line-height: .98;
  margin: 0;
  text-shadow: 0 3px 0 #301509, 0 8px 18px rgba(0,0,0,.45);
}
.tct-ribbon {
  display:inline-block;
  padding:.58rem 1.2rem;
  background: linear-gradient(#5b0f87, var(--purple) 54%, #350757);
  border: 2px solid var(--gold);
  border-radius: 8px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.13), 0 5px 0 #251008;
  font-family: Georgia, 'Times New Roman', serif;
  text-transform: uppercase;
  font-weight: 700;
}
.tct-ribbon--green { background:linear-gradient(#11a85a, var(--green) 55%, #044c26); }
.tct-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.7rem 1.15rem;
  border-radius:7px;
  border:2px solid var(--gold);
  background:linear-gradient(#7820aa, var(--purple));
  color:#fff7df;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), 0 4px 0 #291008;
  transition: transform .16s ease, filter .16s ease;
}
.tct-button:hover { transform:translateY(-2px); filter:brightness(1.1); }
.tct-button--green { background:linear-gradient(#10a65b, var(--green)); }
.tct-button--ghost { background:rgba(17,9,5,.72); border-color:var(--metal); }

/* =========================================================
   TOP CUT TAVERN HEADER
   2 destinations / logo / 2 destinations / fantasy utilities
   ========================================================= */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  overflow: visible;

  border-bottom: 3px solid #6f461f;

  box-shadow:
    0 5px 0 rgba(20, 9, 4, .8),
    0 10px 24px rgba(0, 0, 0, .32);
}


/* =========================================================
   HEADER BAR
   ========================================================= */

.site-header__bar {
  position: relative;

  display: block;

  height: var(--header-height, 100px);
  min-height: 0;

  padding-top: 0;
  padding-bottom: 0;

  overflow: visible;
}


/* =========================================================
   LEFT DESTINATIONS
   ========================================================= */

.site-header__nav--left {
  position: absolute;

  left: 0;
  top: 50%;

  z-index: 3;

  display: flex;
  align-items: center;

  gap: 12px;

  transform: translateY(-50%);
}


/* =========================================================
   CENTER LOGO
   ========================================================= */

.site-header__logo {
  position: absolute;

  left: 50%;
  top: 50%;

  z-index: 5;

  display: block;

  width: var(--header-logo-width, 450px);

  max-width: none;

  line-height: 0;

  transform:
    translate(-50%, -50%)
    translateY(var(--header-logo-overhang, 0px));
}

.site-header__logo img {
  display: block;

  width: 100%;
  height: auto;

  max-width: none;
  max-height: none;

  object-fit: contain;
}


/* =========================================================
   RIGHT SIDE
   ========================================================= */

.site-header__right {
  position: absolute;

  right: 0;
  top: 50%;

  z-index: 3;

  display: flex;
  align-items: center;

  gap: 16px;

  transform: translateY(-50%);
}

.site-header__nav--right {
  display: flex;
  align-items: center;

  gap: 12px;
}


/* =========================================================
   DESTINATION PLAQUES
   ========================================================= */

.tavern-nav-link {
  position: relative;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  width: 205px;
  height: 62px;

  min-width: 205px;
  min-height: 62px;

  padding: 7px 13px;

  box-sizing: border-box;

  border: 2px solid #8c632b;
  border-radius: 7px;

  background:
    linear-gradient(
      180deg,
      rgba(94, 53, 25, .97),
      rgba(45, 23, 12, .98)
    );

  box-shadow:
    inset 0 0 0 1px rgba(232, 210, 160, .13),
    inset 0 -5px 10px rgba(0, 0, 0, .20),
    0 3px 0 #1a0c06,
    0 6px 12px rgba(0, 0, 0, .25);

  text-align: center;

  transition:
    transform .15s ease,
    border-color .15s ease,
    box-shadow .15s ease;
}

.tavern-nav-link::before {
  content: "";

  position: absolute;

  inset: 4px;

  pointer-events: none;

  border: 1px solid rgba(214, 168, 59, .22);
  border-radius: 4px;
}

.tavern-nav-link:hover {
  transform: translateY(-2px);

  border-color: var(--gold);

  box-shadow:
    inset 0 0 0 1px rgba(232, 210, 160, .18),
    inset 0 -5px 10px rgba(0, 0, 0, .20),
    0 4px 0 #1a0c06,
    0 8px 16px rgba(0, 0, 0, .32);
}

.tavern-nav-link__small {
  position: relative;

  z-index: 1;

  margin-bottom: 4px;

  color: #d8c3a3;

  font-size: .62rem;
  font-weight: 600;

  line-height: 1;

  letter-spacing: .12em;

  text-transform: uppercase;

  white-space: nowrap;
}

.tavern-nav-link__title {
  position: relative;

  z-index: 1;

  color: #fff2cf;

  font-size: .82rem;
  font-weight: 800;

  line-height: 1.1;

  letter-spacing: .02em;

  text-transform: uppercase;

  white-space: nowrap;

  text-shadow:
    0 2px 2px rgba(0, 0, 0, .65);
}


/* =========================================================
   FANTASY UTILITY ICONS
   ========================================================= */

.site-header__actions {
  display: flex;

  align-items: center;
  justify-content: flex-end;

  gap: 8px;

  flex-shrink: 0;
}

.header-icon {
  position: relative;

  display: grid;
  place-items: center;

  width: 44px;
  height: 44px;

  flex: 0 0 44px;

  box-sizing: border-box;

  border: 2px solid #8c632b;
  border-radius: 50%;

  background:
    radial-gradient(
      circle at 35% 30%,
      #4c321d,
      #211108 72%
    );

  color: #f0d7a6;

  box-shadow:
    inset 0 0 0 1px rgba(232, 210, 160, .12),
    inset 0 -4px 8px rgba(0, 0, 0, .35),
    0 3px 0 rgba(20, 9, 4, .9),
    0 6px 12px rgba(0, 0, 0, .25);

  transition:
    transform .15s ease,
    border-color .15s ease,
    color .15s ease,
    box-shadow .15s ease;
}

.header-icon:hover {
  transform: translateY(-2px);

  border-color: var(--gold);
  color: #ffe6aa;

  box-shadow:
    inset 0 0 0 1px rgba(232, 210, 160, .22),
    inset 0 -4px 8px rgba(0, 0, 0, .28),
    0 4px 0 rgba(20, 9, 4, .9),
    0 8px 15px rgba(0, 0, 0, .32);
}


/* =========================================================
   INLINE SVG ICONS
   ========================================================= */

.header-icon__svg {
  display: block;

  width: 24px;
  height: 24px;

  fill: none;

  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;

  overflow: visible;
}


/* Search icon */

.header-icon--search .header-icon__svg {
  width: 23px;
  height: 23px;
}


/* Hooded adventurer account icon */

.header-icon__svg--account {
  width: 25px;
  height: 25px;
}

.header-icon__svg--account path:first-child {
  fill: rgba(240, 215, 166, .06);
}


/* Adventurer satchel cart icon */

.header-icon__svg--cart {
  width: 25px;
  height: 25px;
}

.header-icon__svg--cart rect {
  fill: currentColor;
  stroke: currentColor;
}


/* =========================================================
   CART COUNT BADGE
   ========================================================= */

.header-cart__count {
  position: absolute;

  top: -7px;
  right: -6px;

  z-index: 3;

  display: grid;
  place-items: center;

  min-width: 20px;
  height: 20px;

  padding: 0 5px;

  box-sizing: border-box;

  border: 1px solid #f2d074;
  border-radius: 999px;

  background: var(--purple);

  color: #fff;

  font-size: 11px;
  font-weight: 800;

  line-height: 1;

  box-shadow:
    0 2px 5px rgba(0, 0, 0, .45);
}


/* =========================================================
   MOBILE MENU BUTTON
   ========================================================= */

.mobile-toggle {
  display: none;
}

.mobile-toggle__bars {
  display: grid;

  width: 18px;

  gap: 4px;
}

.mobile-toggle__bars span {
  display: block;

  width: 100%;
  height: 2px;

  background: currentColor;

  border-radius: 999px;
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

.mobile-nav {
  position: relative;

  z-index: 10;

  padding-top: 4px;
  padding-bottom: 20px;

  border-top:
    1px solid rgba(214, 168, 59, .3);
}

.mobile-nav__destinations {
  display: grid;

  gap: 8px;

  padding-top: 12px;
}

.mobile-destination {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 16px;

  padding: 11px 14px;

  border: 1px solid #775126;
  border-radius: 6px;

  background:
    linear-gradient(
      180deg,
      rgba(83, 46, 22, .90),
      rgba(38, 19, 10, .95)
    );
}

.mobile-destination span {
  color: #cdb89a;

  font-size: .7rem;

  letter-spacing: .08em;

  text-transform: uppercase;
}

.mobile-destination strong {
  color: #fff0cc;

  font-size: .9rem;

  text-align: right;

  text-transform: uppercase;
}

.mobile-nav__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 16px;

  padding: 14px 4px 0;
}

.mobile-nav__actions a {
  color: #e9d6b9;

  font-size: .8rem;
  font-weight: 700;

  text-decoration: underline;
}


/* =========================================================
   DESKTOP COLLISION SAFETY
   ========================================================= */

@media (min-width: 1101px) {

  .site-header__nav--left {
    max-width: calc(
      50% - (var(--header-logo-width, 450px) / 2) - 22px
    );
  }

  .site-header__right {
    max-width: calc(
      50% - (var(--header-logo-width, 450px) / 2) - 22px
    );
  }

}


/* =========================================================
   TABLET / SMALL LAPTOP
   ========================================================= */

@media (max-width: 1100px) {

  .site-header__bar {
    display: grid;

    grid-template-columns:
      50px
      1fr
      auto;

    align-items: center;

    height: min(
      var(--header-height, 100px),
      100px
    );

    gap: 10px;
  }

  .site-header__nav--left,
  .site-header__nav--right {
    display: none;
  }

  .mobile-toggle {
    position: relative;

    left: auto;
    top: auto;

    display: grid;

    transform: none;

    justify-self: start;

    z-index: 6;
  }

  .site-header__logo {
    left: 50%;
    top: 50%;

    width: min(
      var(--header-logo-width, 450px),
      380px,
      50vw
    );

    transform:
      translate(-50%, -50%)
      translateY(
        min(
          var(--header-logo-overhang, 0px),
          30px
        )
      );
  }

  .site-header__right {
    position: relative;

    right: auto;
    top: auto;

    display: block;

    transform: none;

    justify-self: end;

    max-width: none;

    z-index: 6;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .site-header__bar {
    grid-template-columns:
      42px
      1fr
      auto;

    height: 82px;

    gap: 6px;
  }

  .site-header__logo {
    width: min(
      var(--header-logo-width, 450px),
      235px,
      48vw
    );

    transform:
      translate(-50%, -50%)
      translateY(
        min(
          var(--header-logo-overhang, 0px),
          18px
        )
      );
  }

  .site-header__actions {
    gap: 5px;
  }

  .header-icon {
    width: 37px;
    height: 37px;

    flex: 0 0 37px;
  }

  .header-icon__svg {
    width: 21px;
    height: 21px;
  }

  .header-icon__svg--account,
  .header-icon__svg--cart {
    width: 22px;
    height: 22px;
  }

  .site-header__actions a[aria-label="Account"] {
    display: none;
  }

  .header-cart__count {
    min-width: 18px;
    height: 18px;

    top: -6px;
    right: -5px;

    padding: 0 4px;

    font-size: 10px;
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

  .site-header__bar {
    grid-template-columns:
      38px
      1fr
      auto;

    height: 76px;

    gap: 4px;
  }

  .site-header__logo {
    width: min(
      var(--header-logo-width, 450px),
      205px,
      46vw
    );

    transform:
      translate(-50%, -50%)
      translateY(
        min(
          var(--header-logo-overhang, 0px),
          15px
        )
      );
  }

  .header-icon {
    width: 34px;
    height: 34px;

    flex-basis: 34px;
  }

  .header-icon__svg {
    width: 19px;
    height: 19px;
  }

  .header-icon__svg--account,
  .header-icon__svg--cart {
    width: 20px;
    height: 20px;
  }

}

/* Hero */
.tavern-hero { position:relative; min-height:600px; display:grid; align-items:center; background:#211008 center/cover no-repeat; border-bottom:5px solid #42220f; }
.tavern-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(14,7,4,.92) 0%, rgba(14,7,4,.68) 42%, rgba(14,7,4,.15) 75%); }
.tavern-hero__content { position:relative; z-index:1; width:min(720px, 92%); padding:5.5rem 0; }
.tavern-hero__eyebrow { font-family:{{ settings.heading_font.family }}; color:var(--gold); font-size:clamp(1.1rem,2vw,1.55rem); text-transform:uppercase; font-weight:700; }
.tavern-hero h1 { font-size:clamp(3rem,7vw,6.7rem); }
.tavern-hero__tagline { color:#f5c950; font:700 clamp(1.4rem,3vw,2.3rem)/1.2 Georgia, 'Times New Roman', serif; margin:.7rem 0; }
.tavern-hero__text { font-size:1.12rem; max-width:600px; }
.tavern-hero__buttons { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }

/* Destination cards */
.destinations { padding:28px 0 16px; }
.destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.destination-card { position:relative; min-height:390px; background:#1c0d07 center/cover no-repeat; display:flex; align-items:flex-end; }
.destination-card::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 18%, rgba(12,6,3,.4) 55%, rgba(12,6,3,.95)); }
.destination-card__inner { position:relative; z-index:1; width:100%; padding:1rem 1.15rem 1.25rem; text-align:center; }
.destination-card__title { margin-top:-3.4rem; margin-bottom:.85rem; }
.destination-card__inner p { margin:.45rem auto 1rem; max-width:38ch; }
.destination-card__buttons { display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; }

.quick-strip { margin:10px auto 22px; padding:14px 22px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.quick-strip__item { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; }
.quick-strip__icon { font-size:2rem; }
.quick-strip strong { display:block; font-family:{{ settings.heading_font.family }}; text-transform:uppercase; }
.quick-strip span { font-size:.88rem; }

/* New arrivals */
.fresh-section { padding:24px 0; }
.fresh-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.fresh-panel { padding:16px; }
.fresh-panel__heading { text-align:center; margin-bottom:14px; }
.fresh-panel__sub { text-align:center; margin:.35rem 0 1rem; color:#e6d6bd; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.product-card { background:#160d08; border:1px solid rgba(214,168,59,.65); border-radius:8px; overflow:hidden; min-width:0; }
.product-card__image { aspect-ratio: 3 / 4; background:#0e0906; display:grid; place-items:center; overflow:hidden; }
.product-card__image img { width:100%; height:100%; object-fit:cover; }
.product-card__body { padding:.7rem; }
.product-card__title { font-size:.88rem; line-height:1.2; min-height:2.4em; }
.product-card__price { color:#f3c84d; font-weight:700; margin-top:.45rem; }
.fresh-panel__cta { text-align:center; margin-top:14px; }

/* Tavern boards */
.tavern-boards { display:grid; grid-template-columns:1.05fr 1.2fr 1fr; gap:16px; padding:22px 0 32px; }
.board { padding:18px; min-height:260px; }
.board h2 { font-family:{{ settings.heading_font.family }}; text-transform:uppercase; margin:.2rem 0 1rem; }
.commission-meter { margin:1rem 0; height:18px; border-radius:999px; overflow:hidden; background:#4a2a16; border:2px solid #6f461f; }
.commission-meter span { display:block; height:100%; background:linear-gradient(90deg,var(--purple),#b553e7); }
.happenings-list { display:grid; gap:.7rem; }
.happening { display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:start; }
.community-image { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:7px; margin-bottom:.8rem; }

/* Collection / product */
.page-heading { padding:3rem 0 1.5rem; }
.page-heading h1 { font-size:clamp(2.3rem,5vw,4.5rem); }
.collection-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding-bottom:4rem; }
.product-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); gap:40px; padding:3rem 0 5rem; }
.product-main__media { background:#0e0906; padding:18px; }
.product-main__info h1 { font-size:clamp(2rem,4vw,4rem); }
.product-main__price { font-size:1.45rem; color:#f3c84d; font-weight:700; }
.product-main select, .product-main input, .newsletter input, .search-form input { width:100%; min-height:46px; border:2px solid #6f461f; background:#fff8e5; color:#21140d; padding:.65rem .8rem; border-radius:6px; }
.product-form__row { margin:1rem 0; }
.rte { line-height:1.65; }

/* Footer */
.site-footer { border-top:3px solid var(--gold); padding:34px 0 16px; }
.footer-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr) 1.35fr; gap:24px; }
.footer-logo { max-width:220px; }
.footer-grid h3 { font-family:{{ settings.heading_font.family }}; text-transform:uppercase; margin-top:0; }
.footer-links a { display:block; padding:.25rem 0; opacity:.92; }
.newsletter { padding:16px; }
.newsletter form { display:grid; gap:8px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.15); margin-top:22px; padding-top:14px; text-align:center; color:#f2c94c; font-style:italic; }
.socials { display:flex; gap:.6rem; margin-top:.8rem; flex-wrap:wrap; }
.socials a { text-decoration:underline; }

@media (max-width: 1100px) {
  .site-header__nav { display:none; }
  .mobile-toggle { display:grid; }
  .site-header__bar { grid-template-columns:auto 1fr auto; }
  .site-header__logo { justify-self:center; }
  .site-header__logo img { width:min(290px, 48vw); }
  .destination-grid, .tavern-boards { grid-template-columns:1fr; }
  .fresh-grid { grid-template-columns:1fr; }
  .collection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 700px) {
  .page-width { width:min(100% - 20px, 1440px); }
  .site-header__bar { min-height:72px; }
  .site-header__logo img { max-height:88px; }
  .tavern-hero { min-height:520px; }
  .tavern-hero::after { background:linear-gradient(rgba(14,7,4,.55), rgba(14,7,4,.9)); }
  .tavern-hero__content { padding:4rem 0; }
  .tavern-hero__buttons .tct-button { width:100%; }
  .quick-strip { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-main { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
}
/* =========================================================
   TOP CUT TAVERN — MAGIC CARD HALL
   ========================================================= */

.tct-collection-heading {
  padding-bottom: 1rem;
}

.tct-kicker {
  color: #d9b84f;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
  font-size: .78rem;
  margin-bottom: .4rem;
}

.tct-result-count {
  color: #e6d6bd;
  margin-top: .75rem;
}

/* Main Card Hall layout */

.tct-catalog-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 22px;
  padding-bottom: 4rem;
  align-items: start;
}

.tct-catalog-layout--plain {
  grid-template-columns: 1fr;
}

/* Filter panel */

.tct-filter-panel {
  position: sticky;
  top: 18px;
  padding: 16px;
  border: 2px solid #6f461f;
  outline: 1px solid rgba(214, 168, 59, .45);
  border-radius: 8px;

  background:
    linear-gradient(
      rgba(31, 18, 11, .97),
      rgba(18, 10, 7, .98)
    );

  box-shadow:
    0 12px 30px rgba(0, 0, 0, .25);
}

.tct-filter-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;

  border-bottom:
    1px solid rgba(214, 168, 59, .45);

  padding-bottom: 12px;
}

.tct-filter-panel h2 {
  margin: 0;
  font-size: 1.15rem;
  text-transform: uppercase;
}

.tct-clear-filters {
  font-size: .78rem;
  color: #f3c84d;
  text-decoration: underline;
}

/* Active filters */

.tct-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 0 4px;
}

/* Filter categories */

.tct-filter-group {
  border-bottom:
    1px solid rgba(255, 255, 255, .11);

  padding: 12px 0;
}

.tct-filter-group summary {
  cursor: pointer;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #f2e4cf;
}

.tct-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 10px;
}

.tct-filter-options--scroll {
  max-height: 220px;
  overflow: auto;
  padding-right: 4px;
}

/* Filter buttons */

.tct-filter-chip a {
  display: block;
  padding: 5px 9px;

  border:
    1px solid #725029;

  border-radius: 999px;

  background:
    #24140c;

  font-size: .78rem;
  line-height: 1.2;
}

.tct-filter-chip a:hover,
.tct-filter-chip.active a {
  background: var(--purple);
  border-color: #c27cf0;
  color: white;
}

.tct-filter-note {
  color: #bfae98;
  font-size: .75rem;
  line-height: 1.45;
  padding-top: 12px;
}

/* Sort toolbar */

.tct-catalog-toolbar {
  min-height: 54px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 16px;

  padding: 8px 12px;
  margin-bottom: 14px;

  border:
    1px solid rgba(214, 168, 59, .55);

  background:
    rgba(24, 13, 8, .82);

  border-radius: 7px;
}

.tct-sort {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: .85rem;
}

.tct-sort select {
  min-height: 36px;

  background:
    #fff8e5;

  color:
    #21140d;

  border:
    1px solid #6f461f;

  border-radius:
    5px;

  padding:
    0 30px 0 8px;
}

/* Magic card grid */

.collection-grid--cards {
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
}

/* Empty results */

.tct-empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 4rem 1rem;

  border:
    1px solid rgba(214, 168, 59, .5);

  background:
    rgba(20, 11, 7, .7);
}

/* Pagination */

.tct-pagination {
  padding: 2rem 0 0;
  text-align: center;
}

.tct-pagination a,
.tct-pagination .page.current {
  display: inline-block;
  padding: .45rem .7rem;
  margin: .15rem;

  border:
    1px solid #6f461f;

  background:
    #1a0e08;
}

/* Tablet */

@media (max-width: 1100px) {

  .tct-catalog-layout {
    grid-template-columns:
      220px minmax(0, 1fr);
  }

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

}

/* Mobile */

@media (max-width: 760px) {

  .tct-catalog-layout {
    grid-template-columns: 1fr;
  }

  .tct-filter-panel {
    position: static;
  }

  .tct-filter-group:not([open]) .tct-filter-options {
    display: none;
  }

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

  .tct-catalog-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .tct-sort {
    width: 100%;
    justify-content: space-between;
  }

  .tct-sort select {
    max-width: 70%;
  }

}
/* =========================================================
   PRODUCT STOCK
   ========================================================= */

.product-card__stock {
  margin-top: 5px;

  color: #cbb793;

  font-size: .72rem;
  font-weight: 700;

  line-height: 1.25;

  letter-spacing: .03em;
}

.product-card__stock::before {
  content: "◆";

  margin-right: 5px;

  color: #d9b84f;

  font-size: .55rem;

  vertical-align: 1px;
}