/** Shopify CDN: Minification failed

Line 2069:27 Unexpected "*"

**/
/* ── TPS Design Direction Overrides ──────────────────
   Applies the TPS dark aesthetic over Dawn's default styles.
   Loaded after base.css in theme.liquid.
   ──────────────────────────────────────────────────── */

/* ── Global Resets ─────────────────── */

body {
  background-color: #070708 !important;
  color: rgba(255, 255, 255, 0.70);
}

/* Kill Dawn's color scheme backgrounds */
[class*="color-"] {
  --color-background: 7, 7, 8;
  --color-foreground: 255, 255, 255;
  --gradient-background: #070708;
  --color-button: 39, 103, 246;
  --color-button-text: 255, 255, 255;
  --color-link: 70, 220, 255;
  --color-badge-foreground: 255, 255, 255;
  --color-badge-background: 17, 17, 17;
  --color-badge-border: 255, 255, 255;
  --color-secondary-button: 0, 0, 0;
  --color-secondary-button-text: 255, 255, 255;
}

/* ── Typography ─────────────────── */

h1, .h1, .h0, .hxl, .hxxl {
  font-family: 'Gilroy', sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: #ffffff;
}

h2, .h2 {
  font-family: 'Gilroy', sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #ffffff;
}

h3, .h3 {
  font-family: 'Gilroy', sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #ffffff;
}

h4, .h4, h5, .h5, h6, .h6 {
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: #ffffff;
}

body, p {
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
}

small, .small, .caption, label, .label {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
}

/* Eyebrow / caption style */
.caption-with-letter-spacing {
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tps-cyan);
}

/* Gradient text utility */
.tps-gradient-text {
  background: var(--tps-gradient-brand);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Buttons ─────────────────── */

.button--primary,
.shopify-challenge__button,
button.button {
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #2767f6, #46dcff) !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 8px;
  padding: 16px 40px;
  box-shadow: 0 0 24px rgba(39, 103, 246, 0.3);
  transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.button--primary:hover,
.shopify-challenge__button:hover,
button.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 40px rgba(39, 103, 246, 0.5);
  color: #000000 !important;
}

.button--secondary {
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 8px;
  padding: 16px 40px;
  transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.button--secondary:hover {
  border-color: var(--tps-cyan) !important;
  color: var(--tps-cyan) !important;
  background: rgba(70, 220, 255, 0.05) !important;
}

/* ── Header (Glassmorphic) ─────────────────── */

.section-header.shopify-section-group-header-group {
  z-index: 100 !important;
  position: sticky !important;
  top: 0 !important;
}

.header-wrapper {
  background: rgba(7, 7, 8, 0.92) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: background 300ms ease;
}

.header-wrapper--border-bottom {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* Keep glass effect when sticky */
.shopify-section-header-sticky .header-wrapper {
  background: rgba(7, 7, 8, 0.92) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

.header {
  color: #ffffff;
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  position: relative;
}

/* Position icons absolutely so they don't push nav off-center */
.header__icons {
  position: absolute !important;
  right: 10rem;
  top: 50%;
  transform: translateY(-50%);
}

/* Position logo absolutely — works on both h1 (homepage) and a (other pages) */
.header__heading,
.header > .header__heading-link {
  position: absolute !important;
  left: 10rem;
  top: 50%;
  transform: translateY(-50%);
}

/* Hide text-only fallback (when no logo image is set) */
.header__heading-link > .h2 {
  display: none !important;
}

/* Normalize h1 wrapping on homepage vs other pages */
.header__heading h1,
.header__heading .h1 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: inherit !important;
}

/* Hide localization / translation / currency selectors */
.desktop-localization-wrapper,
.header-localization,
.localization-form {
  display: none !important;
}

/* Center the nav — take full width, center items */
.header__inline-menu {
  display: flex !important;
  justify-content: center !important;
  flex-grow: 1;
}

.header__inline-menu .list-menu--inline {
  justify-content: center;
  gap: 1.2rem;
}

/* Nav links — default state (gray, inactive) */
.header__menu-item,
.header__menu-item span,
.list-menu__item--link {
  color: rgba(255, 255, 255, 0.62) !important;
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  transition: color 300ms cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Nav links — hover */
.header__menu-item:hover,
.header__menu-item:hover span,
.list-menu__item--link:hover {
  color: #ffffff !important;
}

/* Nav links — active page (white, no underline) */
.header__menu-item.header__active-menu-item,
.header__menu-item.header__active-menu-item span,
.header__menu-item[aria-current="page"],
.header__menu-item[aria-current="page"] span,
.list-menu__item--link.list-menu__item--active,
.list-menu__item--link[aria-current="page"] {
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: none !important;
  background: none !important;
}

/* Remove Dawn's active underline on menu items */
.header__active-menu-item::after,
.list-menu__item--link[aria-current="page"]::after,
.header__menu-item.header__active-menu-item::after {
  display: none !important;
}

/* Remove any underline/border from all header links */
.header a {
  text-decoration: none !important;
}

/* Override Dawn's active menu underline */
.list-menu__item--active {
  text-decoration: none !important;
}

.list-menu__item--active:hover {
  text-decoration: none !important;
}

/* Logo (hidden but keep link accessible) */
.header__heading-link {
  color: #ffffff !important;
}

/* Cart icon */
.header__icon {
  color: rgba(255, 255, 255, 0.70);
  transition: color 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.header__icon:hover {
  color: #ffffff;
}

/* Cart count badge */
.cart-count-bubble {
  background: linear-gradient(135deg, #2767f6, #46dcff) !important;
  color: #000000 !important;
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
}

/* ── Footer ─────────────────── */

.footer {
  background-color: #111112 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.50);
}

.footer h2,
.footer .footer__heading {
  color: #ffffff;
  font-family: 'Gilroy', sans-serif;
  font-weight: 800;
  font-size: 0.9em !important;
}

.footer,
.footer a,
.footer p,
.footer li,
.footer .copyright__content {
  font-size: 0.9em;
}

.footer a {
  color: rgba(255, 255, 255, 0.50);
  transition: color 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.footer a:hover {
  color: #ffffff;
}

.footer .icon,
.footer svg,
.footer .footer__list-social svg {
  width: 20px !important;
  height: 20px !important;
}

/* ── Blog Page ─────────────────── */

.main-blog {
  padding-top: 48px !important;
  padding-bottom: 64px !important;
}

.main-blog .title--primary {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(2.4rem, 4vw, 3.4rem) !important;
  color: #ffffff !important;
  letter-spacing: -0.02em;
  margin-bottom: 40px !important;
}

/* Blog grid — 3 columns, no collage layout */
.blog-articles {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  max-width: 90%;
  margin: 0 auto;
}

@media (max-width: 749px) {
  .blog-articles {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 100%;
  }
}

/* Override collage layout */
.blog-articles--collage .article {
  grid-column: auto !important;
  grid-row: auto !important;
}

/* Article cards */
.blog-articles .article {
  width: 100% !important;
  margin: 0 !important;
}

.blog-articles .card-wrapper {
  position: relative;
}

.blog-articles .card {
  background-color: #111112 !important;
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden;
  transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-articles .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.03);
}

/* Hover border glow */
.blog-articles .card-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 14px;
  padding: 1px;
  background: rgba(255, 255, 255, 0.12);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 500ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 2;
}

.blog-articles .card-wrapper:hover::before {
  opacity: 1;
}

/* Card image */
.blog-articles .card__inner {
  border-radius: 14px !important;
}

.blog-articles .card__inner .media {
  border-radius: 14px 14px 0 0 !important;
}

.blog-articles .card__media img,
.blog-articles .article-card__image {
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.blog-articles .card-wrapper:hover .card__media img,
.blog-articles .card-wrapper:hover .article-card__image {
  transform: scale(1.03);
}

/* Hide the overlay text on the image */
.blog-articles .card__inner > .card__content {
  display: none !important;
}

/* Card content */
.blog-articles .card__content {
  padding: 12px 20px 22px !important;
}

/* Remove gap between image and content */
.blog-articles .card__inner {
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

.blog-articles .card--card .card__inner,
.blog-articles .card .card__inner {
  padding-bottom: 0 !important;
}

.blog-articles .card__inner.ratio {
  padding-bottom: 0 !important;
}

.blog-articles .card__inner.ratio::before {
  display: none !important;
}

.blog-articles .article-card__image-wrapper {
  position: relative !important;
}

.blog-articles .article-card__image {
  position: relative !important;
  padding-bottom: 0 !important;
}

.blog-articles .article-card__image img {
  position: relative !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto !important;
}

.blog-articles .card__heading,
.blog-articles .card__heading a {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.8rem !important;
  color: #ffffff !important;
  text-decoration: none !important;
  letter-spacing: -0.01em;
  line-height: 1.3 !important;
}

.blog-articles .card__heading a:hover {
  color: #ffffff !important;
}

/* Article excerpt */
.blog-articles .article-card__excerpt {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.21rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
  line-height: 1.6 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.blog-articles .article-card__info {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.05rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

/* Date */
.blog-articles .article-card__info time,
.blog-articles .circle-divider {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

/* Collage layout image size overrides */
.blog-articles--collage .article .media,
.blog-articles--collage .article .card__media {
  padding-bottom: 0 !important;
}

.blog-articles .article .media img,
.blog-articles--collage .article .media img {
  position: relative !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto !important;
}

.blog-articles .article .media,
.blog-articles .card__media,
.blog-articles .article-card__image {
  padding-bottom: 0 !important;
  height: auto !important;
}

/* Pagination */
.main-blog .pagination-wrapper {
  margin-top: 48px;
}

.main-blog .pagination li a,
.main-blog .pagination li span {
  font-family: 'Gilroy', sans-serif;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
}

.main-blog .pagination li a:hover {
  color: #ffffff;
}

.main-blog .pagination li .pagination__item--current {
  background: linear-gradient(135deg, #2767f6, #46dcff);
  color: #ffffff;
  border-radius: 8px;
}

/* Hide Dawn badges on blog cards */
.blog-articles .card__badge {
  display: none !important;
}

/* ── Blog Article Page ─────────────────── */

.article-template {
  padding-bottom: 60px;
}

/* Hero image */
.article-template__hero-container {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 40px 0 0 !important;
}

.article-template__hero-container .media {
  border-radius: 14px !important;
  overflow: hidden !important;
}

.article-template__hero-container img {
  border-radius: 14px !important;
}

/* Title */
.article-template__title {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin-top: 32px !important;
  margin-bottom: 12px !important;
}

/* Date / author meta */
.article-template .caption-with-letter-spacing,
.article-template .circle-divider {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.05rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
  letter-spacing: 0.02em !important;
}

/* Article body content */
.article-template__content {
  margin-top: 36px !important;
}

.article-template__content,
.article-template__content p,
.article-template__content li,
.article-template__content span {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.44rem !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1.8 !important;
}

.article-template__content h2,
.article-template__content h3,
.article-template__content h4 {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
  line-height: 1.25 !important;
}

.article-template__content h2 {
  font-size: 2rem !important;
}

.article-template__content h3 {
  font-size: 1.6rem !important;
}

.article-template__content h4 {
  font-size: 1.35rem !important;
}

.article-template__content a {
  color: #46dcff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 300ms ease !important;
}

.article-template__content a:hover {
  color: #ffffff !important;
}

.article-template__content strong,
.article-template__content b {
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.article-template__content img {
  border-radius: 14px !important;
  margin: 24px 0 !important;
}

.article-template__content blockquote {
  border-left: 3px solid rgba(70, 220, 255, 0.4) !important;
  padding: 8px 0 8px 24px !important;
  margin: 24px 0 !important;
  font-style: italic !important;
  color: rgba(255, 255, 255, 0.55) !important;
}

.article-template__content ul,
.article-template__content ol {
  padding-left: 24px !important;
  margin: 16px 0 !important;
}

.article-template__content li {
  margin-bottom: 8px !important;
}

/* Share section */
.article-template__social-sharing {
  margin-top: 40px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.article-template__social-sharing .share-button__button {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

/* Back to blog link */
.article-template__back {
  margin-top: 48px !important;
}

.article-template__back .article-template__link {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-decoration: none !important;
  transition: color 300ms ease !important;
}

.article-template__back .article-template__link:hover {
  color: #ffffff !important;
}

/* Comments section */
.article-template__comment-wrapper {
  background-color: #111112 !important;
  margin-top: 48px !important;
  padding: 48px 0 !important;
  border-radius: 14px;
}

.article-template__comment-wrapper h2 {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.article-template__comment-wrapper .field__input {
  font-family: 'Gilroy', sans-serif !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  color: #ffffff !important;
}

.article-template__comment-wrapper .field__input:focus {
  border-color: rgba(70, 220, 255, 0.35) !important;
  box-shadow: 0 0 0 3px rgba(39, 103, 246, 0.1) !important;
}

.article-template__comment-wrapper .button {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #2767f6, #46dcff) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 32px !important;
}

/* 7px divider between sections */
.article-template__comment-wrapper::before {
  content: '';
  display: block;
  height: 7px;
  background: #111112;
  position: absolute;
  top: -7px;
  left: 0;
  right: 0;
}

/* ── Cart Page ─────────────────────────── */

/* Raised card panel for cart items only */
#main-cart-items {
  background: #111112 !important;
  border-radius: 14px !important;
  padding: 32px 36px !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  max-width: var(--page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cart__empty-text,
.main-cart-items .title,
.cart-items .title {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(2.2rem, 4vw, 3rem) !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
}

.cart-items {
  border-color: rgba(255, 255, 255, 0.06) !important;
}

.cart-items thead th {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.cart-items td {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

.cart-item__media {
  border-radius: 10px !important;
  overflow: hidden !important;
}

.cart-item__image {
  border-radius: 10px !important;
}

.cart-item__name,
.cart-item__name a {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.cart-item__name a:hover {
  color: #46dcff !important;
}

.cart-item__price .price,
.cart-item .price,
.cart-item__totals .price {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  color: #ffffff !important;
}

.cart-item .price--end,
.cart-item .price .price-item--regular {
  color: rgba(255, 255, 255, 0.62) !important;
}

.cart-item__details dl,
.cart-item__details dd {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

.cart-item .quantity {
  border-color: rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  background: #111112 !important;
}

.cart-item .quantity__input {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  background: transparent !important;
}

.cart-item .quantity__button {
  color: rgba(255, 255, 255, 0.5) !important;
  transition: color 200ms ease !important;
}

.cart-item .quantity__button:hover {
  color: #ffffff !important;
}

cart-remove-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

cart-remove-button a,
cart-remove-button .button,
cart-remove-button .button--tertiary {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px !important;
  min-width: auto !important;
  min-height: auto !important;
}

cart-remove-button a:hover,
cart-remove-button .button:hover,
cart-remove-button .button--tertiary:hover {
  color: #f87171 !important;
}

cart-remove-button .svg-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cart__footer {
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.totals {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.totals__total,
.totals__subtotal {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.3rem !important;
  color: #ffffff !important;
  margin: 0 !important;
}

.totals__total-value,
.totals__subtotal-value {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  font-size: 4rem !important;
  color: #ffffff !important;
  margin: 0 !important;
  -webkit-text-fill-color: #ffffff !important;
}

.cart__footer .tax-note,
.totals .cart__checkout-note {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

.cart__checkout-button,
.cart__footer button[name="checkout"],
.cart__footer .cart__checkout-button,
.cart__ctas button {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  background: linear-gradient(135deg, #2767f6, #46dcff) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 16px 32px !important;
  box-shadow: 0 0 20px rgba(39, 103, 246, 0.25) !important;
  transition: all 300ms ease !important;
  -webkit-text-fill-color: #ffffff !important;
}

.cart__checkout-button:hover,
.cart__footer button[name="checkout"]:hover {
  box-shadow: 0 0 30px rgba(39, 103, 246, 0.45) !important;
  transform: translateY(-1px) !important;
}

.cart__note {
  font-family: 'Gilroy', sans-serif !important;
}

.cart__note label {
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.cart__note textarea {
  background: #111112 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
}

.cart__note textarea:focus {
  border-color: rgba(70, 220, 255, 0.35) !important;
}

.cart--empty {
  text-align: center;
  padding: 80px 0 !important;
}

.cart--empty p {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

.cart--empty a {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  background: linear-gradient(135deg, #2767f6, #46dcff) !important;
  color: #ffffff !important;
  padding: 14px 32px !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 16px !important;
  box-shadow: 0 0 20px rgba(39, 103, 246, 0.25) !important;
}

.cart-item .cart-item__discounted-prices .price-item--discounted {
  color: #34d399 !important;
}

/* Featured collection on cart page */
.cart ~ .featured-collection .collection__title,
.cart ~ .section .collection__title {
  margin-bottom: 28px !important;
}

/* View All button */
.collection__view-all {
  text-align: center !important;
  margin-top: 32px !important;
}

.collection__view-all .button,
.collection__view-all a,
a.button--simple,
.featured-collection .collection__view-all a {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.94rem !important;
  color: rgba(255, 255, 255, 0.5) !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 10px !important;
  padding: 10px 24px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 300ms ease !important;
}

.collection__view-all .button::after,
.collection__view-all a::after,
.featured-collection .collection__view-all a::after {
  content: '\203A' !important;
  font-size: 1.3em !important;
  line-height: 1 !important;
}

.collection__view-all .button:hover,
.collection__view-all a:hover,
a.button--simple:hover,
.featured-collection .collection__view-all a:hover {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Licensing / terms agreement text */
.cart__footer p,
.cart__footer label,
.cart__footer .rte,
.cart .terms-and-conditions,
.cart [data-terms],
.cart__footer .cart__checkout-note,
.cart__footer small,
.js-contents + p,
.totals + p,
.tax-note {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 0.95rem !important;
}

.cart__footer p a,
.cart__footer label a,
.cart .terms-and-conditions a {
  color: rgba(255, 255, 255, 0.55) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.cart__footer p a:hover,
.cart__footer label a:hover,
.cart .terms-and-conditions a:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* Continue shopping button */
.cart__footer a[href="/collections/all"],
.cart__footer a[href="/collections"],
a.button--secondary,
.cart__footer .button--secondary,
.cart-item a.button--tertiary,
a.underlined-link {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: rgba(255, 255, 255, 0.5) !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 300ms ease !important;
}

.cart__footer a[href="/collections/all"]:hover,
.cart__footer a[href="/collections"]:hover,
a.button--secondary:hover,
.cart__footer .button--secondary:hover,
a.underlined-link:hover {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

/* ── Sections — General ─────────────────── */

.section {
  background-color: #070708;
}

/* Content containers (rich-text, etc.) */
.content-container {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Rich text section */
.rich-text__text,
.rich-text__text p {
  color: rgba(255, 255, 255, 0.70);
}

.rich-text__heading {
  color: #ffffff;
}

/* ── Product Cards ─────────────────── */

.product-card-wrapper .card,
.product-card-wrapper,
.contains-card--product,
.card-wrapper {
  --border-radius: 14px !important;
  --product-card-corner-radius: 1.4rem;
}

.card {
  background-color: #111112;
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden;
  position: relative;
  transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.card--card,
.card--standard {
  border-radius: 14px !important;
}

/* Hover border glow — same as categories */
.card-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 14px;
  padding: 1px;
  background: rgba(255, 255, 255, 0.12);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 500ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 2;
}

.card-wrapper {
  position: relative;
}

.card-wrapper:hover::before {
  opacity: 1;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.03);
}

/* More spacing above card content */
.card__content {
  padding: 20px 16px !important;
}

.card__heading,
.card__heading a {
  color: #ffffff !important;
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
}

.card-information .price,
.card-information .price-item {
  color: rgba(255, 255, 255, 0.70);
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
}

/* Card inner wrapper */
.card__inner,
.card__media,
.card__inner .media {
  border-radius: 14px !important;
}

/* Card content area */
.card__content {
  padding: 16px;
}

/* ── Featured Collection Section ─────────────────── */

.collection__title,
.title-wrapper-with-link .title {
  color: #ffffff;
  font-family: 'Gilroy', sans-serif;
  font-weight: 800;
}

.collection__title h2.title,
.collection__title .title.inline-richtext {
  font-size: clamp(2.05rem, 4.1vw, 3.07rem) !important;
  letter-spacing: -0.02em;
}

.collection__description,
.collection__description p {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.56rem;
  letter-spacing: 0.06em;
  color: #b0b0b0;
  margin-top: -2px;
}

.collection__title.title-wrapper {
  margin-bottom: 12px;
}

.collection__view-all a,
.title-wrapper-with-link .link {
  color: var(--tps-cyan);
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  transition: color 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.collection__view-all a:hover,
.title-wrapper-with-link .link:hover {
  color: #ffffff;
}

/* ── Collection Product Grid Cards ─────────────────── */

.collection .card-wrapper {
  position: relative;
}

.collection .card {
  background-color: #111112 !important;
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden;
}

.collection .card__inner {
  border-radius: 14px !important;
}

.collection .card__inner .media {
  border-radius: 14px 14px 0 0 !important;
}

/* Hover border glow */
.collection .card-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 14px;
  padding: 1px;
  background: rgba(255, 255, 255, 0.12);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 500ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 2;
}

.collection .card-wrapper:hover::before {
  opacity: 1;
}

.collection .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.03);
}

/* Shrink product image */
.collection .card__media,
.collection .card__inner .media {
  margin: 10px 16px 0 !important;
  border-radius: 10px !important;
  width: calc(100% - 32px) !important;
}

/* Image zoom on hover */
.collection .card__media img {
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.collection .card-wrapper:hover .card__media img {
  transform: scale(1.03);
}

/* Card content */
.collection .card__content {
  padding: 14px 20px 18px !important;
  position: relative;
}

.collection .card__heading,
.collection .card__heading a {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 800 !important;
  font-size: 2rem !important;
  color: #ffffff !important;
  text-decoration: none !important;
  letter-spacing: -0.02em;
}

/* Genre tag (injected via JS) */
.tps-card-genre {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  font-size: 1.32rem;
  color: #b0b0b0;
  margin: 4px 0 0;
}

/* Price */
.collection .card-information .price,
.collection .card-information .price-item {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.72rem !important;
  color: rgba(255, 255, 255, 0.80) !important;
  margin-top: 8px;
}

/* Hide compare-at price */
.collection .price--on-sale .price-item--regular {
  display: none !important;
}

/* Make entire card clickable */
.collection .card-wrapper {
  cursor: pointer;
}

/* Plus icon button */
.tps-card-plus {
  position: absolute;
  bottom: 23px;
  right: 20px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: background 300ms cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  overflow: hidden;
}

.tps-card-plus__glow {
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(70, 220, 255, 0.7) 0%, rgba(39, 103, 246, 0.4) 40%, transparent 70%);
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tps-card-plus:hover .tps-card-plus__glow {
  opacity: 1;
}

.tps-card-plus:hover {
  background: rgba(255, 255, 255, 0.06);
}

.tps-card-plus svg {
  width: 18px;
  height: 18px;
  stroke: rgba(255, 255, 255, 0.50);
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  transition: stroke 300ms cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  z-index: 2;
}

.tps-card-plus:hover svg {
  stroke: #ffffff;
}

/* Hide sale badge */
.card__badge,
.badge {
  display: none !important;
}

/* Remove Dawn's default card border/shadow */
.collection .card--card {
  --border-width: 0 !important;
  --shadow-visible: 0 !important;
}


/* ── Collection card scroll animations ─────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .collection #product-grid .grid__item {
    opacity: 0;
    transform: translateY(40px) scale(0.95);
    filter: blur(4px);
    transition:
      opacity 800ms cubic-bezier(0.25, 1, 0.5, 1),
      transform 800ms cubic-bezier(0.25, 1, 0.5, 1),
      filter 800ms cubic-bezier(0.25, 1, 0.5, 1);
  }

  .collection #product-grid .grid__item.tps-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* ── Collection pagination ─────────────────── */

/* ── Restyle Dawn's pagination ─────────────────── */
.collection .pagination-wrapper {
  display: flex !important;
  justify-content: center;
  margin-top: 48px;
}

.collection .pagination__list {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.collection .pagination__item {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500;
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.62) !important;
  text-decoration: none !important;
  width: 44px;
  height: 44px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);
  border: none !important;
  background: none !important;
}

.collection .pagination__item:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.collection .pagination__item--current {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.10) !important;
  font-weight: 700 !important;
}

.collection .pagination__item-arrow {
  display: none !important;
}

/* ── Collage Section ─────────────────── */

.collage-card {
  background-color: #111112;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  overflow: hidden;
}

/* ── Video Section ─────────────────── */

.video-section__media {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Multicolumn Section ─────────────────── */

.multicolumn-card {
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  transition: all 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.multicolumn-card:hover {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
}

.multicolumn-card__info h3,
.multicolumn .title {
  color: #ffffff;
}

.multicolumn-card__info p,
.multicolumn .rte {
  color: rgba(255, 255, 255, 0.70);
}

/* ── Links ─────────────────── */

a {
  color: var(--tps-cyan);
}

a:hover {
  color: #ffffff;
}

/* ── Form inputs ─────────────────── */

.field__input,
.select__select,
input[type="email"],
input[type="text"],
textarea {
  background-color: #111112 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px;
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  transition: border-color 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.field__input:focus,
.select__select:focus,
input[type="email"]:focus,
input[type="text"]:focus,
textarea:focus {
  border-color: var(--tps-cyan) !important;
  box-shadow: 0 0 0 1px var(--tps-cyan);
}

.field__label {
  color: rgba(255, 255, 255, 0.62);
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
}

/* ── Announcement bar ─────────────────── */

.announcement-bar {
  background: linear-gradient(135deg, #2767f6, #46dcff) !important;
  color: #000000 !important;
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
}

.announcement-bar a {
  color: #000000 !important;
}

/* ── Section divider (accent line) ─────────────────── */

.section + .section {
  border-top: none;
}

.tps-divider {
  width: 100%;
  height: 7px;
  background-color: #111112;
  margin: 0;
  border: none;
}

/* ── Scroll reveal (enhance Dawn's built-in) ─────────────────── */

@media (prefers-reduced-motion: no-preference) {
  .scroll-trigger.animate--slide-in {
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  }
}

/* ── Cart drawer ─────────────────── */

.cart-drawer {
  background-color: #111112 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.cart-drawer__overlay {
  background: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ── Menu drawer (mobile) ─────────────────── */

.menu-drawer {
  background-color: #111112 !important;
  color: #ffffff;
}

.menu-drawer__menu-item,
.menu-drawer__menu-item span {
  color: rgba(255, 255, 255, 0.70) !important;
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  font-size: 1.45rem;
  line-height: 1.4 !important;
}

.menu-drawer__menu-item {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}

.js .menu-drawer__menu li {
  margin-bottom: 0.4rem;
}

.menu-drawer__menu-item:hover {
  color: #ffffff !important;
}

/* ── Collection Filters & Sort ─────────────────── */

/* Filter summary buttons */
.facets__summary {
  font-family: 'Gilroy', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.50) !important;
}

.facets__summary:hover,
.facets__disclosure[open] .facets__summary {
  color: #ffffff !important;
}

/* Filter dropdown popup */
.facets__display {
  background-color: #111112 !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5) !important;
  padding: 16px !important;
  overflow: hidden;
}

/* Filter checkbox labels */
.facets__label,
.facet-checkbox__text {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.60);
}

/* Filter checkboxes */
.facet-checkbox {
  border-radius: 6px !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Align filters row */
.facets__form {
  align-items: center !important;
}

.facet-filters {
  align-items: center !important;
  align-self: center !important;
  margin-top: 0 !important;
}

.facet-filters__field {
  align-items: center !important;
}

.facet-filters__label {
  margin: 0 1rem 0 0 !important;
}

.facets__wrapper {
  align-self: center !important;
  align-items: center !important;
  margin-top: 0 !important;
}

.facets__summary {
  margin-bottom: 0 !important;
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 500 !important;
}

.facets__heading {
  margin-top: 0 !important;
}

/* Sort by wrapper */
.facet-filters__field .select {
  position: relative;
  width: auto !important;
}

.facet-filters__field .select .icon-caret {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Sort by select */
.facet-filters__sort,
.facet-filters__field .select__select {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: rgba(255, 255, 255, 0.50) !important;
  background-color: #111112 !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 12px !important;
  padding: 10px 40px 10px 16px !important;
  min-height: 44px;
  min-width: auto !important;
  width: auto !important;
  appearance: none;
  -webkit-appearance: none;
}

.facet-filters__sort:hover,
.facet-filters__field .select__select:hover {
  border-color: rgba(255, 255, 255, 0.20) !important;
  color: #ffffff !important;
}

.facet-filters__sort:focus,
.facet-filters__field .select__select:focus {
  border-color: rgba(70, 220, 255, 0.4) !important;
  box-shadow: 0 0 0 1px rgba(70, 220, 255, 0.2) !important;
  outline: none !important;
}

/* Sort by label */
.facet-filters__label {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.62) !important;
}

/* Facet heading */
.facets__heading {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.62) !important;
}

/* Active filters / pills */
.active-facets .active-facets__button {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 9999px;
  color: rgba(255, 255, 255, 0.70);
  padding: 6px 14px;
}

.active-facets .active-facets__button:hover {
  border-color: rgba(255, 255, 255, 0.20);
  color: #ffffff;
}

/* Product count */
.facets__form .product-count {
  font-family: 'Gilroy', sans-serif;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.62);
  align-self: center !important;
  margin-left: 16px;
}

/* Mobile filter button */
.mobile-facets__open {
  font-family: 'Gilroy', sans-serif !important;
  font-weight: 700 !important;
  background-color: #111112 !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 12px !important;
  color: rgba(255, 255, 255, 0.50) !important;
  padding: 10px 20px !important;
}

/* Mobile facets drawer */
.mobile-facets__wrapper {
  background-color: #111112 !important;
  border-radius: 14px 14px 0 0;
}

/* ── Utility: accent line divider ─────────────────── */

.tps-accent-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(39, 103, 246, 0.3) 20%, rgba(70, 220, 255, 0.3) 50%, rgba(39, 103, 246, 0.3) 80%, transparent 100%);
  max-width: 600px;
  margin: 0 auto;
  border: none;
}

/* ══════════════════════════════════════════════
   MOBILE OVERRIDES (max-width: 749px)
   ══════════════════════════════════════════════ */

@media screen and (max-width: 749px) {

  /* ── Header: logo centered, hamburger left, icons right ── */
  .header {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 16px !important;
    min-height: 64px !important;
    position: relative !important;
  }

  /* Logo centered */
  .header__heading,
  .header > .header__heading-link {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
  }

  .header__heading-logo-wrapper img {
    width: 36px;
    height: 36px;
  }

  /* Hide search icon from header */
  .header__search,
  .header__icon--search,
  details-modal[data-modal="search"],
  .header .search-modal {
    display: none !important;
  }

  /* Cart/search icons on the right */
  .header__icons {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: auto !important;
    gap: 4px;
  }

  /* Hamburger menu on the left (Dawn's mobile menu toggle) */
  .menu-drawer__open,
  .header__icon--menu {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  /* Hide desktop nav */
  .header__inline-menu {
    display: none !important;
  }

}

/* ── Tablet header (750–989px) ── */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .header__heading {
    left: 3rem !important;
  }

  .header__icons {
    right: 3rem !important;
  }

  .header__inline-menu .list-menu--inline {
    gap: 0.6rem;
  }

  .header__menu-item,
  .header__menu-item span,
  .list-menu__item--link {
    font-size: 1.05rem;
  }
}

/* ── Termsbee app fix ─────────────────── */
.termsbee-icon {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
}
.termsbee-skins-type-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.termsbee-skins-type-text,
.termsbee-skins-type-text a {
  color: var(--tps-white-70, rgba(255,255,255,0.70)) !important;
  font-size: 14px;
}
.termsbee-skins-type-box {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
}

/* ── Cart page dark theme fixes ─────────────────── */

/* Product thumbnail — remove black gradient background */
.cart-item__image-container.gradient,
.cart-item__image-container.global-media-settings {
  background: transparent !important;
}
.cart-item__image-container::after {
  content: none !important;
}

/* Mobile cart — constrain product image */
@media screen and (max-width: 749px) {
  .cart-item__media {
    max-width: 8rem;
    overflow: hidden;
  }
  .cart-item__image-container {
    width: 100%;
  }
  .cart-item__image {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    border-radius: var(--tps-radius-md, 8px);
  }
}

/* Cart item text */
.cart-item__name,
.cart-item__name a,
.cart-item a {
  color: #ffffff;
}
.cart-item__details .price,
.cart-item .price {
  color: var(--tps-white-90, rgba(255,255,255,0.90));
}
.cart-item__discounted-prices .price--end {
  color: var(--tps-white-50, rgba(255,255,255,0.50));
}
.cart-item__quantity .quantity__button,
.cart-item__quantity .quantity__input {
  color: #ffffff;
  border-color: var(--tps-white-20, rgba(255,255,255,0.20));
}

/* Cart totals */
.cart__footer .totals,
.cart__footer .totals__subtotal,
.cart__footer .totals__subtotal-value {
  color: #ffffff;
}
.cart__footer .tax-note,
.cart__footer .rte {
  color: var(--tps-white-50, rgba(255,255,255,0.50));
}

/* Upsell / "You might also like" featured-collection on cart page */
.cart-page ~ .shopify-section .card,
.cart-page ~ .shopify-section .card__content,
.shopify-section-template--*__featured-collection .card,
[class*="featured-collection"] .card {
  background: var(--tps-dark-2, #111111);
  color: #ffffff;
}
[class*="featured-collection"] .card__heading,
[class*="featured-collection"] .card__heading a,
[class*="featured-collection"] .full-unstyled-link {
  color: #ffffff;
}
[class*="featured-collection"] .price-item,
[class*="featured-collection"] .price {
  color: var(--tps-white-90, rgba(255,255,255,0.90));
}
[class*="featured-collection"] .card__media,
[class*="featured-collection"] .media {
  background: transparent;
}
[class*="featured-collection"] h2,
[class*="featured-collection"] .title {
  color: #ffffff;
}

/* Product card image — prevent black/gradient background on thumbnails globally */
.card .media.media--transparent,
.card__media .media,
.global-media-settings {
  background: transparent !important;
}

/* ── Essential Upsell app dark theme fix ─────────────────── */
[data-essential-upsell],
[class*="eu-"],
[id*="essential-upsell"],
[id*="EssentialUpsell"],
.eu-upsell,
.eu-offer,
.eu-widget,
[class*="essential_upsell"],
[class*="essentialUpsell"] {
  color: #ffffff !important;
  background-color: var(--tps-dark-2, #111111) !important;
}
[data-essential-upsell] *,
[class*="eu-"] *,
[id*="essential-upsell"] *,
[id*="EssentialUpsell"] *,
[class*="essential_upsell"] *,
[class*="essentialUpsell"] * {
  color: #ffffff !important;
}
[data-essential-upsell] .price,
[class*="eu-"] .price,
[id*="essential-upsell"] .price,
[id*="EssentialUpsell"] .price {
  color: var(--tps-white-90, rgba(255,255,255,0.90)) !important;
}
/* Catch-all for any app-injected upsell widget in cart */
.cart__footer ~ div:not([class*="shopify-section"]),
form[action="/cart"] div[style*="color: #"],
form[action="/cart"] div[style*="color:#"] {
  color: #ffffff !important;
}
form[action="/cart"] div[style*="color: #"] *,
form[action="/cart"] div[style*="color:#"] * {
  color: inherit !important;
}

/* ── Native terms checkbox (replaces Termsbee) ─────────────────── */
.cart__terms {
  margin-bottom: 1.2rem;
  /* The label used to wrap the text; the text now sits beside it as a sibling,
     so the row gap moves up to the container to keep the layout identical. */
  display: flex;
  align-items: center;
  gap: 10px;
}
.tps-terms-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
/* A11Y 2.5.8: the box stays 22px so nothing shifts; the tappable area is 44px. */
.tps-terms-check {
  position: relative;
}
.tps-terms-check::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 44px; height: 44px;
  transform: translate(-50%, -50%);
  background: transparent;
}
/* A11Y 2.4.7: the real input is opacity:0 / 0x0, so the focus ring has to be
   painted on the visible proxy or keyboard users see nothing at all. */
.tps-terms-label input[type="checkbox"]:focus-visible + .tps-terms-check {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 3px;
}
.tps-terms-note:empty {
  display: none;
}
.tps-terms-note {
  margin: 0 0 1.2rem;
  font-size: 14px;
  color: #ffb4b4;
}
.cart__checkout-button.is-blocked {
  opacity: 0.55;
  cursor: not-allowed;
}
.tps-terms-label input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.tps-terms-check {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border: 2px solid var(--tps-white-30, rgba(255,255,255,0.30));
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 150ms ease;
  background: transparent;
}
.tps-terms-label input:checked + .tps-terms-check {
  background: var(--tps-blue, #2767f6);
  border-color: var(--tps-blue, #2767f6);
}
.tps-terms-check::after {
  content: '';
  display: none;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -2px;
}
.tps-terms-label input:checked + .tps-terms-check::after {
  display: block;
}
.tps-terms-text {
  font-size: 14px;
  color: var(--tps-white-70, rgba(255,255,255,0.70));
}
.tps-terms-text a {
  color: var(--tps-white-70, rgba(255,255,255,0.70));
  text-decoration: none;
}
.tps-terms-text a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Hide Termsbee app inject */
[class*="termsbee"],
#huskiAppsAgreeCB,
.termsbee-skins-type-label {
  display: none !important;
}




/* ── TAP TARGETS (mobile a11y) ───────────────────────────────
   Several controls render well under the 44x44px minimum recommended by Apple's HIG
   and the WCAG 2.2 Target Size (Minimum) criterion. The audio preview buttons were the
   worst at 22x22px, and they are the single most-used control on a sample-pack page.
   These rules enlarge only the *hit* area via a centred pseudo-element, so nothing
   moves and nothing looks different — the visual button keeps its original size. */
.tps-audio__play,
.tps-course__audio-play,
.prod-desc__toggle,
.cart-remove-button,
.cart-remove-button > a,
.cart-remove-button > button {
  position: relative;
}

.tps-audio__play::after,
.tps-course__audio-play::after,
.prod-desc__toggle::after,
.cart-remove-button::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  /* purely a hit area: no paint, and it must never intercept layout */
  background: transparent;
  pointer-events: auto;
}

/* The audio row is itself clickable, so keep the button's hit area above it. */
.tps-audio__play { z-index: 1; }
