:root {
  --tfms-blue: #3a5a99;
  --tfms-blue-dark: #2e477a;
  --tfms-red: #d33f49;
  --tfms-text: #111827;
  --tfms-muted: #6b7280;
  --tfms-border: #d1d5db;
  --tfms-surface: #ffffff;
  --tfms-surface-alt: #f3f4f6;
  --tfms-shadow: 0 12px 32px rgba(17, 24, 39, 0.12);
  --tfms-radius: 0;
  --tfms-container: 1280px;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--tfms-surface-alt);
  color: var(--tfms-text);
  font-family: "Inter", sans-serif;
  line-height: 1.6;
}

[hidden] {
  display: none !important;
}

a {
  color: inherit;
  text-decoration: none;
}

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

.tfms-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: "Bebas Neue", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 0.95;
}

p {
  margin: 0;
}

button,
input,
textarea,
select {
  font: inherit;
}

.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;
}

.container {
  width: min(calc(100% - 2rem), var(--tfms-container));
  margin: 0 auto;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0.95rem 1.75rem;
  border: 2px solid transparent;
  border-radius: var(--tfms-radius);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease,
    transform 160ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button--primary {
  background: var(--tfms-blue);
  color: #fff;
}

.button--primary:hover {
  background: var(--tfms-blue-dark);
}

.button--accent {
  background: var(--tfms-red);
  color: #fff;
}

.button--accent:hover {
  background: #bd323c;
}

.button--ghost {
  background: transparent;
  border-color: var(--tfms-blue);
  color: var(--tfms-blue);
}

.button--ghost:hover {
  background: var(--tfms-blue);
  color: #fff;
}

.site-main {
  min-height: 55vh;
}

.announcement-bar {
  color: #fff;
}

.announcement-bar--info {
  background: var(--tfms-blue);
}

.announcement-bar__inner {
  padding: 0.75rem 0;
  text-align: center;
  font-size: 0.95rem;
}

.announcement-bar a {
  margin-left: 0.5rem;
  text-decoration: underline;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
  transition: transform 220ms ease;
  will-change: transform;
}

.site-header__main {
  background: var(--tfms-blue);
  color: #fff;
}

.site-header__mobile-row,
.site-header__desktop {
  display: flex;
  align-items: center;
}

.site-header__mobile-primary {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.site-header__mobile-row {
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 68px;
}

.site-header__desktop {
  display: none;
  gap: 2rem;
  min-height: 112px;
}

.site-logo {
  display: inline-flex;
  align-items: center;
}

.site-logo img {
  display: block;
  width: 232px;
  max-width: 100%;
  height: auto;
}

.site-header__desktop-right {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
}

.site-header__utility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  padding-top: 0.9rem;
  flex-wrap: wrap;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.site-header__utility-bar {
  display: none;
  background: var(--tfms-blue-dark);
  color: #e5e7eb;
}

.utility-bar {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: 0.65rem 0;
  font-size: 0.9rem;
  white-space: nowrap;
}

.menu-toggle,
.search-toggle,
.header-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.65rem;
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.header-account {
  position: relative;
  display: flex;
  align-items: center;
}

.header-account__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 44px;
  padding: 0.35rem 0.2rem 0.35rem 0.35rem;
  color: #fff;
}

.header-account__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.14);
}

.header-account__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header-account__label {
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.header-account__dropdown {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  z-index: 48;
  display: none;
  width: 240px;
  padding: 0.85rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
}

.header-account:hover .header-account__dropdown,
.header-account:focus-within .header-account__dropdown {
  display: grid;
  gap: 0.75rem;
}

.header-account__summary {
  display: grid;
  gap: 0.1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e5e7eb;
}

.header-account__summary strong {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.header-account__summary span {
  color: #64748b;
  font-size: 0.82rem;
}

.header-account__menu {
  display: grid;
  gap: 0.35rem;
}

.header-account__menu-link {
  display: block;
  padding: 0.55rem 0.6rem;
  color: #0f172a;
  font-size: 0.94rem;
  font-weight: 600;
}

.header-account__menu-link:hover {
  background: #f8fafc;
  color: var(--tfms-blue);
}

.header-account__menu-link--logout {
  color: #b91c1c;
}

.header-account__menu-link--logout:hover {
  color: #991b1b;
  background: #fff1f2;
}

.menu-toggle {
  flex-direction: column;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
}

.menu-toggle > span:not(.screen-reader-text) {
  width: 20px;
  height: 2px;
  background: currentColor;
}

.header-action-icon {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 1.9;
}

.cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #fff;
  color: var(--tfms-blue);
  font-size: 0.8rem;
  font-weight: 700;
}

.cart-count[hidden] {
  display: none;
}

.cart-count--wishlist {
  background: #fee2e2;
  color: #b91c1c;
}

@media (max-width: 1023px) {
  .site-header.is-mobile-hidden {
    transform: translateY(-100%);
  }

  .site-header__mobile-row {
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
    min-height: 64px;
  }

  .site-header__logo--mobile {
    min-width: 0;
  }

  .site-header__logo--mobile .site-logo img {
    width: 74px;
  }

  .site-header__actions {
    gap: 0.4rem;
    margin-left: auto;
  }

  .site-header__actions > .header-link:not(.header-link--cart) {
    display: none;
  }

  .menu-toggle,
  .site-header__actions .search-toggle,
  .site-header__actions .header-link--cart {
    position: relative;
    width: 34px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    justify-content: center;
    font-size: 0;
    letter-spacing: 0;
  }

  .menu-toggle {
    width: 42px;
  }

  .site-header__actions .header-action-icon {
    width: 1.35rem;
    height: 1.35rem;
  }

  .menu-toggle > span:not(.screen-reader-text) {
    width: 18px;
    border-radius: 999px;
  }

  .site-header__actions .search-toggle::before,
  .site-header__actions .search-toggle::after,
  .site-header__actions .header-link--cart::before,
  .site-header__actions .header-link--cart::after {
    display: none;
  }

  .site-header__actions .search-toggle::before {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 999px;
    content: "";
  }

  .site-header__actions .search-toggle::after {
    position: absolute;
    width: 8px;
    height: 2px;
    background: currentColor;
    content: "";
    transform: translate(7px, 7px) rotate(45deg);
    transform-origin: center;
  }

  .site-header__actions .header-link--cart::before {
    width: 17px;
    height: 13px;
    border: 2px solid currentColor;
    border-top: 0;
    content: "";
    transform: translateY(1px);
  }

  .site-header__actions .header-link--cart::after {
    position: absolute;
    top: 14px;
    left: 12px;
    width: 16px;
    height: 2px;
    background: currentColor;
    content: "";
    transform: rotate(12deg);
    transform-origin: left center;
  }

  .site-header__actions .header-link--cart .cart-count {
    position: absolute;
    top: 4px;
    right: -2px;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.25rem;
    font-size: 0.68rem;
    line-height: 1;
  }

  .site-header__mobile-search {
    background: #f8fafc;
    border-bottom-color: #dbe4f0;
  }

  .site-header__mobile-search .container {
    padding: 0.75rem 0;
  }

  .site-header__mobile-search .tfms-product-search {
    gap: 0;
  }

  .site-header__mobile-search .search-field {
    height: 44px;
    border: 1px solid #cbd5e1;
    background: #fff;
  }
}

.site-navigation--mobile,
.site-header__mobile-search {
  background: #fff;
  border-bottom: 1px solid var(--tfms-border);
}

.site-navigation--mobile {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 95;
  width: min(88vw, 360px);
  overflow-y: auto;
  border-right: 1px solid var(--tfms-border);
  border-bottom: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.9), rgba(255, 255, 255, 1) 10rem),
    #fff;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
}

.site-navigation-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(15, 23, 42, 0.45);
}

.cart-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 96;
  background: rgba(15, 23, 42, 0.45);
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 97;
  display: flex;
  flex-direction: column;
  width: 91.666vw;
  max-width: 32rem;
  overflow: hidden;
  background: #fff;
  box-shadow: -24px 0 48px rgba(15, 23, 42, 0.22);
}

.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 2px solid #e5e7eb;
  background: #f8fafc;
}

.cart-drawer__header h2 {
  margin: 0;
  color: #111827;
  font-size: 1.75rem;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.cart-drawer__header h2 span {
  color: var(--tfms-blue);
}

.cart-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  background: #e5e7eb;
  color: #111827;
  font-size: 2rem;
  line-height: 1;
}

.cart-drawer__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.cart-drawer__body .woocommerce-mini-cart {
  display: grid;
  gap: 1rem;
  flex: 1 1 auto;
  margin: 0;
  padding: 1.5rem;
  list-style: none;
}

.cart-drawer__body .woocommerce-mini-cart-item {
  position: relative;
  display: block;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
}

.cart-drawer__body .woocommerce-mini-cart-item a:not(.remove) {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  color: #111827;
  font-weight: 700;
}

.cart-drawer__body .woocommerce-mini-cart-item a:not(.remove) img {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
  background: #f8fafc;
}

.cart-drawer__body .woocommerce-mini-cart-item .remove {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  color: var(--tfms-red);
  font-weight: 700;
}

.cart-drawer__body .woocommerce-mini-cart-item .quantity {
  display: block;
  margin-top: 0.35rem;
  margin-left: 5.9rem;
  color: #111827;
}

.cart-drawer__body .woocommerce-mini-cart__empty-message {
  display: grid;
  min-height: calc(100vh - 5rem);
  margin: 0;
  place-items: center;
  padding: 2rem;
  color: #374151;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.cart-drawer__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 5rem);
  padding: 2rem;
  text-align: center;
}

.cart-drawer__empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 7.4rem;
  height: 7.4rem;
  margin-bottom: 1.5rem;
  border-radius: 999px;
  background: #f3f4f6;
  color: #9ca3af;
}

.cart-drawer__empty-icon::before {
  display: none;
}

.cart-drawer__empty-icon::after {
  display: none;
}

.cart-drawer__empty-svg {
  width: 4rem;
  height: 4rem;
  stroke-width: 1.45;
}

.cart-drawer__empty h3 {
  margin: 0 0 0.75rem;
  color: #111827;
  font-size: 1.7rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cart-drawer__empty p {
  max-width: 20rem;
  margin: 0 0 1.8rem;
  color: #4b5563;
  font-size: 1.05rem;
  line-height: 1.5;
}

.cart-drawer__empty .button {
  min-width: 10.5rem;
  justify-content: center;
  box-shadow: 0 12px 24px rgba(47, 82, 150, 0.22);
}

.cart-drawer__empty-help {
  display: grid;
  gap: 0.4rem;
  margin-top: 2rem;
  color: #4b5563;
}

.cart-drawer__empty-help a {
  color: var(--tfms-blue);
  font-weight: 600;
}

.cart-drawer__body .woocommerce-mini-cart__total,
.cart-drawer__body .woocommerce-mini-cart__buttons {
  margin: 0;
  padding: 1rem 1.5rem;
  border-top: 1px solid #e5e7eb;
  background: #f8fafc;
}

.cart-drawer__body .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.35rem;
  letter-spacing: 0.04em;
}

.cart-drawer__body .woocommerce-mini-cart__buttons {
  display: grid;
  gap: 0.75rem;
  padding-top: 0;
}

.cart-drawer__body .woocommerce-mini-cart__buttons .button,
.cart-drawer__body .woocommerce-mini-cart__buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.25rem;
  padding: 0.85rem 1rem;
  background: var(--tfms-blue);
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

.cart-drawer__body .woocommerce-mini-cart__buttons .button:hover,
.cart-drawer__body .woocommerce-mini-cart__buttons a:hover {
  background: var(--tfms-blue-dark);
  color: #fff;
}

body.has-cart-drawer {
  overflow: hidden;
}

.site-navigation--mobile .container,
.site-header__mobile-search .container {
  padding: 1rem 0;
}

.nav-mobile-panel {
  display: grid;
  gap: 1.15rem;
}

.nav-mobile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.95rem;
  border-bottom: 1px solid #e5e7eb;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.35rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nav-mobile-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #111827;
  font-size: 2rem;
  line-height: 1;
}

.nav-mobile-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
  padding: 0.2rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.nav-mobile-tab {
  min-height: 52px;
  padding: 0.85rem 0.6rem;
  border: 0;
  background: transparent;
  color: #64748b;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.98rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.nav-mobile-tab.is-active,
.nav-mobile-tab[aria-selected="true"] {
  color: var(--tfms-blue);
  box-shadow: inset 0 -3px 0 var(--tfms-blue);
  background: #fff;
}

.nav-mobile-section {
  display: grid;
  gap: 1rem;
}

.nav-mobile-featured {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.nav-mobile-featured__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 0.9rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.96)),
    #f8fafc;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.05);
}

.nav-mobile-group {
  display: grid;
  gap: 0.7rem;
}

.nav-mobile-group__label {
  color: #64748b;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-mobile-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0.88rem 1rem 0.8rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: var(--tfms-text);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.04);
}

.nav-mobile-link:hover,
.nav-mobile-featured__link:hover,
.nav-mobile-cta:hover {
  border-color: #cbd5e1;
  color: var(--tfms-blue);
}

.nav-mobile-link--row::after,
.nav-utility-link::after {
  width: 0.5rem;
  height: 0.5rem;
  margin-left: 0.9rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
  transform: rotate(45deg);
}

.nav-mobile-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.05rem 0.95rem;
  background: var(--tfms-red);
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 16px 26px rgba(211, 63, 73, 0.2);
}

.nav-mobile-cta .cart-count {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.nav-menu-mobile__utility {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
}

.nav-mobile-account {
  display: grid;
  gap: 0.4rem;
  padding: 1.05rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.96)),
    #f8fafc;
  box-shadow: 0 14px 24px rgba(15, 23, 42, 0.05);
}

.nav-mobile-account__name {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nav-mobile-account__email {
  color: #64748b;
  font-size: 0.84rem;
}

.nav-mobile-account__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.nav-mobile-account__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: 0.4rem 0.65rem 0.35rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #0f172a;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nav-mobile-account__link:hover {
  border-color: #cbd5e1;
  color: var(--tfms-blue);
}

.nav-utility-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem 1rem 0.8rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.96)),
    #f8fafc;
  color: var(--tfms-text);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.04);
}

.nav-utility-link:hover {
  border-color: #cbd5e1;
  background: #fff;
}

.nav-mobile-benefits {
  display: grid;
  gap: 0.75rem;
}

.nav-mobile-benefit {
  display: grid;
  gap: 0.2rem;
  padding: 0.95rem 1rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.96)),
    #f8fafc;
}

.nav-mobile-benefit strong {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nav-mobile-benefit span {
  color: #64748b;
  font-size: 0.9rem;
}

.nav-menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-menu--primary {
  gap: 1.25rem;
  align-items: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.site-navigation--desktop {
  position: relative;
}

.tfms-desktop-nav {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 56px;
}

.tfms-desktop-nav__catalog,
.tfms-desktop-nav__info {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tfms-desktop-nav__item,
.tfms-desktop-nav__info-item {
  position: relative;
  display: flex;
  align-items: stretch;
}

.tfms-desktop-nav__link,
.tfms-desktop-nav__info-link {
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  padding: 0 0.85rem;
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background-color 160ms ease, color 160ms ease;
}

.tfms-desktop-nav__link:hover,
.tfms-desktop-nav__info-link:hover,
.tfms-desktop-nav__item:hover > .tfms-desktop-nav__link {
  background: var(--tfms-red);
  color: #fff;
}

.tfms-mega-menu {
  position: absolute;
  top: calc(100% + 0.2rem);
  left: 0;
  z-index: 45;
  display: none;
  width: min(920px, calc(100vw - 3rem));
  padding: 1.5rem;
  border-top: 3px solid var(--tfms-red);
  background: #fff;
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.18);
}

.tfms-desktop-nav__item--mega:hover .tfms-mega-menu,
.tfms-desktop-nav__item--mega:focus-within .tfms-mega-menu {
  display: grid;
  gap: 1rem;
}

.tfms-mega-menu__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
}

.tfms-mega-menu__eyebrow {
  color: var(--tfms-red);
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-mega-menu__title {
  color: var(--tfms-blue);
  font-size: 2rem;
}

.tfms-mega-menu__view-all {
  color: var(--tfms-red);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.tfms-mega-menu__card {
  display: grid;
  gap: 0.5rem;
  min-height: 112px;
  padding: 1rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
  color: #0f172a;
  transition: border-color 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.tfms-mega-menu__card:hover {
  border-color: var(--tfms-blue);
  background: #fff;
  transform: translateY(-1px);
}

.tfms-mega-menu__card-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
}

.tfms-mega-menu__card-title {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-mega-menu__card-count {
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 700;
}

.tfms-mega-menu__card-meta {
  color: #475569;
  font-size: 0.88rem;
  line-height: 1.5;
}

.nav-menu--mobile {
  flex-direction: column;
  gap: 0.9rem;
  align-items: flex-start;
  color: var(--tfms-text);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.header-search form,
.woocommerce-product-search {
  display: flex;
  gap: 0.5rem;
}

.header-search--compact {
  display: none;
}

.tfms-product-search .search-field {
  min-width: 0;
  height: 44px;
  padding: 0 0.9rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: var(--tfms-text);
  flex: 1 1 auto;
}

.tfms-product-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 44px;
  padding: 0 1rem;
  border: 0;
  background: var(--tfms-red);
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-product-search__icon {
  width: 1rem;
  height: 1rem;
  stroke-width: 2;
}

.header-search input[type="search"],
.header-search .search-field {
  min-width: 280px;
  border: 0;
}

.tfms-notfound-card__search .tfms-product-search {
  max-width: 34rem;
}

.hero-section,
.banner-section,
.brand-section,
.value-props-section,
.category-section,
.bestsellers-section,
.trust-section,
.cta-section,
.page-shell,
.shop-shell,
.content-shell {
  padding: 2.5rem 0;
}

.hero-section {
  position: relative;
  background-color: #f3f4f6;
  background-image: radial-gradient(rgba(0, 0, 0, 0.05) 1.5px, transparent 2px);
  background-size: 20px 20px;
}

.hero-card,
.entry-card,
.promo-card,
.cta-card,
.empty-state {
  background: var(--tfms-surface);
  box-shadow: var(--tfms-shadow);
}

.hero-card {
  padding: 3rem 1.75rem;
  text-align: center;
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  color: var(--tfms-muted);
  font-size: 0.9rem;
}

.hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.hero-meta span::before {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border: 1.5px solid var(--tfms-blue);
  border-radius: 999px;
  content: "";
}

.hero-meta span:nth-child(2)::before {
  border-radius: 0;
  transform: rotate(45deg);
}

.hero-meta span:nth-child(3)::before {
  border-radius: 0.2rem 0.2rem 0.35rem 0.35rem;
  background: var(--tfms-blue);
  clip-path: polygon(50% 0, 90% 18%, 78% 78%, 50% 100%, 22% 78%, 10% 18%);
}

.hero-meta span:not(:last-child)::after {
  display: inline-block;
  width: 0.25rem;
  height: 0.25rem;
  margin-left: 0.9rem;
  border-radius: 999px;
  background: #9ca3af;
  content: "";
}

.hero-card h1 {
  max-width: none;
  margin: 0 auto 1.25rem;
  color: var(--tfms-blue);
  font-size: clamp(3.4rem, 5vw, 4.9rem);
}

.hero-card p {
  max-width: 42rem;
  margin: 0 auto;
  font-size: 1.1rem;
  color: #374151;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 2.25rem;
}

.hero-card--finder {
  display: grid;
  gap: 1rem;
  background: #fff;
}

.tfms-finder-inline-note {
  max-width: 38rem;
  margin-top: 1rem;
  font-size: 0.98rem;
  color: #64748b;
}

.tfms-finder-browse-link a {
  color: var(--tfms-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tfms-finder-start-button {
  min-width: 340px;
  min-height: 84px;
  font-size: 2rem;
}

.tfms-finder-panel {
  display: grid;
  gap: 1.25rem;
  margin-top: 0.5rem;
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background: rgba(255, 255, 255, 0.9);
}

.tfms-finder-mobile-sheet-header {
  display: none;
}

.tfms-finder-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.tfms-finder-progress__item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.tfms-finder-progress__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 2px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.tfms-finder-progress__item[data-finder-state="active"] .tfms-finder-progress__dot {
  border-color: var(--tfms-blue);
  background: var(--tfms-blue);
  color: #fff;
}

.tfms-finder-progress__rail {
  width: 2rem;
  height: 2px;
  background: #cbd5e1;
}

.tfms-finder-progress__rail[data-finder-state="active"] {
  background: var(--tfms-blue);
}

.tfms-finder-step-copy {
  display: grid;
  gap: 0.55rem;
  text-align: center;
}

.tfms-finder-step-title {
  color: var(--tfms-blue);
  font-size: clamp(2rem, 4vw, 3rem);
}

.tfms-finder-step-subtitle {
  max-width: 36rem;
  margin: 0 auto;
  color: #475569;
}

.tfms-finder-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.tfms-finder-option {
  display: grid;
  gap: 0.55rem;
  justify-items: center;
  min-height: 100%;
  padding: 1rem 0.9rem;
  border: 2px solid #dbe4f0;
  background: #fff;
  color: #0f172a;
  text-align: center;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.tfms-finder-option:hover {
  border-color: var(--tfms-blue);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

.tfms-finder-option[data-finder-selected="true"] {
  border-color: var(--tfms-blue);
  background: var(--tfms-blue);
  color: #fff;
}

.tfms-finder-option__icon {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
}

.tfms-finder-option[data-finder-selected="true"] .tfms-finder-option__icon {
  filter: brightness(0) invert(1);
}

.tfms-finder-option__label {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-finder-option__description {
  color: inherit;
  font-size: 0.88rem;
  line-height: 1.5;
  opacity: 0.82;
}

.tfms-finder-count {
  min-height: 1.5rem;
  margin: 0;
  text-align: center;
  color: #475569;
  font-size: 0.95rem;
}

.tfms-finder-count[data-finder-count-state="empty"] {
  color: #b91c1c;
}

.tfms-finder-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
}

.tfms-finder-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1rem;
  border: 1px dashed #cbd5e1;
  color: #64748b;
  text-align: center;
}

.banner-grid,
.footer-grid,
.footer-subgrid,
.product-grid,
.category-grid,
.value-props-grid,
.trust-stats,
.trust-pillars {
  display: grid;
  gap: 1.5rem;
}

.banner-grid {
  gap: 4rem;
}

.promo-card {
  display: grid;
  overflow: hidden;
}

.promo-card__media {
  position: relative;
  overflow: hidden;
}

.promo-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  padding: 1.75rem;
}

.promo-card h2 {
  color: var(--tfms-blue);
  font-size: clamp(1.9rem, 3vw, 2.35rem);
}

.promo-card p {
  color: #374151;
  font-size: 1.05rem;
  line-height: 1.65;
}

.promo-card .button {
  align-self: flex-start;
}

.promo-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promo-card__media--video {
  min-height: 250px;
  background: #111827;
}

.promo-card--trident .promo-card__image,
.promo-card__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1000ms ease;
}

.promo-card--trident .promo-card__image {
  opacity: 1;
}

.promo-card--trident[data-trident-video-state="started"] .promo-card__image {
  opacity: 0;
}

.promo-card__video {
  opacity: 0;
  pointer-events: none;
}

.promo-card__video.is-active {
  opacity: 1;
}

.brand-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 2rem;
  align-items: center;
  justify-items: center;
}

.brand-strip img {
  max-height: 60px;
  object-fit: contain;
  filter: grayscale(1) opacity(0.75);
}

.value-props-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.value-prop-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.5rem;
  border: 1px solid rgba(58, 90, 153, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
    radial-gradient(circle at top right, rgba(58, 90, 153, 0.06), transparent 16rem);
  box-shadow: var(--tfms-shadow);
}

.value-prop-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
  background: var(--tfms-blue);
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
}

.value-prop-card__body {
  display: grid;
  gap: 0.45rem;
}

.value-prop-card__eyebrow {
  margin: 0;
  color: var(--tfms-red);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.value-prop-card h3 {
  margin: 0;
  color: var(--tfms-blue);
  font-size: 1.5rem;
}

.value-prop-card p:last-child {
  margin: 0;
  color: #475569;
}

.section-heading {
  margin-bottom: 3rem;
  text-align: center;
}

.section-heading h2 {
  margin-bottom: 0.35rem;
  color: var(--tfms-blue);
  font-size: clamp(2.35rem, 4vw, 3rem);
}

.section-heading p {
  color: var(--tfms-muted);
}

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

.category-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 128px;
  padding: 1.5rem;
  border: 2px solid var(--tfms-border);
  background: #fff;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.category-card:hover {
  border-color: var(--tfms-blue);
}

.category-card h3 {
  color: var(--tfms-text);
  font-size: 1.55rem;
}

.category-card span {
  color: var(--tfms-muted);
  font-size: 0.95rem;
}

.category-card--all {
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #f9fafb;
}

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

.product-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e5e7eb;
}

.product-card__image {
  display: block;
  aspect-ratio: 1 / 1;
  background: #fff;
}

.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1rem;
}

.product-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1rem 1rem 1.25rem;
}

.product-card h3 {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: normal;
}

.product-card__price,
.price {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.55rem;
  letter-spacing: 0.05em;
}

.bestsellers-section .product-card h3 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  line-height: 1.16;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.bestsellers-section .product-card__price,
.bestsellers-section .price {
  color: #111827;
  font-size: 1.35rem;
}

.bestsellers-section .product-card__body {
  gap: 0.7rem;
}

.bestsellers-swipe-hint {
  display: none;
}

.trust-shell {
  display: grid;
  gap: 1.5rem;
  padding: 1.75rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.98)),
    radial-gradient(circle at top left, rgba(177, 38, 57, 0.06), transparent 18rem);
  border: 1px solid rgba(58, 90, 153, 0.14);
  box-shadow: var(--tfms-shadow);
}

.trust-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
}

.trust-logo-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.7rem 1.1rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #334155;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

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

.trust-stat {
  display: grid;
  gap: 0.2rem;
  justify-items: center;
  padding: 1rem 0.75rem;
  border: 1px solid #dbe4f0;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
}

.trust-stat strong {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(2rem, 5vw, 3rem);
  letter-spacing: 0.06em;
}

.trust-stat span {
  color: #64748b;
  font-size: 0.92rem;
}

.trust-pillars {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.trust-pillar {
  padding: 1.35rem;
  border-left: 4px solid var(--tfms-red);
  background: rgba(255, 255, 255, 0.88);
}

.trust-pillar h3 {
  margin-bottom: 0.45rem;
  color: var(--tfms-blue);
  font-size: 1.45rem;
}

.trust-pillar p {
  margin: 0;
  color: #475569;
}

.cta-section {
  background: #fff;
}

.cta-card {
  box-shadow: none;
  padding: 2.5rem 1.5rem;
  text-align: center;
}

.cta-card h2 {
  max-width: none;
  margin: 0 auto 0.75rem;
  color: var(--tfms-blue);
  font-size: clamp(2.35rem, 4vw, 3rem);
}

.cta-card p {
  max-width: 42rem;
  margin: 0 auto;
  color: #374151;
}

.entry-card {
  padding: 2rem 1.5rem;
}

.blog-shell,
.blog-post-shell {
  display: grid;
  gap: 2rem;
  padding: 0 0 4rem;
}

.blog-post-shell.container {
  width: min(calc(100% - 4.5rem), 1368px);
  max-width: none;
}

.blog-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.blog-hero__title {
  color: var(--tfms-text);
  font-size: clamp(1.85rem, 3vw, 2.25rem);
}

.blog-post__title {
  color: var(--tfms-text);
  font-size: clamp(2.5rem, 5vw, 4rem);
}

.blog-post__date,
.blog-card__date {
  color: #475569;
}

.blog-post__date {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.blog-hero__count {
  color: #4b5563;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.blog-grid {
  display: grid;
  gap: 2rem;
}

.blog-card {
  display: grid;
  gap: 1rem;
}

.blog-card__thumb {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 2px solid #e5e7eb;
  background: #f3f4f6;
  transition: border-color 160ms ease;
}

.blog-card:hover .blog-card__thumb {
  border-color: var(--tfms-blue);
}

.blog-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
}

.blog-card__placeholder svg {
  width: 3rem;
  height: 3rem;
}

.blog-card__body {
  display: grid;
  gap: 0.65rem;
}

.blog-card__title {
  color: var(--tfms-text);
  font-size: clamp(1.55rem, 2.4vw, 1.85rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  min-width: 0;
}

.blog-card__title a {
  display: inline;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.blog-card__title a:hover {
  color: var(--tfms-red);
}

.blog-card__excerpt {
  color: #475569;
}

.blog-card__excerpt p {
  margin: 0;
}

.blog-post {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
}

.blog-post__back {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.blog-post__media {
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.blog-post__image {
  display: block;
  width: 100%;
  height: auto;
}

.blog-post__header {
  display: grid;
  gap: 0.55rem;
}

.blog-post__content {
  color: #334155;
  line-height: 1.8;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: break-word;
}

.blog-post__content > * {
  max-width: 100%;
}

.blog-post__content > * + * {
  margin-top: 1rem;
}

.blog-post__content h2,
.blog-post__content h3,
.blog-post__content h4 {
  color: var(--tfms-text);
  overflow-wrap: anywhere;
}

.blog-post__content img {
  max-width: 100%;
  height: auto;
}

.blog-post__content .alignfull,
.blog-post__content .alignwide,
.blog-post__content .wp-block-cover,
.blog-post__content .wp-block-group,
.blog-post__content .wp-block-columns,
.blog-post__content .wp-block-column,
.blog-post__content .wp-block-media-text,
.blog-post__content .wp-block-woocommerce-single-product,
.blog-post__content .wp-block-cover__inner-container,
.blog-post__content .wp-block-group__inner-container {
  max-width: 100%;
  min-width: 0;
}

.blog-post__content .alignfull,
.blog-post__content .alignwide {
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.blog-post__content .wp-block-cover,
.blog-post__content .wp-block-media-text {
  overflow: hidden;
}

.blog-post__content .wp-block-woocommerce-single-product img,
.blog-post__content .wc-block-components-product-image img {
  max-width: 100% !important;
  height: auto !important;
}

.blog-post__content .wp-block-cover {
  min-height: auto;
  padding: clamp(1rem, 4vw, 2rem);
}

.blog-post__content .wp-block-spacer {
  max-height: 2.5rem;
}

.blog-post__content .wp-block-table,
.blog-post__content table {
  width: 100%;
  max-width: 100%;
}

.blog-post__content table {
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.5;
  table-layout: fixed;
}

.blog-post__content th,
.blog-post__content td {
  border: 1px solid #dbe4f0;
  padding: 0.65rem;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.blog-post__content .wp-block-button__link,
.blog-post__content .wp-element-button,
.blog-post__content button {
  max-width: 100%;
  white-space: normal;
}

.blog-post-shell .wp-block-image,
.blog-post-shell figure {
  margin: 1.5rem 0;
}

.blog-shell .navigation.pagination {
  display: flex;
  justify-content: center;
}

.blog-shell .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.blog-shell .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.6rem;
  min-height: 2.6rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #0f172a;
  font-weight: 600;
}

.blog-shell .page-numbers.current,
.blog-shell .page-numbers:hover {
  border-color: var(--tfms-blue);
  background: var(--tfms-blue);
  color: #fff;
}

.tfms-notfound-shell {
  display: grid;
  gap: 1.5rem;
  padding: 2rem 0 4rem;
}

.tfms-notfound-card {
  display: grid;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
    radial-gradient(circle at top right, rgba(58, 90, 153, 0.05), transparent 16rem);
}

.tfms-notfound-card__copy {
  display: grid;
  gap: 0.55rem;
}

.tfms-notfound-card__copy h1 {
  color: var(--tfms-blue);
  font-size: clamp(2.4rem, 5vw, 4rem);
}

.tfms-notfound-card__copy p:last-child {
  color: #475569;
}

.tfms-notfound-card__search {
  max-width: 720px;
}

.tfms-notfound-card__actions,
.tfms-notfound-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-notfound-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0.35rem 0.75rem 0.3rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #334155;
  font-size: 0.9rem;
  font-weight: 600;
}

.tfms-notfound-links a:hover {
  border-color: #cbd5e1;
  color: var(--tfms-blue);
}

.entry-card__header {
  margin-bottom: 1rem;
}

.entry-card__title {
  color: var(--tfms-blue);
  font-size: clamp(2rem, 5vw, 4rem);
}

.entry-card__content {
  display: grid;
  gap: 1rem;
}

.entry-card__content a {
  color: var(--tfms-blue);
  text-decoration: underline;
}

.site-footer__main {
  padding: 4rem 0;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
}

.site-footer .container {
  width: min(calc(100% - 2.375rem), 1368px);
}

.site-footer .site-logo img {
  width: 114px;
}

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

.footer-stack {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.site-footer h3 {
  margin: 0 0 1rem;
  color: #111827;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.footer-stack h3 {
  margin: 0 0 0.25rem;
  font-family: var(--tfms-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  letter-spacing: 0;
  text-transform: none;
}

.footer-stack p {
  margin: 0;
}

.nav-menu--footer {
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}

.nav-menu--footer a {
  display: block;
  padding: 0.25rem 0;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.footer-stack a {
  color: var(--tfms-blue);
}

.nav-menu--footer a:hover,
.footer-stack a:hover {
  color: var(--tfms-blue);
  text-decoration: underline;
}

.site-footer__sub {
  background: var(--tfms-blue);
  color: #fff;
}

.footer-subgrid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  padding: 1.5rem 0;
  gap: 1rem;
}

.footer-subgrid p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.footer-legal {
  opacity: 0.75;
  font-size: 0.75rem;
  line-height: 1rem;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.footer-social a {
  display: inline-flex;
  width: 1.25rem;
  height: 1.625rem;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.footer-social__icon {
  width: 1.25rem;
  height: 1.25rem;
}

.footer-social a:hover {
  color: #e5e7eb;
}

.shop-shell .woocommerce {
  display: grid;
  gap: 2rem;
}

.shop-shell--archive,
.shop-shell--single {
  display: grid;
  gap: 2rem;
}

.shop-hero {
  padding: 2rem;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border: 1px solid #dbe4f0;
  box-shadow: var(--tfms-shadow);
}

.shop-hero__eyebrow,
.shop-subcategory-band__eyebrow,
.category-group__meta {
  color: var(--tfms-blue);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shop-hero__eyebrow {
  margin-bottom: 0.75rem;
}

.shop-hero__title {
  color: var(--tfms-blue);
  font-size: clamp(2.4rem, 5vw, 4rem);
}

.shop-hero__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.75rem;
  color: var(--tfms-muted);
  font-size: 0.92rem;
}

.shop-hero__breadcrumb--single {
  margin-top: 0;
}

.shop-hero__breadcrumb a:hover {
  color: var(--tfms-blue);
}

.shop-hero__description {
  max-width: 56rem;
  margin-top: 1rem;
  color: #4b5563;
}

.shop-hero__description p {
  margin: 0;
}

.shop-shell--archive {
  padding-top: 1.5rem;
}

.shop-shell--archive .shop-hero {
  padding: 1.25rem 0 1.85rem;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--tfms-border);
  box-shadow: none;
}

.shop-shell--archive .shop-hero__eyebrow,
.shop-shell--archive .shop-hero__description {
  display: none;
}

.shop-shell--archive .shop-hero__title {
  color: #111827;
  font-size: clamp(2rem, 3vw, 2.35rem);
}

.shop-subcategory-band {
  display: grid;
  gap: 1.5rem;
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  box-shadow: var(--tfms-shadow);
}

.shop-subcategory-band__header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.shop-subcategory-band__title {
  color: var(--tfms-blue);
  font-size: clamp(1.9rem, 4vw, 2.8rem);
}

.shop-subcategory-grid {
  display: grid;
  gap: 1rem;
}

.shop-subcategory-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 132px;
  padding: 1.25rem;
  border: 2px solid #d1d5db;
  background: #fff;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.shop-subcategory-card:hover {
  border-color: var(--tfms-blue);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(17, 24, 39, 0.1);
}

.shop-subcategory-card__title {
  color: #111827;
  font-size: 1.45rem;
}

.shop-subcategory-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  color: #6b7280;
  font-size: 0.95rem;
}

.shop-layout {
  display: grid;
  gap: 2rem;
}

.shop-sidebar {
  display: block;
  overflow: hidden;
}

.shop-content {
  min-width: 0;
}

.shop-active-state,
.shop-empty-state {
  display: grid;
  gap: 0.9rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
  border: 1px solid #dbe4f0;
  background: #fff;
}

.shop-active-state__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.shop-active-state__eyebrow,
.shop-empty-state__eyebrow {
  margin: 0;
  color: var(--tfms-red);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shop-active-state__title,
.shop-empty-state__title {
  margin: 0;
  color: var(--tfms-blue);
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.shop-active-state__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.shop-filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.32rem 0.78rem 0.28rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.shop-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dbe4f0;
}

.shop-controls__count .woocommerce-result-count,
.shop-controls__sort .woocommerce-ordering {
  margin: 0;
}

.shop-controls__sort .woocommerce-ordering::before {
  margin-right: 0.65rem;
  color: #374151;
  content: "Sort by:";
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.shop-controls__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.shop-controls__count .woocommerce-result-count {
  color: #374151;
}

.shop-controls__total,
.shop-controls__range {
  display: inline-block;
}

.shop-controls__range {
  margin-left: 0.4rem;
  color: #4b5563;
}

.shop-controls__sort .orderby,
.tfms-single-product__purchase .variations select {
  min-height: 48px;
  min-width: 220px;
  padding: 0 2.75rem 0 0.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 0;
  background: #fff;
  color: var(--tfms-text);
}

.tfms-single-product__purchase .variations select.tfms-variation-select--enhanced {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.shop-pagination {
  display: flex;
  justify-content: center;
}

.shop-empty-state {
  justify-items: center;
  text-align: center;
}

.shop-empty-state__copy {
  max-width: 40rem;
  margin: 0;
  color: #475569;
}

.shop-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
}

.shop-pagination .woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.shop-pagination .woocommerce-pagination ul.page-numbers li {
  border: 0;
}

.shop-pagination .page-numbers a,
.shop-pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 0.85rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: var(--tfms-text);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
}

.shop-pagination .page-numbers.current,
.shop-pagination .page-numbers:hover {
  background: var(--tfms-blue);
  color: #fff;
  border-color: var(--tfms-blue);
}

.shop-filters-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 48px;
}

.shop-filters-toggle__icon {
  display: none;
  width: 1.25rem;
  height: 1.25rem;
}

.shop-filters-toggle__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.3rem;
  height: 1.3rem;
  padding: 0 0.32rem;
  border-radius: 999px;
  background: var(--tfms-red);
  color: #fff;
  font-family: sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.shop-filters {
  display: grid;
  gap: 1rem;
}

.shop-filters__form {
  display: grid;
  gap: 1.25rem;
  padding: 1.5rem;
  background: #fff;
  box-shadow: var(--tfms-shadow);
}

.shop-filters__header,
.shop-filters__footer,
.shop-filters__price-grid,
.shop-filters__check {
  display: flex;
}

.shop-filters__header,
.shop-filters__footer {
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.shop-filters__title,
.shop-filters__group h3,
.shop-filters__group summary {
  color: #111827;
  font-size: 1.35rem;
}

.shop-filters__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.7rem;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #374151;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.shop-filters__body {
  display: grid;
  gap: 1.25rem;
}

.shop-filters__group {
  display: grid;
  gap: 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e5e7eb;
}

.shop-filters__group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 0.05em;
  list-style: none;
  text-transform: uppercase;
}

.shop-filters__group summary::-webkit-details-marker {
  display: none;
}

.shop-filters__group summary::after {
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  transform: rotate(45deg) translateY(-0.15rem);
  transition: transform 160ms ease;
}

.shop-filters__group[open] summary::after {
  transform: rotate(225deg) translate(-0.15rem, -0.15rem);
}

.shop-filters__group:first-child {
  padding-top: 0;
  border-top: 0;
}

.shop-filters__options {
  display: grid;
  gap: 0.6rem;
}

.shop-filters__check {
  align-items: center;
  gap: 0.6rem;
  color: #374151;
}

.shop-filters__check small {
  color: #9ca3af;
}

.shop-filters__price-grid {
  gap: 0.75rem;
}

.shop-filters__price-grid label {
  flex: 1;
  display: grid;
  gap: 0.35rem;
  color: #6b7280;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
}

.shop-filters input[type="number"] {
  width: 100%;
  min-height: 44px;
  padding: 0 0.75rem;
  border: 1px solid #cbd5e1;
}

.shop-filters-overlay {
  position: fixed;
  inset: 0;
  z-index: 59;
  background: rgba(17, 24, 39, 0.45);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shop-content > .products {
  margin-top: 1.85rem;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.related.products ul.products li.product {
  float: none !important;
  clear: none !important;
  display: block;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.tfms-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #dbe4f0;
  background: #fff;
  box-shadow: var(--tfms-shadow);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.product-card {
  position: relative;
}

.tfms-product-card:hover {
  transform: translateY(-2px);
  border-color: #b8c6db;
  box-shadow: 0 18px 36px rgba(17, 24, 39, 0.16);
}

.tfms-wishlist-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #334155;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.tfms-wishlist-button:hover {
  border-color: #cbd5e1;
  color: #0f172a;
  transform: translateY(-1px);
}

.tfms-wishlist-button svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.tfms-wishlist-button[data-wishlist-active="true"] {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #be123c;
}

.tfms-wishlist-button[data-wishlist-active="true"] svg {
  fill: currentColor;
}

.tfms-wishlist-button--card {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 3;
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.product-card .tfms-wishlist-button--card,
.tfms-single-product__actions .tfms-wishlist-button--inline {
  display: none;
}

.tfms-wishlist-button--inline {
  min-height: 48px;
  padding: 0.8rem 1.3rem;
}

.tfms-product-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #f8fafc);
}

.tfms-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.8rem;
}

.woocommerce ul.products li.product.outofstock .tfms-product-card__media::after,
.woocommerce-page ul.products li.product.outofstock .tfms-product-card__media::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(17, 24, 39, 0.55);
  content: "";
}

.tfms-product-card__badge {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  padding: 0.55rem 0.8rem 0.45rem;
  background: var(--tfms-red);
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

.tfms-product-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(17, 24, 39, 0.55);
}

.tfms-product-card__overlay span {
  padding: 0.6rem 0.95rem 0.5rem;
  background: #fff;
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
}

.tfms-product-card__stock-pill {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
}

.tfms-product-card__stock-pill span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.45rem 1rem 0.4rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.98);
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);
  white-space: nowrap;
}

.tfms-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.6rem;
  padding: 0.95rem 0.95rem 1.05rem;
}

.tfms-product-card__title {
  display: -webkit-box;
  min-height: 2.8em;
  overflow: hidden;
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.08rem;
  line-height: 1.16;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tfms-product-card__price,
.tfms-product-card__price .price,
.tfms-product-card__price ins,
.tfms-product-card__price del {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}

.tfms-product-card__price del {
  color: #9ca3af;
  font-size: 0.92rem;
  text-decoration-thickness: 1px;
}

.shop-shell--single .woocommerce-notices-wrapper {
  margin-bottom: 0;
}

.tfms-single-product {
  display: grid;
  gap: 2rem;
}

.tfms-single-product > .shop-hero__breadcrumb--single {
  display: none;
}

.tfms-single-product__top {
  display: grid;
  gap: 2rem;
}

.tfms-single-product__gallery,
.tfms-single-product__summary,
.tfms-single-product__tabs,
.tfms-single-product__related {
  min-width: 0;
  padding: 1.5rem;
  background: #fff;
  box-shadow: var(--tfms-shadow);
}

.tfms-single-product__summary {
  padding-right: 0;
  padding-left: 0;
  background: transparent;
  box-shadow: none;
}

.tfms-single-product__title {
  color: #111827;
  font-size: clamp(2rem, 3.2vw, 2.65rem);
}

.tfms-single-product__kickers {
  display: none;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 0.95rem;
}

.tfms-single-product__brand,
.tfms-single-product__badge {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0.35rem 0.8rem 0.3rem;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-single-product__brand {
  border: 1px solid #dbe4f0;
  background: #f8fafc;
  color: var(--tfms-blue);
}

.tfms-single-product__badge {
  background: var(--tfms-red);
  color: #fff;
}

.tfms-single-product__reviews {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.tfms-single-product__reviews-stars {
  display: inline-flex;
}

.tfms-single-product__reviews-stars .star-rating {
  margin: 0;
  color: #d97706;
}

.tfms-single-product__reviews-link {
  color: var(--tfms-blue);
  font-size: 0.95rem;
  font-weight: 600;
}

.tfms-single-product__reviews-link:hover {
  text-decoration: underline;
}

.tfms-single-product__price .price,
.tfms-single-product__price ins,
.tfms-single-product__price del {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(1.85rem, 4vw, 2.4rem);
  letter-spacing: 0.05em;
}

.tfms-single-product__price del {
  color: #9ca3af;
  font-size: 1.2rem;
}

.tfms-single-product__meta,
.tfms-single-product__excerpt,
.tfms-single-product__categories {
  margin-top: 1.25rem;
}

.tfms-single-product__meta {
  display: grid;
  gap: 0.75rem;
  color: #374151;
}

.tfms-single-product__meta > div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.tfms-single-product__meta .stock {
  margin: 0;
}

.tfms-single-product__meta .stock.in-stock,
.tfms-single-product__meta .stock.out-of-stock,
.tfms-single-product__purchase .stock.out-of-stock {
  color: var(--tfms-red);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-single-product__meta .stock.in-stock {
  color: #16a34a;
}

.tfms-single-product__purchase .stock.in-stock {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin: 0;
  padding: 0.32rem 0.7rem 0.28rem;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-single-product__purchase .stock.out-of-stock {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin: 0;
  padding: 0.32rem 0.7rem 0.28rem;
  border: 1px solid #fecdd3;
  background: #fff1f2;
}

.tfms-single-product__purchase > .stock {
  display: none;
}

.tfms-single-product__meta-note {
  color: #475569;
}

.tfms-single-product__meta-label {
  margin-right: 0.35rem;
  color: var(--tfms-muted);
  font-weight: 600;
}

.tfms-single-product__excerpt {
  color: #374151;
}

.tfms-single-product__excerpt p + p {
  margin-top: 0.85rem;
}

.tfms-single-product__highlights {
  display: none;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1.35rem;
}

.tfms-single-product__highlight {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-single-product__highlight-label {
  color: var(--tfms-muted);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tfms-single-product__highlight-value {
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}

.tfms-single-product__purchase {
  display: grid;
  gap: 1.05rem;
  margin-top: 1.35rem;
  padding: 1.2rem;
  border: 1px solid #c9d6e8;
  border-top: 4px solid var(--tfms-blue);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

.tfms-single-product__purchase form.cart {
  display: grid;
  gap: 1rem;
  margin: 0;
}

.tfms-single-product__purchase form.cart:not(.variations_form) {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
}

.tfms-single-product__purchase .variations {
  width: 100%;
  margin-bottom: 1rem;
}

.tfms-single-product__purchase .variations tbody,
.tfms-single-product__purchase .variations tr,
.tfms-single-product__purchase .variations th,
.tfms-single-product__purchase .variations td {
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
}

.tfms-single-product__purchase .variations tr + tr {
  margin-top: 1rem;
}

.tfms-single-product__purchase .variations th {
  margin-bottom: 0.45rem;
  color: #475569;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-variation-selected-value {
  color: #9ca3af;
  font-weight: 700;
}

.tfms-variation-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.tfms-variation-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.65rem 0.95rem 0.6rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.tfms-variation-option:hover {
  border-color: #94a3b8;
  transform: translateY(-1px);
}

.tfms-variation-option[data-selected="true"] {
  border-color: var(--tfms-blue);
  background: var(--tfms-blue);
  color: #fff;
}

.tfms-variation-option[data-unavailable="true"],
.tfms-variation-option:disabled {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #94a3b8;
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.tfms-single-product__purchase .reset_variations {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  margin-top: 0.75rem;
  padding: 0.3rem 0.65rem 0.25rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: var(--tfms-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.tfms-single-product__purchase .single_variation {
  min-height: 0;
  margin-bottom: 0.2rem;
  color: #334155;
  font-weight: 700;
}

.tfms-single-product__purchase .woocommerce-variation-price {
  display: none;
}

.tfms-single-product__purchase .single_variation_wrap {
  display: grid;
  gap: 0.85rem;
}

.tfms-single-product__purchase .variations_button {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
}

.tfms-single-product__purchase .quantity {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}

.tfms-single-product__purchase .quantity::before {
  color: #64748b;
  content: "Qty";
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.tfms-single-product__purchase .quantity .qty {
  width: 92px;
  min-height: 52px;
  padding: 0 0.75rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #111827;
  font-weight: 800;
  text-align: center;
}

.tfms-single-product__purchase .single_add_to_cart_button.button {
  width: 100%;
  min-height: 52px;
  padding: 0.95rem 1.6rem;
  background: var(--tfms-blue);
  color: #fff;
  box-shadow: 0 12px 22px rgba(47, 88, 157, 0.18);
}

.tfms-single-product__purchase .single_add_to_cart_button.button.alt {
  background: var(--tfms-blue);
  color: #fff;
}

.tfms-single-product__purchase .single_add_to_cart_button.button:hover {
  background: var(--tfms-blue-dark);
  color: #fff;
}

.tfms-single-product__purchase .single_add_to_cart_button.button.alt:hover {
  background: var(--tfms-blue-dark);
  color: #fff;
}

.tfms-single-product__purchase .single_add_to_cart_button.button.disabled,
.tfms-single-product__purchase .single_add_to_cart_button.button:disabled,
.tfms-single-product__purchase .single_add_to_cart_button.button.disabled:hover,
.tfms-single-product__purchase .single_add_to_cart_button.button:disabled:hover {
  border: 1px solid var(--tfms-blue);
  background: #94a3b8;
  color: #f8fafc;
  cursor: not-allowed;
  opacity: 1;
}

.tfms-single-product__support-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.tfms-single-product__support-points span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.32rem 0.7rem 0.28rem;
  border: 1px solid #cdd9eb;
  background: #f8fafc;
  color: #304c7d;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tfms-single-product__categories a {
  color: var(--tfms-blue);
}

.tfms-single-product__categories a:hover {
  text-decoration: underline;
}

.tfms-single-product__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 0.35rem;
  border-top: 1px solid #dbe4f0;
}

.tfms-single-product__actions .tfms-wishlist-button--inline,
.tfms-share-button {
  min-height: 48px;
  padding: 0.8rem 1.3rem;
}

.woocommerce button.button.tfms-share-button,
.tfms-share-button {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #334155;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: none;
}

.woocommerce button.button.tfms-share-button:hover,
.tfms-share-button:hover {
  background: transparent;
  color: var(--tfms-blue);
  transform: none;
}

.tfms-share-button__icon {
  width: 1rem;
  height: 1rem;
  stroke-width: 2;
}

.wishlist-legacy {
  background: #fff;
}

.wishlist-legacy__inner {
  min-height: 40rem;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding-top: 0.45rem;
  padding-bottom: 2rem;
}

.wishlist-legacy__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.wishlist-legacy__header h1 {
  color: #111827;
  font-size: 1.35rem;
}

.wishlist-legacy__header span {
  color: #9ca3af;
  font-size: 1rem;
}

.wishlist-legacy__empty {
  display: grid;
  place-items: center;
  min-height: 30rem;
  color: #4b5563;
  font-size: 1.05rem;
  text-align: center;
}

.wishlist-legacy__list {
  align-self: start;
  margin-top: 2rem;
  background: #fff;
}

.tfms-wishlist__empty {
  display: grid;
  gap: 1rem;
  justify-items: start;
}

.tfms-wishlist__empty-copy {
  display: grid;
  gap: 0.55rem;
}

.tfms-wishlist__empty h2 {
  color: var(--tfms-blue);
  font-size: clamp(1.9rem, 4vw, 2.7rem);
}

.tfms-wishlist__empty p {
  margin: 0;
  color: #475569;
}

.tfms-wishlist__empty-actions,
.tfms-wishlist__empty-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-wishlist__empty-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0.35rem 0.75rem 0.3rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #334155;
  font-size: 0.9rem;
  font-weight: 600;
}

.tfms-wishlist__empty-links a:hover {
  border-color: #cbd5e1;
  color: var(--tfms-blue);
}

.tfms-wishlist__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tfms-wishlist-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #e5e7eb;
}

.tfms-wishlist-item:first-child {
  padding-top: 0;
}

.tfms-wishlist-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.tfms-wishlist-item__thumb {
  display: block;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.tfms-wishlist-item__image {
  display: block;
  width: 100%;
  height: 88px;
  object-fit: contain;
  padding: 0.75rem;
}

.tfms-wishlist-item__placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 88px;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-wishlist-item__body {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.tfms-wishlist-item__name {
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tfms-wishlist-item__name:hover {
  color: var(--tfms-blue);
}

.tfms-wishlist-item__price {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
}

.tfms-wishlist-item__price-regular {
  color: #94a3b8;
  font-size: 1rem;
  text-decoration: line-through;
}

.tfms-wishlist-item__remove {
  padding: 0.75rem 1rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #0f172a;
  font-size: 0.92rem;
  font-weight: 600;
}

.tfms-wishlist-item__remove:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}

.woocommerce-product-gallery {
  opacity: 1 !important;
  max-width: 100%;
  margin-bottom: 0 !important;
}

.woocommerce-product-gallery__wrapper {
  position: relative;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}

.woocommerce-product-gallery__image a {
  display: block;
}

.woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}

.woocommerce div.product div.images .flex-viewport {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  margin-bottom: 0.75rem;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.woocommerce div.product div.images ol.flex-control-nav,
.woocommerce div.product div.images .flex-control-nav,
.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
  margin-left: 0;
  padding: 0;
  counter-reset: none;
  list-style: none !important;
}

.woocommerce div.product div.images .flex-control-nav li,
.woocommerce div.product div.images .flex-control-thumbs li {
  display: block;
  float: none !important;
  clear: none !important;
  width: 100%;
  font-size: 0;
  line-height: 0;
  list-style: none !important;
}

.woocommerce div.product div.images .flex-control-nav li::before,
.woocommerce div.product div.images .flex-control-thumbs li::before,
.woocommerce div.product div.images .flex-control-nav li::marker,
.woocommerce div.product div.images .flex-control-thumbs li::marker {
  content: none !important;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 0.15rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  opacity: 1;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
  border-color: var(--tfms-blue);
}

.tfms-gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--tfms-blue);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
  transform: translateY(-50%);
}

.tfms-gallery-arrow:hover {
  background: #fff;
  color: var(--tfms-blue-dark);
}

.tfms-gallery-arrow--previous {
  left: 0.75rem;
}

.tfms-gallery-arrow--next {
  right: 0.75rem;
}

.tfms-gallery-arrow svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.tfms-gallery-dots {
  position: absolute;
  right: 1rem;
  bottom: 1.25rem;
  left: 1rem;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}

.tfms-gallery-dot {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #e5e7eb;
}

.tfms-gallery-dot.is-active {
  background: var(--tfms-blue);
}

.tfms-single-product__tabs {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.tfms-single-product__tabs .woocommerce-tabs {
  margin: 0;
  padding-top: 2.4rem;
  border-top: 1px solid #d1d5db;
}

.tfms-single-product__tabs .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  border-bottom: 2px solid #e5e7eb;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: thin;
}

.tfms-single-product__tabs .woocommerce-tabs ul.tabs::before,
.tfms-single-product__tabs .woocommerce-tabs ul.tabs li::before,
.tfms-single-product__tabs .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.tfms-single-product__tabs .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.tfms-single-product__tabs .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 1rem 1.1rem 0.85rem;
  color: #6b7280;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tfms-single-product__tabs .woocommerce-tabs ul.tabs li.active {
  border-bottom: 4px solid var(--tfms-blue);
}

.tfms-single-product__tabs .woocommerce-tabs ul.tabs li.active a {
  color: var(--tfms-blue);
}

.tfms-single-product__tabs .panel {
  margin: 0;
  padding-top: 1.5rem;
  color: #374151;
}

.tfms-single-product__tabs .woocommerce-Tabs-panel--description > h2:first-child {
  display: none;
}

.tfms-single-product__tabs .panel h1,
.tfms-single-product__tabs .panel h2,
.tfms-single-product__tabs .panel h3,
.tfms-single-product__tabs .panel h4 {
  margin-bottom: 0.75rem;
  color: var(--tfms-blue);
  font-size: clamp(1.7rem, 4vw, 2.4rem);
}

.tfms-single-product__tabs .woocommerce-Tabs-panel--description > h2:first-child + h2 {
  color: #111827;
  font-size: clamp(1.85rem, 3.5vw, 2.25rem);
}

.tfms-single-product__tabs .panel p + p,
.tfms-single-product__tabs .panel ul + p,
.tfms-single-product__tabs .panel p + ul {
  margin-top: 0.9rem;
}

.tfms-single-product__tabs .panel ul,
.tfms-single-product__tabs .panel ol {
  padding-left: 1.2rem;
}

.tfms-single-product__related > h2,
.tfms-single-product__related .related > h2 {
  margin-bottom: 1.25rem;
  color: var(--tfms-blue);
  font-size: clamp(2rem, 4vw, 3rem);
}

.tfms-single-product__related .products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tfms-extra-tab {
  display: grid;
  gap: 1.5rem;
  color: #374151;
}

.tfms-extra-tab p {
  margin: 0;
}

.tfms-extra-tab p + p,
.tfms-extra-tab ul + p,
.tfms-extra-tab p + ul {
  margin-top: 0.9rem;
}

.tfms-extra-tab ul,
.tfms-extra-tab ol {
  margin: 0;
  padding-left: 1.2rem;
}

.tfms-extra-tab h2,
.tfms-extra-tab h3,
.tfms-extra-tab h4 {
  color: var(--tfms-blue);
  font-size: clamp(1.6rem, 4vw, 2.2rem);
}

.tfms-extra-warranty__card,
.tfms-extra-downloads__item {
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-extra-warranty__headline,
.tfms-extra-downloads__title,
.tfms-extra-videos__title {
  margin-bottom: 0.75rem;
  color: var(--tfms-blue);
  font-size: clamp(1.45rem, 4vw, 2rem);
}

.tfms-extra-warranty__bundle {
  display: grid;
  gap: 0.9rem;
}

.tfms-extra-warranty__bundle-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid #dbe4f0;
}

.tfms-extra-warranty__bundle-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.tfms-extra-warranty__label {
  color: #6b7280;
  font-size: 0.92rem;
  font-weight: 600;
}

.tfms-extra-warranty__value {
  color: #111827;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.55rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-extra-accordion {
  display: grid;
  gap: 0.85rem;
}

.tfms-extra-accordion__item {
  border: 2px solid #e5e7eb;
  background: #fff;
}

.tfms-extra-accordion__summary {
  position: relative;
  display: block;
  padding: 1rem 3rem 1rem 1.25rem;
  cursor: pointer;
  color: #111827;
  font-weight: 600;
  list-style: none;
}

.tfms-extra-accordion__summary::-webkit-details-marker {
  display: none;
}

.tfms-extra-accordion__summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.6rem;
}

.tfms-extra-accordion__item[open] .tfms-extra-accordion__summary::after {
  content: "-";
}

.tfms-extra-accordion__body {
  padding: 0 1.25rem 1.25rem;
  border-top: 2px solid #f1f5f9;
}

.tfms-extra-videos {
  display: grid;
  gap: 1.5rem;
}

.tfms-extra-videos__item {
  display: grid;
  gap: 0.75rem;
}

.tfms-extra-videos__frame {
  position: relative;
  overflow: hidden;
  border: 1px solid #dbe4f0;
  background: #111827;
  aspect-ratio: 16 / 9;
}

.tfms-extra-videos__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.tfms-extra-videos__description,
.tfms-extra-downloads__description {
  color: #4b5563;
}

.tfms-extra-downloads {
  display: grid;
  gap: 1rem;
}

.tfms-extra-downloads__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.tfms-extra-downloads__meta {
  display: grid;
  gap: 0.5rem;
}

.tfms-extra-downloads__facts {
  color: #6b7280;
  font-size: 0.92rem;
}

.tfms-extra-downloads__button {
  white-space: nowrap;
}

.page-hero {
  padding: 2rem;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border: 1px solid #dbe4f0;
  box-shadow: var(--tfms-shadow);
}

.page-hero--plain {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-hero--center {
  text-align: center;
}

.page-hero__title {
  color: var(--tfms-blue);
  font-size: clamp(2.4rem, 5vw, 4rem);
}

.page-hero__lead {
  max-width: 42rem;
  margin-top: 1rem;
  color: #4b5563;
}

.page-hero--center .page-hero__lead {
  margin-left: auto;
  margin-right: auto;
}

.story-grid,
.contact-layout,
.category-groups,
.policy-layout {
  display: grid;
  gap: 2rem;
}

.story-card,
.contact-card,
.category-group,
.policy-card {
  padding: 1.5rem;
  background: #fff;
  box-shadow: var(--tfms-shadow);
}

.story-card__header,
.contact-card__header,
.category-group__header,
.policy-card__header {
  margin-bottom: 1rem;
}

.story-card__title,
.contact-card__title,
.category-group__title,
.policy-card__title {
  color: var(--tfms-blue);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.story-card__media {
  margin-top: 1.25rem;
  overflow: hidden;
  border: 1px solid #dbe4f0;
}

.story-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-legacy {
  max-width: 72rem;
  margin: 0 auto;
}

.about-legacy__section {
  margin-bottom: 3rem;
}

.about-legacy__title {
  margin-bottom: 1.25rem;
  color: var(--tfms-blue);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.about-legacy__content {
  display: grid;
  gap: 1rem;
  color: #374151;
  font-size: 1.05rem;
  line-height: 1.65;
}

.about-legacy__media-grid {
  display: grid;
  gap: 1.5rem;
  align-items: start;
}

.about-legacy__media {
  overflow: hidden;
  border: 1px solid #dbe4f0;
  box-shadow: var(--tfms-shadow);
}

.about-legacy__media img {
  width: 100%;
  height: auto;
}

.about-legacy__cta {
  display: grid;
  justify-items: center;
  gap: 1rem;
  margin-top: 3rem;
  padding: 2rem;
  background: #e5e7eb;
  text-align: center;
}

.about-legacy__cta .about-legacy__title {
  margin-bottom: 0;
}

.story-card__content,
.policy-card__content,
.contact-card__content {
  display: grid;
  gap: 1rem;
  color: #374151;
}

.story-card__content strong,
.policy-card__content strong,
.contact-card__content strong {
  color: #111827;
}

.policy-card--legacy {
  display: grid;
  gap: 2.5rem;
}

.policy-page-title {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  text-align: center;
}

.policy-page-title h1 {
  color: var(--tfms-blue);
  font-size: clamp(2.5rem, 7vw, 4rem);
}

.policy-section {
  display: grid;
  gap: 1.5rem;
}

.policy-section__header {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.policy-section__header h2 {
  color: #1f2937;
  font-size: clamp(2rem, 5vw, 3.25rem);
}

.policy-section__items {
  display: grid;
  gap: 1.6rem;
}

.policy-item {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: 0.75rem;
}

.policy-item h3 {
  margin-bottom: 0.55rem;
  color: var(--tfms-blue);
  font-size: clamp(1.25rem, 4.6vw, 1.65rem);
}

.policy-item p,
.policy-section__copy p {
  color: #374151;
  font-size: 1.02rem;
  line-height: 1.55;
}

.policy-item p + p,
.policy-section__copy p + p {
  margin-top: 0.25rem;
}

.policy-icon {
  width: 1.35rem;
  height: 1.35rem;
  color: var(--tfms-blue);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  flex: 0 0 auto;
}

.policy-section__header .policy-icon {
  width: 2.45rem;
  height: 2.45rem;
}

.policy-section__copy {
  display: grid;
  gap: 0.85rem;
  color: #374151;
}

.legal-page {
  max-width: 64rem;
  margin: 0 auto;
}

.legal-page__header {
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
  text-align: center;
}

.legal-page__header h1 {
  color: var(--tfms-blue);
  font-size: clamp(2.4rem, 6vw, 3.75rem);
}

.legal-page__header p {
  color: #4b5563;
}

.legal-prose {
  color: #374151;
  font-size: 1.05rem;
  line-height: 1.65;
}

.legal-prose > * + * {
  margin-top: 1rem;
}

.legal-prose h2 {
  margin-top: 2rem;
  color: var(--tfms-blue);
  font-size: clamp(1.7rem, 4.5vw, 2.15rem);
}

.legal-prose h3 {
  color: #374151;
  font-family: "Inter", sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.legal-prose ul {
  padding-left: 1.5rem;
}

.legal-prose li + li {
  margin-top: 0.35rem;
}

.legal-prose a {
  color: var(--tfms-blue);
}

.legal-prose address {
  padding-left: 1.5rem;
  font-style: normal;
}

.legal-prose__lead {
  font-size: 1.2rem;
}

.legal-prose__contact,
.legal-prose__notice {
  padding: 1rem;
  background: #f3f4f6;
}

.story-cta {
  display: grid;
  gap: 1rem;
  justify-items: start;
}

.story-cta .button {
  margin-top: 0.25rem;
}

.contact-layout {
  align-items: start;
}

.tfms-form {
  display: grid;
  gap: 1rem;
}

.tfms-form__grid {
  display: grid;
  gap: 1rem;
}

.tfms-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: #374151;
  font-weight: 600;
}

.tfms-form__required {
  color: #ef4444;
}

.tfms-form__optional {
  color: #6b7280;
  font-size: 0.82rem;
}

.tfms-form input,
.tfms-form textarea {
  width: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid #cbd5e1;
  background: #fff;
}

.tfms-form input:focus,
.tfms-form textarea:focus {
  outline: 2px solid rgba(58, 90, 153, 0.18);
  border-color: var(--tfms-blue);
}

.contact-form__status {
  padding: 0.9rem 1rem;
  border: 1px solid transparent;
}

.contact-form__status--success {
  border-color: #86efac;
  background: #f0fdf4;
  color: #166534;
}

.contact-form__status--error {
  border-color: #fca5a5;
  background: #fef2f2;
  color: #991b1b;
}

.contact-card__note {
  margin: 0;
  color: #6b7280;
  font-size: 0.88rem;
  font-style: italic;
}

.contact-points {
  display: grid;
  gap: 1rem;
}

.contact-point {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: 0.85rem;
  padding: 1rem 0;
  border-top: 1px solid #e5e7eb;
}

.contact-point:first-child {
  padding-top: 0;
  border-top: 0;
}

.contact-point__label {
  margin-bottom: 0.25rem;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.contact-point__icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.1rem;
  color: var(--tfms-blue);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.contact-map {
  overflow: hidden;
  border: 1px solid #dbe4f0;
}

.contact-map iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0;
}

.subcategory-grid {
  display: grid;
  gap: 1rem;
}

.category-group__header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.category-group__meta {
  margin-top: 0.25rem;
}

.category-group__actions a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.category-group__actions a:hover {
  color: var(--tfms-blue-dark);
}

.subcategory-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 132px;
  padding: 1.25rem;
  border: 2px solid #d1d5db;
  background: #fff;
  transition: border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.subcategory-card:hover {
  border-color: var(--tfms-blue);
  transform: translateY(-2px);
}

.subcategory-card__title {
  color: #111827;
  font-size: 1.45rem;
}

.subcategory-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  color: #6b7280;
  font-size: 0.95rem;
}

.category-group__empty {
  display: grid;
  gap: 1rem;
  justify-items: start;
  color: #4b5563;
}

.policy-card__content ul {
  margin: 0;
  padding-left: 1.2rem;
}

.policy-card__content address {
  font-style: normal;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  border-radius: 0;
  background: var(--tfms-blue);
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-flow-shell {
  display: grid;
  gap: 1.5rem;
  padding: 2.5rem 0;
}

.tfms-login-shell {
  display: grid;
  justify-items: center;
  padding: 3rem 0 4rem;
}

.tfms-login-card {
  box-sizing: border-box;
  width: min(100%, 32rem);
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 2rem;
  background: var(--tfms-blue);
  color: #fff;
  text-align: center;
}

.tfms-login-card__logo {
  width: 7.5rem;
  height: auto;
}

.tfms-login-card h1 {
  color: #fff;
  font-size: 1.45rem;
}

.tfms-login-card > p,
.tfms-login-card__signup {
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.05rem;
}

.tfms-login-card__form {
  width: 100%;
  display: grid;
  gap: 1rem;
}

.tfms-login-card__form .form-row {
  margin: 0;
}

.tfms-login-card__form input[type="text"],
.tfms-login-card__form input[type="password"] {
  width: 100%;
  min-height: 3rem;
  padding: 0.85rem 1rem;
  border: 0;
  background: #fff;
  color: #111827;
}

.tfms-login-card__form input::placeholder {
  color: #9ca3af;
}

.tfms-login-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #fff;
  font-size: 0.98rem;
  font-weight: 600;
  text-align: left;
}

.tfms-login-card__meta label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
}

.tfms-login-card__meta input {
  width: 1rem;
  height: 1rem;
  accent-color: #fff;
}

.tfms-login-card__meta a,
.tfms-login-card__signup a {
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

.woocommerce button.button.tfms-login-card__submit,
.tfms-login-card__submit {
  width: 100%;
  min-height: 3.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: #fff;
  color: var(--tfms-blue);
  box-shadow: none;
}

.tfms-login-card .show-password-input {
  display: none !important;
}

.tfms-checkout-empty {
  min-height: 30rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 1rem;
  padding: 3rem 1rem;
  text-align: center;
}

.tfms-checkout-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8rem;
  height: 8rem;
  border-radius: 999px;
  opacity: 0.42;
  background: #f3f4f6;
  color: #6b7280;
}

.tfms-checkout-empty__svg {
  width: 4.7rem;
  height: 4.7rem;
  stroke-width: 1.35;
}

.tfms-checkout-empty h1 {
  color: #111827;
  font-size: clamp(1.5rem, 5vw, 2rem);
}

.tfms-checkout-empty p {
  color: #9ca3af;
  font-size: 1.1rem;
}

.tfms-checkout-empty .button {
  min-height: 40px;
  padding: 0.55rem 0.8rem;
  border-radius: 6px;
  background: var(--tfms-blue);
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 3px 6px rgba(15, 23, 42, 0.18);
}

.tfms-checkout-empty .button:hover {
  background: var(--tfms-blue);
  color: #fff;
  transform: none;
}

.site-shell--checkout-focus {
  min-height: 100vh;
  background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 14rem, #f3f4f6 100%);
}

.checkout-focus-header {
  background: var(--tfms-blue);
  color: #fff;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.14);
}

.checkout-focus-header__inner,
.checkout-focus-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.checkout-focus-header__inner {
  min-height: 92px;
}

.checkout-focus-header .site-logo img {
  width: 128px;
}

.checkout-focus-header__support {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem 1rem;
  text-align: right;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.checkout-focus-header__support a {
  color: #fff;
}

.checkout-focus-footer {
  margin-top: auto;
  background: #fff;
  border-top: 1px solid #dbe4f0;
}

.checkout-focus-footer__inner {
  min-height: 70px;
  color: #4b5563;
  font-size: 0.92rem;
}

.checkout-focus-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.checkout-focus-footer__links a {
  color: var(--tfms-blue);
}

.tfms-flow-hero,
.tfms-flow-card {
  background: #fff;
  box-shadow: var(--tfms-shadow);
}

.tfms-flow-hero {
  display: grid;
  gap: 1rem;
  padding: 1.75rem;
  border: 1px solid #dbe4f0;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}

.tfms-flow-hero--task {
  gap: 0.85rem;
  padding: 1.35rem 1.5rem;
}

.tfms-flow-hero--task .tfms-flow-title {
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  line-height: 0.9;
}

.tfms-flow-hero--task .tfms-flow-description {
  max-width: 38rem;
  font-size: 0.98rem;
}

.tfms-flow-trust--task span {
  min-height: 2.2rem;
  padding: 0.4rem 0.75rem 0.35rem;
  font-size: 0.88rem;
}

.tfms-flow-hero__copy {
  display: grid;
  gap: 0.75rem;
}

.tfms-flow-eyebrow {
  color: var(--tfms-blue);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.tfms-flow-title {
  color: var(--tfms-blue);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.tfms-flow-description {
  max-width: 44rem;
  color: #374151;
  font-size: 1rem;
}

.tfms-flow-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.tfms-flow-trust span {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.55rem 0.9rem 0.5rem;
  border: 1px solid #cdd8ea;
  background: rgba(255, 255, 255, 0.78);
  color: #1f2937;
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.98rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-flow-card {
  padding: 1.5rem;
}

.tfms-flow-card--cart,
.tfms-flow-card--checkout {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.tfms-flow-card .woocommerce {
  display: grid;
  gap: 1.5rem;
}

.tfms-flow-card .woocommerce-notices-wrapper {
  display: grid;
  gap: 0.75rem;
}

.tfms-flow-card .woocommerce-info,
.tfms-flow-card .woocommerce-message,
.tfms-flow-card .woocommerce-error {
  margin: 0;
  border: 1px solid #dbe4f0;
  border-top: 4px solid var(--tfms-blue);
  background: #fff;
  color: #1f2937;
  list-style: none;
}

.tfms-flow-card .woocommerce-error {
  border-top-color: var(--tfms-red);
  padding: 1rem 1.25rem;
  box-shadow: 0 12px 28px rgba(190, 55, 42, 0.08);
}

.tfms-flow-card .woocommerce-error li {
  position: relative;
  padding-left: 1.15rem;
  color: #111827;
  font-weight: 600;
  line-height: 1.45;
}

.tfms-flow-card .woocommerce-error li + li {
  margin-top: 0.35rem;
}

.tfms-flow-card .woocommerce-error li::before {
  position: absolute;
  top: 0.64em;
  left: 0;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: var(--tfms-red);
  content: "";
}

.tfms-flow-card--cart .woocommerce-message {
  padding: 1rem 1.1rem;
}

.tfms-flow-card--cart .woocommerce-message .button.wc-forward {
  display: none;
}

.tfms-flow-card .woocommerce-form-coupon-toggle .woocommerce-info,
.tfms-flow-card .woocommerce-form-login-toggle .woocommerce-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
}

.tfms-flow-card .woocommerce-form-coupon-toggle .woocommerce-info a,
.tfms-flow-card .woocommerce-form-login-toggle .woocommerce-info a {
  color: var(--tfms-blue);
  font-weight: 800;
  white-space: nowrap;
}

.tfms-flow-card .woocommerce-info::before,
.tfms-flow-card .woocommerce-message::before,
.tfms-flow-card .woocommerce-error::before {
  top: 1rem;
}

.tfms-flow-card .woocommerce form .form-row,
.tfms-flow-card .woocommerce-page form .form-row {
  margin: 0 0 1rem;
}

.tfms-flow-card label,
.tfms-flow-card .woocommerce form label {
  color: #1f2937;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-flow-card input[type="text"],
.tfms-flow-card input[type="email"],
.tfms-flow-card input[type="tel"],
.tfms-flow-card input[type="password"],
.tfms-flow-card input[type="number"],
.tfms-flow-card textarea,
.tfms-flow-card select,
.tfms-flow-card .input-text {
  width: 100%;
  min-height: 52px;
  padding: 0.85rem 0.95rem;
  border: 1px solid #cbd5e1;
  border-radius: 0;
  background: #fff;
  color: #111827;
}

.tfms-flow-card .woocommerce-invalid input.input-text,
.tfms-flow-card .woocommerce-invalid select,
.tfms-flow-card .woocommerce-invalid .select2-selection {
  border-color: rgba(190, 55, 42, 0.72);
  box-shadow: inset 4px 0 0 rgba(190, 55, 42, 0.18);
}

.tfms-flow-card .woocommerce-invalid label {
  color: #8f2e24;
}

.tfms-flow-card textarea {
  min-height: 132px;
}

.tfms-flow-card .select2-container .select2-selection--single,
.tfms-flow-card .select2-container .select2-selection--multiple {
  min-height: 52px;
  border: 1px solid #cbd5e1;
  border-radius: 0;
}

.tfms-flow-card .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 50px;
}

.tfms-flow-card .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 50px;
}

.tfms-flow-card table.shop_table {
  width: 100%;
  margin: 0;
  border: 1px solid #dbe4f0;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

.tfms-flow-card table.shop_table th,
.tfms-flow-card table.shop_table td {
  padding: 1rem;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}

.tfms-flow-card table.shop_table thead th {
  background: #f8fafc;
  color: #1f2937;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tfms-flow-card table.shop_table.cart {
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.tfms-flow-card table.shop_table.cart td.product-name a {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.18rem;
  letter-spacing: 0.045em;
  line-height: 1.08;
  text-transform: uppercase;
}

.tfms-flow-card table.shop_table.cart td.product-price,
.tfms-flow-card table.shop_table.cart td.product-subtotal,
.tfms-flow-card .woocommerce-checkout-review-order-table td.product-total,
.tfms-flow-card .woocommerce-checkout-review-order-table tfoot td {
  color: #111827;
  font-weight: 800;
}

.tfms-flow-card table.shop_table tbody tr:last-child td,
.tfms-flow-card table.shop_table tbody tr:last-child th,
.tfms-flow-card table.shop_table tfoot tr:last-child td,
.tfms-flow-card table.shop_table tfoot tr:last-child th {
  border-bottom: 0;
}

.tfms-flow-card .product-name a,
.tfms-flow-card .product-thumbnail a,
.tfms-flow-card .woocommerce-table__product-name a {
  color: #111827;
}

.tfms-flow-card .product-name a:hover,
.tfms-flow-card .woocommerce-table__product-name a:hover {
  color: var(--tfms-blue);
}

.tfms-flow-card .product-thumbnail img,
.tfms-flow-card .woocommerce-table__product-name img {
  width: 88px;
  min-width: 88px;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.tfms-flow-card .variation {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.25rem 0.6rem;
  margin: 0.75rem 0 0;
}

.tfms-flow-card .variation dt,
.tfms-flow-card .variation dd {
  margin: 0;
}

.tfms-flow-card .variation dd p {
  margin: 0;
}

.tfms-flow-card .wc-item-meta {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.25rem 0.6rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.tfms-flow-card .wc-item-meta li {
  display: contents;
}

.tfms-flow-card .wc-item-meta .wc-item-meta-label {
  font-weight: 700;
}

.tfms-flow-card .wc-item-meta p {
  margin: 0;
}

.tfms-flow-card .quantity .qty {
  width: 88px;
  min-height: 48px;
  text-align: center;
}

.tfms-flow-card .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-flow-card .coupon .input-text {
  max-width: 240px;
}

.tfms-flow-card .checkout_coupon .input-text.has-error,
.tfms-flow-card .coupon .input-text.has-error {
  border-color: var(--tfms-red);
  box-shadow: inset 4px 0 0 rgba(190, 55, 42, 0.16);
}

.tfms-flow-card .checkout_coupon .coupon-error-notice,
.tfms-flow-card .coupon .coupon-error-notice {
  display: block;
  margin-top: 0.65rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(190, 55, 42, 0.28);
  border-left: 4px solid var(--tfms-red);
  background: #fff5f5;
  color: #8f2e24;
  font-family: "Inter", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}

.tfms-flow-card .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem;
  background: #f8fafc;
}

.tfms-flow-card .cart-collaterals {
  width: 100%;
}

.tfms-flow-card .cart-collaterals::after {
  content: "";
  display: block;
  clear: both;
}

.tfms-flow-card .cart_totals,
.tfms-flow-card .cross-sells,
.tfms-flow-card .woocommerce-checkout-review-order,
.tfms-flow-card .woocommerce-form-login,
.tfms-flow-card .woocommerce-form-register,
.tfms-flow-card .woocommerce-ResetPassword,
.tfms-flow-card .woocommerce-form-coupon,
.tfms-flow-card .woocommerce-order,
.tfms-flow-card .woocommerce-MyAccount-content,
.tfms-flow-card .woocommerce-MyAccount-navigation {
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background: #fff;
}

.tfms-flow-card .cart_totals,
.tfms-flow-card .woocommerce-checkout-review-order,
.tfms-flow-card #order_review,
.tfms-flow-card .col2-set .col-1,
.tfms-flow-card .col2-set .col-2 {
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.tfms-flow-card .cart_totals,
.tfms-flow-card #order_review {
  border-top: 4px solid var(--tfms-blue);
}

.tfms-flow-card .cart_totals h2,
.tfms-flow-card .cross-sells h2,
.tfms-flow-card #order_review_heading,
.tfms-flow-card .woocommerce-column__title,
.tfms-flow-card .woocommerce-order-details__title,
.tfms-flow-card .woocommerce-customer-details h2,
.tfms-flow-card .woocommerce-MyAccount-content > h2,
.tfms-flow-card .woocommerce-Address-title h3 {
  margin-bottom: 1rem;
  color: var(--tfms-blue);
  font-size: 2rem;
}

.tfms-flow-card .cart_totals h2,
.tfms-flow-card #order_review_heading,
.tfms-flow-card .woocommerce-billing-fields > h3,
.tfms-flow-card .woocommerce-shipping-fields > h3,
.tfms-flow-card .woocommerce-additional-fields > h3,
.tfms-flow-card #ship-to-different-address {
  font-size: 1.85rem;
  letter-spacing: 0.055em;
}

.tfms-flow-card .checkout_coupon,
.tfms-flow-card .login,
.tfms-flow-card .register {
  display: grid;
  gap: 0.75rem;
}

.tfms-flow-card .woocommerce-form-coupon {
  gap: 1rem;
  border-top: 4px solid var(--tfms-blue);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.tfms-flow-card .checkout_coupon {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.tfms-flow-card .checkout_coupon > p:first-child:not(.form-row) {
  grid-column: 1 / -1;
  color: #4b5563;
}

.tfms-flow-card .checkout_coupon label {
  display: none;
}

.tfms-flow-card .checkout_coupon .form-row {
  margin: 0 !important;
}

.tfms-flow-card .checkout_coupon .form-row-first,
.tfms-flow-card .checkout_coupon .form-row-last {
  float: none;
  width: auto;
}

.tfms-flow-card .checkout_coupon .button {
  min-height: 52px;
  white-space: nowrap;
}

.tfms-flow-card .cart-empty,
.tfms-flow-card .return-to-shop,
.tfms-flow-card .wc-empty-cart-message {
  text-align: center;
}

.tfms-flow-card--cart .wc-empty-cart-message,
.tfms-flow-card--cart .return-to-shop {
  display: none;
}

.tfms-flow-card .cart-empty {
  padding: 2rem 1rem 1rem;
  color: #4b5563;
  font-size: 1.1rem;
}

.tfms-flow-card .return-to-shop {
  margin-top: 1rem;
}

.tfms-flow-card form.checkout {
  display: grid;
  gap: 1.5rem;
}

.tfms-flow-card form.checkout > .woocommerce-NoticeGroup,
.tfms-flow-card form.checkout > .woocommerce-NoticeGroup-checkout {
  grid-column: 1 / -1;
}

.tfms-flow-card .col2-set {
  display: grid;
  gap: 1.5rem;
}

.tfms-flow-card .col2-set .col-1,
.tfms-flow-card .col2-set .col-2 {
  float: none;
  width: 100%;
  max-width: none;
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background: #fff;
}

.tfms-flow-card .col2-set .col-1 {
  border-top: 4px solid var(--tfms-blue);
}

.tfms-flow-card .col2-set .col-2 {
  border-top: 4px solid #cbd5e1;
}

.tfms-flow-card .woocommerce-billing-fields > h3,
.tfms-flow-card .woocommerce-shipping-fields > h3,
.tfms-flow-card .woocommerce-additional-fields > h3,
.tfms-flow-card #ship-to-different-address {
  margin-bottom: 1rem;
  color: var(--tfms-blue);
  font-size: 2rem;
}

.tfms-flow-card .woocommerce-shipping-fields {
  margin-top: 1.5rem;
}

.tfms-flow-card .woocommerce-billing-fields__field-wrapper,
.tfms-flow-card .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  gap: 0 1rem;
}

.tfms-flow-card .woocommerce-billing-fields__field-wrapper .form-row,
.tfms-flow-card .woocommerce-shipping-fields__field-wrapper .form-row {
  min-width: 0;
}

.tfms-flow-card #order_review_heading {
  margin: 0;
}

.tfms-flow-card #order_review {
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  border-top: 4px solid var(--tfms-blue);
  background: #fff;
}

.tfms-flow-card #payment {
  overflow: hidden;
  background: #f8fafc;
  border: 1px solid #dbe4f0;
}

.tfms-flow-card #payment div.payment_box {
  margin: 0.75rem 0 0;
  background: #fff;
  border-radius: 0;
}

.tfms-flow-card #payment ul.payment_methods {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #dbe4f0;
  list-style: none;
}

.tfms-flow-card #payment ul.payment_methods li {
  padding: 1rem 1.25rem;
  margin: 0;
  list-style: none;
}

.tfms-flow-card #payment ul.payment_methods li::marker {
  content: "";
}

.tfms-flow-card #payment ul.payment_methods li.wc_payment_method {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  align-items: start;
}

.tfms-flow-card #payment ul.payment_methods li.wc_payment_method > input.input-radio {
  grid-column: 1;
  margin: 0.2rem 0 0;
}

.tfms-flow-card #payment ul.payment_methods li.wc_payment_method > label,
.tfms-flow-card #payment ul.payment_methods li.wc_payment_method > .payment_box {
  grid-column: 2;
  min-width: 0;
}

.tfms-flow-card #payment .place-order {
  padding: 1.25rem;
}

.tfms-flow-card #place_order {
  min-height: 54px;
  width: 100%;
  background: var(--tfms-red);
  font-size: 1.18rem;
}

.tfms-flow-card #place_order:hover {
  background: #bd323c;
}

.tfms-flow-card .shop_table.woocommerce-checkout-review-order-table tfoot th,
.tfms-flow-card .shop_table.woocommerce-checkout-review-order-table tfoot td,
.tfms-flow-card .cart_totals table th,
.tfms-flow-card .cart_totals table td {
  font-size: 0.95rem;
}

.tfms-flow-card .shop_table.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.tfms-flow-card .shop_table.woocommerce-checkout-review-order-table tfoot tr:last-child td,
.tfms-flow-card .cart_totals tr.order-total th,
.tfms-flow-card .cart_totals tr.order-total td {
  color: #111827;
  font-size: 1.05rem;
  font-weight: 700;
}

.tfms-flow-card .woocommerce-checkout-payment .about_paypal,
.tfms-flow-card .woocommerce-checkout-payment .payment_method_paypal img {
  vertical-align: middle;
}

.tfms-flow-card--account .woocommerce {
  display: grid;
  gap: 1.5rem;
}

.tfms-flow-card--account .woocommerce-MyAccount-navigation,
.tfms-flow-card--account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  max-width: 100%;
}

.tfms-account-profile,
.tfms-account-support {
  display: grid;
  gap: 0.9rem;
  padding: 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid #dbe4f0;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}

.tfms-account-profile {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.tfms-account-profile__media img {
  width: 72px;
  height: 72px;
  border: 3px solid #fff;
  border-radius: 999px;
  object-fit: cover;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.12);
}

.tfms-account-profile__copy {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.tfms-account-profile__eyebrow {
  color: var(--tfms-blue);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tfms-account-profile__copy h2,
.tfms-account-support h2 {
  color: var(--tfms-blue);
  font-size: 1.9rem;
  overflow-wrap: anywhere;
}

.tfms-account-profile__copy p,
.tfms-account-support p {
  color: #4b5563;
  word-break: break-word;
}

.tfms-account-support__actions {
  display: grid;
  gap: 0.4rem;
}

.tfms-account-support__actions a {
  color: var(--tfms-blue);
  font-weight: 600;
}

.tfms-account-dashboard-intro {
  display: grid;
  gap: 0.9rem;
  padding: 1.5rem;
  border: 1px solid #dbe4f0;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}

.tfms-account-dashboard-intro h2 {
  color: var(--tfms-blue);
  font-size: 2rem;
}

.tfms-account-dashboard-intro p {
  margin: 0;
  color: #374151;
}

.tfms-account-dashboard-actions {
  display: grid;
  gap: 1rem;
}

.tfms-account-dashboard-action {
  display: grid;
  gap: 0.45rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.tfms-account-dashboard-action:hover {
  transform: translateY(-1px);
  border-color: #b8c6db;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.tfms-account-dashboard-action strong {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.35rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-account-dashboard-action span {
  color: #475569;
}

.tfms-flow-card--account .tfms-account-profile,
.tfms-flow-card--account .woocommerce-MyAccount-navigation,
.tfms-flow-card--account .tfms-account-support {
  grid-column: 1;
}

.tfms-flow-card--account .woocommerce-MyAccount-content {
  grid-column: 2;
  grid-row: 1 / span 3;
}

.tfms-flow-card .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tfms-flow-card .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.85rem 1rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #1f2937;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-flow-card .woocommerce-MyAccount-navigation .is-active a {
  border-color: var(--tfms-blue);
  background: var(--tfms-blue);
  color: #fff;
}

@media (min-width: 768px) and (hover: hover) {
  .tfms-flow-card .woocommerce-MyAccount-navigation a:hover {
    border-color: var(--tfms-blue);
    background: var(--tfms-blue);
    color: #fff;
  }
}

.tfms-flow-card .woocommerce-MyAccount-content {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.tfms-flow-card .woocommerce-MyAccount-content > * {
  min-width: 0;
}

.tfms-flow-card .woocommerce-MyAccount-content > p:first-of-type {
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-flow-card .woocommerce-MyAccount-content > p + p {
  margin-top: 0;
}

.tfms-flow-card .woocommerce-MyAccount-content .woocommerce-message,
.tfms-flow-card .woocommerce-MyAccount-content .woocommerce-info {
  margin-bottom: 0;
}

.tfms-flow-card .woocommerce-MyAccount-content .woocommerce-info {
  padding: 1.1rem 1.1rem 1.1rem 3rem;
}

.tfms-flow-card .woocommerce-MyAccount-content .woocommerce-info .button,
.tfms-flow-card .woocommerce-MyAccount-content .woocommerce-info .woocommerce-Button {
  margin-left: 0.75rem;
}

.tfms-flow-card .woocommerce-Address {
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}

.tfms-flow-card .woocommerce-Address address {
  font-style: normal;
  color: #374151;
}

.tfms-flow-card .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.tfms-flow-card .woocommerce-Address-title .edit {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-flow-card .woocommerce-columns--addresses,
.tfms-flow-card .woocommerce-columns--2 {
  display: grid;
  gap: 1rem;
}

.tfms-flow-card .woocommerce-EditAccountForm,
.tfms-flow-card .woocommerce-address-fields {
  display: grid;
  gap: 0.75rem;
}

.tfms-flow-card .woocommerce-EditAccountForm fieldset {
  margin: 0;
  padding: 1.25rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-flow-card .woocommerce-EditAccountForm legend {
  padding: 0 0.4rem;
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tfms-flow-card .woocommerce form .show-password-input {
  top: 14px;
  right: 14px;
}

.tfms-flow-card .woocommerce-form-login.login,
.tfms-flow-card .woocommerce-ResetPassword.lost_reset_password {
  max-width: 720px;
}

.tfms-guest-helper,
.tfms-cart-empty-helper {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
    radial-gradient(circle at top right, rgba(58, 90, 153, 0.05), transparent 16rem);
}

.tfms-guest-helper__copy,
.tfms-cart-empty-helper__copy {
  display: grid;
  gap: 0.45rem;
}

.tfms-guest-helper__eyebrow {
  color: var(--tfms-red);
  font-family: "Bebas Neue", sans-serif;
  font-size: 0.98rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-guest-helper h2,
.tfms-cart-empty-helper h2 {
  color: var(--tfms-blue);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
}

.tfms-guest-helper p:last-child,
.tfms-cart-empty-helper p:last-child {
  color: #475569;
}

.tfms-guest-helper__actions,
.tfms-guest-helper__facts,
.tfms-cart-empty-helper__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-guest-helper__facts span,
.tfms-cart-empty-helper__links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0.35rem 0.75rem 0.3rem;
  border: 1px solid #dbe4f0;
  background: #fff;
  color: #334155;
  font-size: 0.9rem;
  font-weight: 600;
}

.tfms-cart-empty-helper__links a:hover {
  border-color: #cbd5e1;
  color: var(--tfms-blue);
}

.tfms-flow-card--account.is-guest .woocommerce {
  align-items: start;
}

.tfms-flow-card--account.is-guest .woocommerce > h2 {
  margin: 0;
  color: var(--tfms-blue);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
}

.tfms-flow-card .woocommerce-orders-table .button,
.tfms-flow-card .woocommerce-table .button,
.tfms-flow-card .my_account_orders .button {
  min-height: 42px;
  padding: 0.7rem 1rem;
  font-size: 0.95rem;
}

.tfms-flow-card .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions,
.tfms-flow-card .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
  white-space: nowrap;
}

.tfms-flow-card .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button + .button {
  margin-left: 0.5rem;
}

.tfms-flow-card .woocommerce-orders-table tbody tr:hover,
.tfms-flow-card .my_account_orders tbody tr:hover {
  background: #f8fafc;
}

.tfms-account-section {
  display: grid;
  gap: 1.25rem;
}

.tfms-account-section__intro {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid #dbe4f0;
  background:
    linear-gradient(135deg, rgba(248, 250, 252, 0.98), rgba(238, 242, 255, 0.98)),
    radial-gradient(circle at top right, rgba(58, 90, 153, 0.06), transparent 16rem);
}

.tfms-account-section__copy {
  display: grid;
  gap: 0.55rem;
}

.tfms-account-section__copy h2 {
  color: var(--tfms-blue);
  font-size: clamp(2rem, 4vw, 2.85rem);
}

.tfms-account-section__copy p:last-child {
  color: #475569;
}

.tfms-account-section__meta {
  display: grid;
  gap: 0.9rem;
}

.tfms-account-stat {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.05rem;
  border: 1px solid #dbe4f0;
  background: #fff;
}

.tfms-account-stat__label {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tfms-account-stat strong {
  color: #0f172a;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-account-stat span:not(.tfms-account-stat__label),
.tfms-account-stat a {
  color: #475569;
  font-size: 0.95rem;
}

.tfms-account-stat a {
  font-weight: 600;
}

.tfms-account-section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-order-status {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: #e2e8f0;
  color: #0f172a;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tfms-order-status--completed {
  background: #dcfce7;
  color: #166534;
}

.tfms-order-status--processing,
.tfms-order-status--on-hold {
  background: #dbeafe;
  color: #1d4ed8;
}

.tfms-order-status--pending,
.tfms-order-status--failed,
.tfms-order-status--cancelled,
.tfms-order-status--refunded {
  background: #fee2e2;
  color: #b91c1c;
}

.tfms-account-empty-state {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-account-empty-state__copy {
  display: grid;
  gap: 0.55rem;
}

.tfms-account-empty-state h3 {
  color: var(--tfms-blue);
  font-size: clamp(1.8rem, 3.5vw, 2.4rem);
}

.tfms-account-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-account-field-grid {
  display: grid;
  gap: 0.75rem;
}

.tfms-account-form-footer {
  display: grid;
  gap: 1rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-account-form-footer__copy {
  display: grid;
  gap: 0.35rem;
}

.tfms-account-form-footer__copy strong {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.45rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tfms-account-form-footer__copy span {
  color: #475569;
}

.tfms-account-form-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tfms-account-form-footer__actions .button {
  min-height: 48px;
}

.tfms-address-book {
  display: grid;
  gap: 1rem;
}

.tfms-address-card {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-address-card__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.tfms-address-card__copy {
  display: grid;
  gap: 0.35rem;
}

.tfms-address-card__copy h3 {
  color: var(--tfms-blue);
  font-size: 1.9rem;
}

.tfms-address-card .edit {
  color: var(--tfms-blue);
  font-family: "Bebas Neue", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tfms-address-card address {
  color: #374151;
  font-style: normal;
}

.tfms-address-form {
  display: grid;
  gap: 1rem;
}

.tfms-recovery-form {
  display: grid;
  gap: 1rem;
}

.tfms-address-form__fields {
  display: grid;
  gap: 0.75rem;
}

.tfms-address-form .select2-container,
.tfms-address-form .select2-selection,
.tfms-address-form .select2-selection--single {
  width: 100% !important;
}

.tfms-address-form .select2-selection--single {
  min-height: 52px;
  border: 1px solid #d1d5db;
  border-radius: 0;
  padding: 0.6rem 0.75rem;
}

.tfms-address-form .select2-selection__rendered {
  line-height: 1.8 !important;
  padding-left: 0 !important;
}

.tfms-address-form .select2-selection__arrow {
  height: 100% !important;
  right: 0.7rem !important;
}

.tfms-payment-methods-table .button + .button {
  margin-left: 0.5rem;
}

.tfms-account-order-summary {
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
  color: #374151;
}

.tfms-account-order-summary mark {
  background: transparent;
  color: var(--tfms-blue);
  font-weight: 700;
}

.tfms-account-notes {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
}

.tfms-account-notes h3 {
  color: var(--tfms-blue);
  font-size: 1.85rem;
}

.tfms-account-notes .woocommerce-OrderUpdates {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tfms-account-notes .woocommerce-OrderUpdate {
  padding: 1rem 1.05rem;
  border: 1px solid #dbe4f0;
  background: #fff;
}

.tfms-account-notes .woocommerce-OrderUpdate-meta {
  margin-bottom: 0.4rem;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tfms-account-notes .woocommerce-OrderUpdate-description p:last-child {
  margin-bottom: 0;
}

.tfms-flow-card .woocommerce-order-details,
.tfms-flow-card .woocommerce-customer-details,
.tfms-flow-card .woocommerce-order-downloads {
  display: grid;
  gap: 1rem;
  min-width: 0;
  overflow-wrap: break-word;
}

.tfms-flow-card .woocommerce-order-overview {
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem;
  margin: 0;
  border: 1px solid #dbe4f0;
  background: #f8fafc;
  list-style: none;
  overflow-wrap: break-word;
}

.tfms-flow-card .woocommerce-order-overview strong {
  display: block;
  margin-top: 0.2rem;
  color: #111827;
  font-size: 1rem;
}

.woocommerce-order-received .tfms-flow-card .woocommerce-order-overview,
.tfms-flow-card .woocommerce-order .woocommerce-order-overview {
  display: none;
}

.woocommerce-order-received .tfms-flow-card .woocommerce-thankyou-order-received,
.woocommerce-order-received .tfms-flow-card .woocommerce-customer-details {
  display: none;
}

.tfms-flow-card .woocommerce-order p,
.tfms-flow-card .woocommerce-order address,
.tfms-flow-card .woocommerce-MyAccount-content p {
  color: #374151;
}

.tfms-flow-card .woocommerce-form-login__rememberme,
.tfms-flow-card .woocommerce-form__label-for-checkbox,
.tfms-flow-card .create-account {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tfms-flow-card .lost_password a {
  color: var(--tfms-blue);
  text-decoration: underline;
}

.tfms-flow-card .woocommerce-password-strength {
  margin-top: 0.5rem;
  border-radius: 0;
}

.tfms-flow-card .woocommerce-privacy-policy-text,
.tfms-flow-card .woocommerce-terms-and-conditions-wrapper {
  color: #4b5563;
  font-size: 0.92rem;
}

.tfms-flow-card .wc_payment_method label {
  font-size: 1rem;
  letter-spacing: 0.04em;
}

.tfms-flow-card .woocommerce button.button.alt,
.tfms-flow-card .woocommerce a.button.alt,
.tfms-flow-card .woocommerce input.button.alt,
.tfms-flow-card .woocommerce #payment #place_order,
.tfms-flow-card .woocommerce .button.alt {
  background: var(--tfms-blue);
  color: #fff;
}

.tfms-flow-card .woocommerce button.button.alt:hover,
.tfms-flow-card .woocommerce a.button.alt:hover,
.tfms-flow-card .woocommerce input.button.alt:hover,
.tfms-flow-card .woocommerce #payment #place_order:hover,
.tfms-flow-card .woocommerce .button.alt:hover {
  background: var(--tfms-blue-dark);
  color: #fff;
}

.tfms-flow-card--checkout .woocommerce #payment #place_order {
  background: var(--tfms-red);
}

.tfms-flow-card--checkout .woocommerce #payment #place_order:hover {
  background: #bd323c;
}

.tfms-flow-card .woocommerce-order-pay #payment,
.tfms-flow-card .woocommerce-order-received .woocommerce-order {
  margin-top: 1rem;
  min-width: 0;
  overflow-wrap: break-word;
}

.tfms-order-glance {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid #dbe4f0;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  min-width: 0;
}

.tfms-order-glance__item {
  display: grid;
  gap: 0.2rem;
}

.tfms-order-glance__label {
  color: #6b7280;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tfms-order-glance__value {
  color: #111827;
  font-size: 1rem;
  min-width: 0;
  overflow-wrap: break-word;
}

.tfms-order-meta-grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.tfms-order-summary-card {
  border: 1px solid #dbe4f0;
  background: #fff;
  min-width: 0;
}

.tfms-order-summary-card h2 {
  padding: 1rem 1rem 0;
  color: var(--tfms-blue);
  font-size: 1.75rem;
}

.tfms-order-summary-card__body {
  display: grid;
  gap: 0.6rem;
  padding: 0 1rem 1rem;
  color: #374151;
  min-width: 0;
  overflow-wrap: break-word;
}

.tfms-order-summary-card__body p {
  margin: 0;
}

.tfms-order-summary-card__address {
  display: grid;
  gap: 0.2rem;
  line-height: 1.55;
  overflow-wrap: break-word;
}

.tfms-received-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.tfms-received-actions .button {
  min-height: 50px;
}

.has-mobile-nav {
  overflow: hidden;
}

@media (min-width: 768px) {
  .tfms-flow-shell {
    gap: 2rem;
    padding: 3rem 0;
  }

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

  .tfms-flow-hero,
  .tfms-flow-card {
    padding: 2rem;
  }

  .tfms-flow-card--cart,
  .tfms-flow-card--checkout {
    padding: 0;
  }

  .tfms-flow-card .woocommerce-billing-fields__field-wrapper,
  .tfms-flow-card .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tfms-flow-card .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .tfms-flow-card .woocommerce-shipping-fields__field-wrapper .form-row-wide,
  .tfms-flow-card #billing_country_field,
  .tfms-flow-card #shipping_country_field,
  .tfms-flow-card #billing_address_1_field,
  .tfms-flow-card #shipping_address_1_field,
  .tfms-flow-card #billing_address_2_field,
  .tfms-flow-card #shipping_address_2_field {
    grid-column: 1 / -1;
  }

  .tfms-flow-card .woocommerce-columns--addresses,
  .tfms-flow-card .woocommerce-columns--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tfms-order-glance {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 1.25rem;
  }

  .tfms-order-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (min-width: 1024px) {
  .tfms-flow-shell {
    padding: 4rem 0;
  }

  .shop-layout {
    grid-template-columns: 170px minmax(0, 1fr);
    align-items: start;
  }

  .shop-filters__close,
  .shop-filters-toggle,
  .shop-filters-overlay {
    display: none !important;
  }

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

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

  .tfms-flow-hero {
    grid-template-columns: minmax(0, 1.4fr) auto;
    align-items: end;
  }

  .tfms-flow-card--cart .woocommerce {
    grid-template-columns: minmax(0, 1fr) 336px;
    align-items: start;
  }

  .tfms-flow-card--cart .woocommerce-notices-wrapper,
  .tfms-flow-card--cart .wc-empty-cart-message,
  .tfms-flow-card--cart .return-to-shop {
    grid-column: 1 / -1;
  }

  .tfms-flow-card--cart .woocommerce-cart-form {
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
  }

  .tfms-flow-card--cart .cart-collaterals {
    grid-column: 2;
    min-width: 0;
  }

  .tfms-flow-card .cart-collaterals {
    display: block;
    width: 100%;
  }

  .tfms-flow-card:not(.tfms-flow-card--cart) .cart-collaterals {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1.5rem;
    align-items: start;
  }

  .tfms-flow-card .cross-sells {
    order: 2;
  }

  .tfms-flow-card .cart_totals {
    order: 3;
    float: none;
    width: 100%;
    position: sticky;
    top: 128px;
  }

  .tfms-flow-card--cart .cart_totals {
    position: sticky;
    top: 128px;
  }

  .tfms-flow-card--cart table.shop_table.cart td.actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
  }

  .tfms-flow-card--cart table.shop_table.cart,
  .tfms-flow-card--cart table.shop_table.cart thead,
  .tfms-flow-card--cart table.shop_table.cart tbody,
  .tfms-flow-card--cart table.shop_table.cart tr,
  .tfms-flow-card--cart table.shop_table.cart th,
  .tfms-flow-card--cart table.shop_table.cart td {
    display: block;
  }

  .tfms-flow-card--cart table.shop_table.cart thead {
    display: none;
  }

  .tfms-flow-card--cart table.shop_table.cart tbody tr.cart_item {
    display: grid;
    grid-template-columns: 28px 88px minmax(0, 1fr) 86px 96px 96px;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
  }

  .tfms-flow-card--cart table.shop_table.cart tbody tr.cart_item td {
    width: auto;
    padding: 0;
    border: 0;
  }

  .tfms-flow-card--cart table.shop_table.cart th.product-remove,
  .tfms-flow-card--cart table.shop_table.cart td.product-remove {
    width: 28px;
  }

  .tfms-flow-card--cart table.shop_table.cart th.product-thumbnail,
  .tfms-flow-card--cart table.shop_table.cart td.product-thumbnail {
    width: 104px;
  }

  .tfms-flow-card--cart table.shop_table.cart th.product-price,
  .tfms-flow-card--cart table.shop_table.cart td.product-price {
    width: 86px;
  }

  .tfms-flow-card--cart table.shop_table.cart th.product-quantity,
  .tfms-flow-card--cart table.shop_table.cart td.product-quantity {
    width: 96px;
  }

  .tfms-flow-card--cart table.shop_table.cart th.product-subtotal,
  .tfms-flow-card--cart table.shop_table.cart td.product-subtotal {
    width: 96px;
  }

  .tfms-flow-card--cart table.shop_table.cart td.product-thumbnail img {
    width: 72px;
    min-width: 72px;
  }

  .tfms-flow-card--cart table.shop_table.cart td.product-name a {
    font-size: 1.08rem;
    line-height: 1.12;
  }

  .tfms-flow-card--cart table.shop_table.cart td.actions .coupon {
    display: grid;
    grid-template-columns: minmax(180px, 240px) auto;
    align-items: center;
    flex: 0 1 auto;
  }

  .tfms-flow-card--cart table.shop_table.cart td.actions > .button {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .tfms-flow-card form.checkout {
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
  }

  .tfms-flow-card .col2-set,
  .tfms-flow-card .woocommerce-additional-fields,
  .tfms-flow-card .woocommerce-form-login,
  .tfms-flow-card .woocommerce-form-register,
  .tfms-flow-card .woocommerce-ResetPassword,
  .tfms-flow-card .woocommerce-form-coupon {
    grid-column: 1;
  }

  .tfms-flow-card #order_review_heading,
  .tfms-flow-card #order_review {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }

  .tfms-flow-card form.checkout:has(> .woocommerce-NoticeGroup) #order_review_heading,
  .tfms-flow-card form.checkout:has(> .woocommerce-NoticeGroup) #order_review,
  .tfms-flow-card form.checkout:has(> .woocommerce-NoticeGroup-checkout) #order_review_heading,
  .tfms-flow-card form.checkout:has(> .woocommerce-NoticeGroup-checkout) #order_review {
    grid-row: 2;
  }

  .tfms-flow-card #order_review_heading {
    position: sticky;
    top: 128px;
  }

  .tfms-flow-card #order_review {
    margin-top: 4rem;
    position: sticky;
    top: 176px;
  }

  .tfms-flow-card--account .woocommerce {
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: start;
  }

  .tfms-flow-card--account.is-guest .woocommerce {
    grid-template-columns: minmax(280px, 0.92fr) minmax(340px, 1.08fr);
    column-gap: 2rem;
  }

  .tfms-flow-card--account.is-guest .tfms-guest-helper {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin-bottom: 0;
    align-self: start;
    min-height: 100%;
  }

  .tfms-flow-card--account.is-guest .woocommerce > h2,
  .tfms-flow-card--account.is-guest .woocommerce-form-login.login {
    grid-column: 2;
  }

  .tfms-flow-card--account.is-guest .woocommerce-form-login.login {
    max-width: none;
  }

  .tfms-flow-card--account .woocommerce-MyAccount-content {
    min-width: 0;
  }

  .tfms-flow-card .woocommerce-MyAccount-navigation {
    position: sticky;
    top: 128px;
  }

  .tfms-order-glance {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .home .hero-section {
    padding: 2rem 0;
  }

  .home .hero-card {
    padding: 1.6rem 1.25rem;
  }

  .home .hero-meta {
    gap: 0.45rem 0.75rem;
    margin-bottom: 0.85rem;
    font-size: 0.92rem;
  }

  .home .hero-card h1 {
    max-width: none;
    margin-bottom: 1.25rem;
    font-size: 2.55rem;
  }

  .home .hero-card p {
    font-size: 1.14rem;
    line-height: 1.45;
  }

  .home .tfms-finder-start-button {
    width: 224px;
    min-width: 0;
    min-height: 72px;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    font-size: 1.25rem;
    white-space: nowrap;
  }

  .home .tfms-finder-browse-link {
    margin-top: 0.75rem;
    font-size: 1rem;
  }

  body.has-mask-finder {
    overflow: hidden;
  }

  body.has-mask-finder::before {
    position: fixed;
    inset: 0;
    z-index: 79;
    background: rgba(15, 23, 42, 0.48);
    content: "";
  }

  .home .tfms-finder-panel {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 80;
    display: grid;
    max-height: 90dvh;
    margin: 0;
    padding: 0 1.5rem calc(1.5rem + env(safe-area-inset-bottom));
    overflow-y: auto;
    border: 0;
    border-radius: 18px 18px 0 0;
    background: #fff;
    box-shadow: 0 -18px 42px rgba(15, 23, 42, 0.26);
  }

  .home .tfms-finder-mobile-sheet-header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 -1.5rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
  }

  .home .tfms-finder-mobile-sheet-header h2 {
    color: var(--tfms-blue);
    font-size: 1.75rem;
  }

  .home .tfms-finder-mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    background: transparent;
    color: #111827;
    font-size: 2rem;
    line-height: 1;
  }

  .home .tfms-finder-progress {
    gap: 0.5rem;
    padding-top: 1.15rem;
  }

  .home .tfms-finder-progress__item {
    display: contents;
  }

  .home .tfms-finder-progress__dot {
    width: 0.55rem;
    height: 0.55rem;
    border: 0;
    border-radius: 999px;
    background: #d1d5db;
    font-size: 0;
  }

  .home .tfms-finder-progress__label,
  .home .tfms-finder-progress__rail {
    display: none;
  }

  .home .tfms-finder-progress__item[data-finder-state="active"] .tfms-finder-progress__dot {
    background: var(--tfms-blue);
  }

  .home .tfms-finder-step-copy {
    gap: 0;
    text-align: left;
  }

  .home .tfms-finder-step-title {
    color: #111827;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .home .tfms-finder-step-subtitle {
    display: none;
  }

  .home .tfms-finder-options {
    gap: 0.75rem;
  }

  .home .tfms-finder-option {
    gap: 0.35rem;
    min-height: 5.45rem;
    padding: 0.85rem 0.7rem;
    border-color: #cfd6df;
  }

  .home .tfms-finder-panel[data-finder-step="0"] .tfms-finder-option__icon {
    display: none;
  }

  .home .tfms-finder-option__icon {
    width: 2rem;
    height: 2rem;
  }

  .home .tfms-finder-option__label {
    font-family: "Inter", sans-serif;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
  }

  .home .tfms-finder-option__description {
    display: none;
  }

  .home .tfms-finder-count {
    font-size: 0.95rem;
  }

  .home .tfms-finder-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .home .tfms-finder-actions .button {
    width: 100%;
  }

  .home .banner-section,
  .home .brand-section,
  .home .category-section,
  .home .bestsellers-section {
    padding: 3rem 0;
  }

  .home .cta-section {
    padding: 2.25rem 0;
  }

  .home .banner-grid {
    gap: 4rem;
  }

  .home .promo-card--split .promo-card__media {
    order: -1;
  }

  .home .promo-card h2 {
    font-size: 2rem;
  }

  .home .promo-card p {
    font-size: 1.12rem;
  }

  .home .promo-card .button {
    width: auto;
    min-width: 250px;
    justify-content: center;
  }

  .home .brand-strip {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.25rem;
    justify-content: space-between;
  }

  .home .brand-strip img {
    flex: 1 1 0;
    min-width: 0;
    max-height: 36px;
  }

  .home .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1.85rem;
  }

  .home .category-card {
    min-height: 150px;
    padding: 1.65rem;
  }

  .home .category-card h3 {
    font-size: 1.45rem;
    line-height: 1.18;
  }

  .home .category-card span {
    font-size: 1rem;
  }

  .home .bestsellers-section .product-grid {
    display: flex;
    grid-template-columns: none;
    gap: 1rem;
    margin-right: -1rem;
    padding-bottom: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .bestsellers-section .product-grid::-webkit-scrollbar {
    display: none;
  }

  .home .bestsellers-section .product-card {
    flex: 0 0 280px;
    scroll-snap-align: start;
  }

  .home .bestsellers-section .product-card__image {
    aspect-ratio: 1 / 0.78;
  }

  .bestsellers-swipe-hint {
    display: block;
    margin-top: 1rem;
    color: #64748b;
    font-size: 1rem;
    text-align: center;
  }

  .home .cta-card .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .home .cta-card .button {
    width: 100%;
  }

  .woocommerce ul.products,
  .tfms-single-product__related .products {
    gap: 0.85rem;
  }

  .shop-shell--single {
    gap: 1rem;
    padding-top: 1rem;
  }

  .tfms-single-product {
    gap: 1rem;
  }

  .shop-controls {
    flex-wrap: nowrap;
    gap: 0.75rem;
    padding-bottom: 1.5rem;
  }

  .shop-controls__count {
    min-width: 0;
  }

  .shop-controls__count .woocommerce-result-count {
    color: #111827;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.04rem;
    letter-spacing: 0.055em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .shop-controls__actions {
    margin-left: auto;
    gap: 0.55rem;
  }

  .shop-controls__sort {
    display: none;
  }

  .shop-controls__actions {
    display: none;
  }

  .woocommerce button.shop-filters-toggle,
  .shop-filters-toggle {
    width: auto;
    min-width: 0;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 0 0.8rem 0 0.72rem;
    border-color: #cbd5e1;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    color: #0f172a;
    font-size: 0.98rem;
    line-height: 1;
  }

  .shop-filters-toggle__label {
    display: inline-flex;
    align-items: center;
    font-size: 0.98rem;
    line-height: 1;
  }

  .shop-filters-toggle__icon {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
  }

  .shop-filters {
    width: min(85vw, 300px);
    max-width: 300px;
  }

  .shop-filters__header,
  .shop-filters__footer {
    position: sticky;
    z-index: 2;
    background: #fff;
  }

  .shop-filters__header {
    top: 0;
  }

  .shop-filters__footer {
    bottom: 0;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
  }

  .shop-active-state,
  .shop-empty-state {
    padding: 1rem;
    overflow: hidden;
  }

  .shop-active-state {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }

  .shop-active-state__header {
    display: grid;
    gap: 0.75rem;
  }

  .shop-active-state__header .button {
    width: auto;
    justify-content: center;
    justify-self: start;
    min-height: 42px;
  }

  .shop-active-state__title {
    font-size: 1.6rem;
  }

  .shop-active-state__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .shop-active-state__header .button {
    width: auto;
    justify-content: center;
    justify-self: start;
  }

  .shop-active-state__chips {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .shop-filter-chip {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .shop-subcategory-band__header,
  .category-group__header {
    align-items: flex-start;
  }

  .checkout-focus-header__inner,
  .checkout-focus-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 1rem 0;
  }

  .checkout-focus-header__support {
    justify-content: flex-start;
    text-align: left;
  }

  .checkout-focus-header .site-logo img {
    width: 118px;
  }

  .tfms-flow-shell,
  .tfms-flow-hero,
  .tfms-flow-card,
  .tfms-flow-card .woocommerce {
    min-width: 0;
  }

  .tfms-flow-shell--cart,
  .tfms-flow-shell--checkout {
    gap: 0.85rem;
    padding-top: 0.9rem;
    padding-bottom: 2rem;
  }

  .tfms-flow-hero {
    overflow: hidden;
  }

  .tfms-flow-hero--task {
    gap: 0.5rem;
    padding: 0.95rem 1rem;
  }

  .tfms-flow-hero--task .tfms-flow-title {
    font-size: clamp(1.8rem, 8.8vw, 2.55rem);
  }

  .tfms-flow-hero--task .tfms-flow-description {
    font-size: 0.92rem;
    line-height: 1.38;
  }

  .tfms-flow-description {
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
  }

  .tfms-flow-trust {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .tfms-flow-trust--task {
    display: none;
  }

  .tfms-flow-trust span {
    justify-content: center;
    text-align: center;
    white-space: normal;
  }

  .tfms-flow-card--account .woocommerce-MyAccount-content {
    grid-column: 1;
    grid-row: auto;
    order: 2;
  }

  .tfms-flow-card--account .tfms-account-profile {
    order: 1;
  }

  .tfms-flow-card--account .woocommerce-MyAccount-navigation {
    order: 3;
  }

  .tfms-flow-card--account .tfms-account-support {
    order: 4;
  }

  .tfms-flow-card {
    padding: 1.1rem;
    overflow: hidden;
  }

  .tfms-flow-card--cart,
  .tfms-flow-card--checkout {
    padding: 0;
    overflow: visible;
  }

  .tfms-flow-card .woocommerce-info,
  .tfms-flow-card .woocommerce-message,
  .tfms-flow-card .woocommerce-error {
    display: grid;
    gap: 0.75rem;
    padding-right: 1rem;
    overflow-wrap: anywhere;
  }

  .tfms-flow-card .woocommerce-info .button,
  .tfms-flow-card .woocommerce-message .button,
  .tfms-flow-card .woocommerce-error .button {
    float: none;
    width: 100%;
    margin: 0;
    justify-content: center;
  }

  .tfms-flow-card .woocommerce-error {
    padding: 0.95rem 1rem;
  }

  .tfms-flow-card .checkout_coupon {
    grid-template-columns: minmax(0, 1fr);
  }

  .tfms-flow-card .checkout_coupon .button {
    width: 100%;
  }

  .tfms-flow-card label,
  .tfms-flow-card .optional,
  .tfms-account-stat,
  .tfms-account-form-footer {
    overflow-wrap: anywhere;
  }

  .tfms-flow-card label .optional,
  .tfms-flow-card .optional {
    display: block;
    margin-top: 0.2rem;
  }

  .tfms-flow-card--checkout label .optional,
  .tfms-flow-card--checkout .optional {
    display: inline;
    margin-top: 0;
    margin-left: 0.25rem;
  }

  .tfms-flow-card .woocommerce form .form-row-first,
  .tfms-flow-card .woocommerce form .form-row-last {
    float: none;
    width: 100%;
  }

  .tfms-flow-card table.shop_table,
  .tfms-flow-card table.shop_table thead,
  .tfms-flow-card table.shop_table tbody,
  .tfms-flow-card table.shop_table tfoot,
  .tfms-flow-card table.shop_table tr,
  .tfms-flow-card table.shop_table th,
  .tfms-flow-card table.shop_table td {
    display: block;
    width: 100%;
  }

  .tfms-flow-card table.shop_table thead {
    display: none;
  }

  .tfms-flow-card table.shop_table tr {
    padding: 1rem 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .tfms-flow-card table.shop_table.cart tr.cart_item {
    position: relative;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 88px minmax(0, 1fr);
    padding: 1rem;
    border: 1px solid #dbe4f0;
    background: #fff;
  }

  .tfms-flow-card table.shop_table.cart td.product-remove {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    width: auto;
    padding: 0;
    border: 0;
    text-align: right;
  }

  .tfms-flow-card table.shop_table.cart td.product-remove::before {
    content: none;
  }

  .tfms-flow-card table.shop_table.cart td.product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    background: #fff;
    color: #111827 !important;
    font-size: 1.3rem;
    line-height: 1;
  }

  .tfms-flow-card table.shop_table.cart td.product-remove a.remove:hover {
    background: #f8fafc;
    color: var(--tfms-red) !important;
  }

  .tfms-flow-card table.shop_table.cart td.product-thumbnail {
    grid-column: 1;
    grid-row: 1;
    padding-right: 2.75rem;
  }

  .tfms-flow-card table.shop_table.cart td.product-thumbnail::before {
    content: none;
  }

  .tfms-flow-card table.shop_table.cart td.product-name {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding-top: 0;
  }

  .tfms-flow-card table.shop_table.cart td.product-name::before {
    content: none;
  }

  .tfms-flow-card table.shop_table.cart td.product-name a {
    font-size: 1.05rem;
    line-height: 1.18;
  }

  .tfms-flow-card table.shop_table.cart td.product-price,
  .tfms-flow-card table.shop_table.cart td.product-quantity,
  .tfms-flow-card table.shop_table.cart td.product-subtotal {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.72rem 0 0;
    border-top: 1px solid #edf1f7;
  }

  .tfms-flow-card table.shop_table.cart td.product-price::before,
  .tfms-flow-card table.shop_table.cart td.product-quantity::before,
  .tfms-flow-card table.shop_table.cart td.product-subtotal::before {
    margin-bottom: 0;
  }

  .tfms-flow-card table.shop_table tr:last-child {
    border-bottom: 0;
  }

  .tfms-flow-card table.shop_table td,
  .tfms-flow-card table.shop_table th {
    padding: 0.45rem 0;
    border: 0;
    overflow-wrap: anywhere;
    text-align: left;
  }

  .tfms-flow-card table.shop_table td::before,
  .tfms-flow-card table.shop_table th::before {
    display: block;
    margin-bottom: 0.2rem;
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .tfms-flow-card table.shop_table td[data-title]::before,
  .tfms-flow-card table.shop_table th[data-title]::before {
    content: attr(data-title);
  }

  .tfms-flow-card table.shop_table.cart td.actions {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid #dbe4f0;
    background: #fff;
  }

  .tfms-flow-card table.shop_table.cart td.actions::before {
    content: none;
  }

  .tfms-flow-card table.shop_table.cart .coupon {
    gap: 0.75rem;
  }

  .tfms-flow-card table.shop_table.cart .coupon .input-text,
  .tfms-flow-card table.shop_table.cart .coupon .button,
  .tfms-flow-card table.shop_table.cart td.actions > .button {
    width: 100%;
  }

  .tfms-flow-card .cart_totals table.shop_table tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
  }

  .tfms-flow-card .cart_totals table.shop_table th,
  .tfms-flow-card .cart_totals table.shop_table td {
    width: auto;
    padding: 0;
  }

  .tfms-flow-card .cart_totals table.shop_table td::before,
  .tfms-flow-card .cart_totals table.shop_table th::before {
    content: none;
  }

  .tfms-flow-card table.shop_table tfoot th {
    padding-top: 0.85rem;
    text-align: left;
  }

  .tfms-flow-card table.shop_table tfoot td {
    padding-bottom: 0.85rem;
  }

  .tfms-flow-card .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions,
  .tfms-flow-card .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
    white-space: normal;
  }

  .tfms-flow-card td.product-name::before {
    content: "Product";
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table td.product-name::before {
    content: none;
  }

  .tfms-flow-card td.product-price::before {
    content: "Price";
  }

  .tfms-flow-card td.product-quantity::before {
    content: "Quantity";
  }

  .tfms-flow-card td.product-subtotal::before,
  .tfms-flow-card td.product-total::before {
    content: "Total";
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tbody td.product-total,
  .tfms-flow-card .woocommerce-checkout-review-order-table tbody td.product-total::before {
    display: none !important;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tbody tr.cart_item {
    padding: 1rem;
    border: 1px solid #dbe4f0;
    background: #fff;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tbody tr.cart_item td {
    padding: 0;
    border: 0;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table td.product-name {
    color: #111827;
    font-weight: 700;
    line-height: 1.45;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tfoot tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 1rem;
    width: 100%;
    padding: 1rem 0;
    border-top: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tfoot th,
  .tfms-flow-card .woocommerce-checkout-review-order-table tfoot td {
    width: auto;
    padding: 0;
    border: 0;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tfoot tr:last-child {
    border-bottom: 0;
  }

  .tfms-flow-card .woocommerce-checkout-review-order-table tfoot th::before,
  .tfms-flow-card .woocommerce-checkout-review-order-table tfoot td::before {
    content: none;
  }

  .tfms-flow-card .woocommerce-order-details table.order_details tbody td.product-total {
    display: none;
  }

  .tfms-flow-card .woocommerce-order-details table.order_details tfoot tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 0;
  }

  .tfms-flow-card .woocommerce-order-details table.order_details tfoot th,
  .tfms-flow-card .woocommerce-order-details table.order_details tfoot td {
    width: 100%;
    min-width: 0;
    padding: 0;
    overflow-wrap: anywhere;
    text-align: left;
  }

  .tfms-flow-card .woocommerce-order-details table.order_details tfoot td::before {
    content: none;
  }

  .tfms-flow-card .woocommerce-order-details table.order_details tfoot td {
    color: #111827;
    font-weight: 700;
  }

  .tfms-flow-card .woocommerce-order-details table.order_details tfoot th::before,
  .tfms-flow-card .woocommerce-order-details table.order_details tfoot td::before {
    content: none;
  }

  .tfms-flow-card td.actions::before {
    content: "Actions";
  }

  .tfms-flow-card th.product-remove,
  .tfms-flow-card td.product-remove {
    text-align: left;
  }

  .tfms-flow-card .product-name,
  .tfms-flow-card .product-name a {
    overflow-wrap: anywhere;
  }

  .tfms-flow-card .actions,
  .tfms-flow-card .coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .tfms-flow-card .coupon .input-text {
    max-width: none;
  }

  .tfms-flow-card .actions .button,
  .tfms-flow-card .coupon .button,
  .tfms-flow-card .checkout-button {
    width: 100%;
    justify-content: center;
  }

  .tfms-flow-card .cart_totals {
    padding: 1rem;
  }

  .tfms-product-card__body {
    gap: 0.4rem;
    padding: 0.76rem 0.76rem 0.88rem;
  }

  .tfms-product-card__title {
    min-height: 2.2em;
    font-size: 0.86rem;
    line-height: 1.1;
    letter-spacing: 0.025em;
  }

  .tfms-product-card__price,
  .tfms-product-card__price .price,
  .tfms-product-card__price ins,
  .tfms-product-card__price del {
    gap: 0.3rem;
    font-size: 0.96rem;
    letter-spacing: 0.035em;
  }

  .tfms-product-card__price del {
    font-size: 0.76rem;
  }

  .tfms-product-card__badge {
    top: 0.55rem;
    right: 0.55rem;
    padding: 0.45rem 0.65rem 0.35rem;
    font-size: 0.85rem;
  }

  .tfms-product-card__stock-pill {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
  }

  .tfms-product-card__stock-pill span {
    min-height: 1.7rem;
    padding: 0.32rem 0.55rem 0.28rem;
    font-size: 0.72rem;
  }

  .tfms-finder-panel {
    padding: 1rem;
  }

  .tfms-finder-progress__dot {
    width: 1.9rem;
    height: 1.9rem;
    font-size: 0.9rem;
  }

  .tfms-finder-progress__rail {
    width: 1.2rem;
  }

  .tfms-finder-option {
    padding: 0.9rem 0.75rem;
  }

  .tfms-finder-option__label {
    font-size: 1.08rem;
  }

  .tfms-finder-option__description {
    font-size: 0.8rem;
  }

  .tfms-wishlist-button--card {
    top: 0.55rem;
    left: 0.55rem;
    width: 2.5rem;
    height: 2.5rem;
  }

  .tfms-single-product__title {
    display: block;
    width: 100%;
    max-width: calc(100vw - 2rem);
    font-size: 2rem;
    line-height: 1.08;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  .tfms-single-product__kickers {
    display: none;
  }

  .tfms-single-product__gallery,
  .tfms-single-product__summary,
  .tfms-single-product__tabs,
  .tfms-single-product__related {
    padding: 1rem;
    border-radius: 0.45rem;
  }

  .tfms-single-product__summary {
    width: min(100%, calc(100vw - 2rem));
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .woocommerce div.product div.images,
  .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
  }

  .tfms-single-product__gallery .woocommerce-product-gallery {
    position: relative;
  }

  .tfms-single-product__gallery .woocommerce-product-gallery__wrapper,
  .tfms-single-product__gallery .flex-viewport {
    max-width: 100%;
    overflow: hidden !important;
  }

  .woocommerce-product-gallery__image img {
    max-height: 310px;
    object-fit: contain;
  }

  .woocommerce-product-gallery__trigger {
    display: none !important;
  }

  .woocommerce-product-gallery__trigger::before {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #fff;
    content: "Tap to zoom" !important;
    font-size: 0.78rem;
  }

  .woocommerce-product-gallery__trigger::after,
  .woocommerce-product-gallery__trigger img,
  .woocommerce-product-gallery__trigger span,
  .woocommerce-product-gallery__trigger .screen-reader-text {
    display: none !important;
  }

  .woocommerce div.product div.images .flex-control-nav,
  .woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding-bottom: 0 !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .woocommerce div.product div.images .flex-control-nav::-webkit-scrollbar,
  .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .woocommerce div.product div.images .flex-control-nav li,
  .woocommerce div.product div.images .flex-control-thumbs li {
    flex: 0 0 80px;
  }

  .tfms-single-product__meta,
  .tfms-single-product__excerpt,
  .tfms-single-product__categories {
    margin-top: 1rem;
  }

  .tfms-single-product__purchase {
    gap: 0.85rem;
    margin-top: 1rem;
    padding: 0.95rem 0.95rem 5.5rem;
    border-radius: 0.8rem;
  }

  .tfms-single-product__purchase .variations_button,
  .tfms-single-product__purchase form.cart:not(.variations_form) {
    position: fixed;
    left: 0;
    right: auto;
    bottom: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100vw;
    max-width: 100vw;
    gap: 0.65rem;
    padding: 0.8rem 1rem calc(0.8rem + env(safe-area-inset-bottom));
    border: 0;
    border-top: 1px solid #dbe4f0;
    background: #ffffff;
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.12);
  }

  .admin-bar .tfms-single-product__purchase .variations_button,
  .admin-bar .tfms-single-product__purchase form.cart:not(.variations_form) {
    bottom: 0;
  }

  .tfms-single-product__purchase form.cart:not(.variations_form) {
    justify-content: space-between;
    overflow: hidden;
  }

  .tfms-single-product__purchase .variations_button .single_add_to_cart_button.button,
  .tfms-single-product__purchase form.cart:not(.variations_form) .single_add_to_cart_button.button {
    flex: 1;
    width: auto;
    min-width: 0;
    min-height: 52px;
  }

  .tfms-single-product__purchase .variations_button .quantity,
  .tfms-single-product__purchase form.cart:not(.variations_form) .quantity {
    flex: 0 0 auto;
    min-width: 0;
  }

  .tfms-single-product__purchase .variations_button .quantity::before,
  .tfms-single-product__purchase form.cart:not(.variations_form) .quantity::before {
    display: none;
  }

  .tfms-single-product__purchase .variations_button .quantity .qty,
  .tfms-single-product__purchase form.cart:not(.variations_form) .quantity .qty {
    width: 74px;
  }

  .tfms-variation-options {
    gap: 0.5rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tfms-variation-option {
    width: 100%;
    min-width: 0;
    min-height: 2.7rem;
    padding: 0.6rem 0.75rem 0.55rem;
    font-size: 0.9rem;
    white-space: normal;
  }

  .tfms-single-product__actions {
    margin-bottom: 0.5rem;
  }

  .tfms-single-product__actions .tfms-wishlist-button--inline,
  .tfms-share-button {
    width: 100%;
    min-height: 48px;
    padding: 0.8rem 1.3rem;
  }

  .tfms-share-button {
    justify-content: center;
    border: 1px solid #dbe4f0;
    background: #fff;
    color: #0f172a;
  }

  .tfms-share-button:hover {
    background: #fff;
  }

  .tfms-share-button::before {
    display: none;
  }

  .tfms-wishlist-item {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .tfms-wishlist-item__actions {
    grid-column: 1 / -1;
  }

  .tfms-wishlist-item__remove {
    width: 100%;
  }

  .tfms-wishlist__empty-actions,
  .tfms-wishlist__empty-links,
  .tfms-account-section__actions,
  .tfms-account-empty-state__actions,
  .tfms-account-form-footer__actions {
    width: 100%;
  }

  .tfms-wishlist__empty-actions .button,
  .tfms-account-section__actions .button,
  .tfms-account-empty-state__actions .button,
  .tfms-account-form-footer__actions .button {
    width: 100%;
    justify-content: center;
  }

  .tfms-address-card__header {
    display: grid;
  }

  .blog-post__content .wp-block-columns,
  .blog-post__content .wp-block-media-text {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem;
  }

  .blog-post-shell.container {
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .blog-post {
    gap: 1.25rem;
    width: 100%;
    max-width: 100%;
  }

  .blog-post__title {
    font-size: clamp(2rem, 9.5vw, 2.9rem);
    line-height: 1.02;
    letter-spacing: 0.035em;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  .blog-post__header,
  .blog-post__content {
    width: 100%;
    max-width: 100%;
  }

  .blog-post__content * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .blog-post__content,
  .blog-post__content > *,
  .blog-post__content .wp-block-cover,
  .blog-post__content .wp-block-group,
  .blog-post__content .wp-block-columns,
  .blog-post__content .wp-block-column,
  .blog-post__content .wp-block-media-text,
  .blog-post__content .wp-block-cover__inner-container,
  .blog-post__content .wp-block-group__inner-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .blog-post__content h1,
  .blog-post__content h2,
  .blog-post__content h3,
  .blog-post__content h4,
  .blog-post__content h5,
  .blog-post__content h6,
  .blog-post__content p,
  .blog-post__content li,
  .blog-post__content mark {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal !important;
  }

  .blog-post__content .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }

  .blog-post__content .wp-block-media-text__media,
  .blog-post__content .wp-block-media-text__content,
  .blog-post__content .wp-block-column {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0;
  }

  .blog-post__content .wp-block-media-text__content,
  .blog-post__content .wp-block-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .blog-post__content h1,
  .blog-post__content h2 {
    font-size: clamp(1.6rem, 9vw, 2.4rem) !important;
    line-height: 1.02;
  }

  .blog-post__content h3 {
    font-size: clamp(1.25rem, 6.3vw, 1.75rem) !important;
    line-height: 1.08;
  }

  .blog-card__title {
    font-size: clamp(1.25rem, 6.2vw, 1.5rem);
    line-height: 1.12;
  }

  .blog-card__body,
  .blog-card__title,
  .blog-card__title a,
  .blog-card__excerpt {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  .blog-post__content p[style*="font-size"],
  .blog-post__content .wp-block-media-text__content p[style*="font-size"] {
    font-size: clamp(1.2rem, 6vw, 1.8rem) !important;
    line-height: 1.14 !important;
  }

  .blog-post__content .wp-block-cover {
    min-height: auto !important;
    padding: 1rem !important;
  }

  .blog-post__content .wp-block-spacer {
    height: 1.25rem !important;
  }

  .blog-post__content table {
    font-size: 0.85rem;
  }

  .tfms-login-shell {
    padding: 2rem 0 4rem;
  }

  .tfms-login-card {
    width: min(100%, calc(100vw - 7rem));
    max-width: 32rem;
    margin-right: auto;
    margin-left: auto;
    padding: 1.25rem;
  }

  .tfms-login-card > p {
    max-width: 100%;
    font-size: 0.96rem;
    overflow-wrap: anywhere;
  }

  .tfms-login-card__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    gap: 0.75rem;
    font-size: 0.9rem;
  }

  .tfms-login-card__meta label,
  .tfms-login-card__meta a {
    white-space: normal;
  }

  .woocommerce div.product div.images .flex-control-thumbs {
    gap: 0.5rem;
  }

  .woocommerce div.product div.images .flex-control-thumbs li {
    width: auto;
  }
}

@media (min-width: 768px) {
  .footer-subgrid,
  .product-grid,
  .category-grid,
  .value-props-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

  .banner-grid {
    grid-template-columns: 1fr;
  }

  .promo-card--image,
  .promo-card--split {
    grid-template-columns: 1fr 1fr;
  }

  .hero-card,
  .promo-card__content,
  .cta-card,
  .entry-card {
    padding: 2.75rem;
  }

  .home .hero-card {
    padding-top: 3.55rem;
    padding-bottom: 3.55rem;
  }

  .shop-hero,
  .tfms-single-product__gallery,
  .tfms-single-product__summary,
  .tfms-single-product__related,
  .page-hero,
  .story-card,
  .contact-card,
  .category-group,
  .policy-card {
    padding: 2rem;
  }

  .tfms-single-product__summary {
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

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

  .tfms-form__field--full {
    grid-column: 1 / -1;
  }

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

  .about-legacy__media-grid--reverse .about-legacy__media {
    order: 2;
  }

  .about-legacy__media-grid--reverse .about-legacy__content {
    order: 1;
  }

  .tfms-single-product__highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tfms-finder-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tfms-account-dashboard-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tfms-account-section__meta,
  .tfms-account-field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tfms-address-book,
  .tfms-address-form__fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

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

  .tfms-single-product__related .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tfms-extra-videos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (min-width: 1024px) {
  .home .hero-section .container,
  .home .banner-section .container,
  .home .brand-section .container,
  .home .category-section .container,
  .home .bestsellers-section .container,
  .home .cta-section .container {
    width: min(calc(100% - 4.5rem), 1368px);
  }

  .site-header .container {
    width: min(calc(100% - 2.375rem), 1368px);
  }

  .site-header__mobile-row {
    display: none;
  }

  .site-header__desktop,
  .site-header__utility-bar {
    display: flex;
  }

  .site-header__desktop {
    align-items: stretch;
    gap: 0;
    min-height: 146px;
  }

  .site-header__brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0.45rem 2rem 0.45rem 0;
  }

  .site-header__brand .site-logo img {
    width: 114px;
  }

  .site-header__desktop-right {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0;
    min-width: 0;
  }

  .site-header__utility {
    min-height: 58px;
    justify-content: flex-end;
    gap: 1rem;
    padding: 0.65rem 0 0.2rem;
    flex-wrap: nowrap;
  }

  .site-navigation--desktop {
    display: flex;
    flex: 1;
    align-items: flex-start;
    min-width: 0;
  }

  .tfms-desktop-nav {
    width: 100%;
    min-height: 88px;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    min-width: 0;
    padding-top: 0.55rem;
  }

  .tfms-desktop-nav__catalog,
  .tfms-desktop-nav__info {
    align-items: flex-start;
    gap: 0.15rem;
    min-width: 0;
  }

  .tfms-desktop-nav__catalog {
    gap: 1rem;
    padding-top: 1.45rem;
  }

  .tfms-desktop-nav__info {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 1.2rem;
    padding-left: 1.25rem;
    border-left: 2px solid #2c4a80;
  }

  .tfms-desktop-nav__link,
  .tfms-desktop-nav__info-link {
    padding: 0 0.5rem;
    font-size: 1.5rem;
    letter-spacing: 0.035em;
    line-height: 2rem;
  }

  .tfms-desktop-nav__catalog .tfms-desktop-nav__link {
    display: block;
    min-height: 2rem;
    letter-spacing: 0.05em;
  }

  .tfms-desktop-nav__info-link {
    flex-direction: column;
    justify-content: center;
    gap: 0.22rem;
    min-width: 82px;
    padding: 0 0.42rem;
    font-size: 1.5rem;
    text-align: center;
  }

  .tfms-desktop-nav__info-icon {
    width: 1.25rem;
    height: 1.25rem;
    stroke-width: 1.8;
  }

  .tfms-desktop-nav__info-icon::before,
  .tfms-desktop-nav__info-icon::after {
    display: none;
  }

  .tfms-desktop-nav__link:hover,
  .tfms-desktop-nav__info-link:hover,
  .tfms-desktop-nav__item:hover > .tfms-desktop-nav__link {
    background: var(--tfms-red);
  }

  .header-search--desktop {
    flex: 0 0 280px;
    width: 280px;
    max-width: 280px;
  }

  .header-search--desktop .tfms-product-search {
    flex: 0 0 100%;
    gap: 0;
    width: 100%;
    max-width: 280px;
    flex-wrap: nowrap;
  }

  .header-search--desktop input[type="search"].search-field,
  .header-search--desktop .search-field {
    flex: 1 1 auto;
    width: 240px;
    min-width: 0;
    max-width: 240px;
    height: 40px;
    border: 0;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.125rem;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .header-search--desktop .search-field::placeholder {
    color: rgba(255, 255, 255, 0.72);
  }

  .header-search--desktop .tfms-product-search button {
    flex: 0 0 40px;
    gap: 0;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    font-size: 0;
  }

  .header-search--desktop .tfms-product-search button::before,
  .header-search--desktop .tfms-product-search button::after {
    display: none;
  }

  .header-search--desktop .tfms-product-search__icon {
    width: 1rem;
    height: 1rem;
  }

  .site-header__utility .header-link,
  .site-header__utility .header-account__trigger {
    position: relative;
    justify-content: center;
    width: 22px;
    min-height: 40px;
    padding: 0;
    font-size: 0;
  }

  .site-header__utility .header-link--cart::before,
  .site-header__utility .header-link--account::before,
  .site-header__utility .header-account__trigger::before {
    display: none;
  }

  .site-header__utility .header-action-icon {
    display: block;
    width: 1.375rem;
    height: 1.375rem;
  }

  .site-header__utility .header-account__avatar,
  .site-header__utility .header-account__label {
    display: none;
  }

  .site-header__utility .cart-count {
    position: absolute;
    top: 0.1rem;
    right: -0.45rem;
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.2rem;
    border-radius: 999px;
    background: #fff;
    color: var(--tfms-red);
    font-family: sans-serif;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1rem;
    text-align: center;
  }

  .site-header__utility .header-link--wishlist {
    display: none;
  }

  .utility-bar {
    align-items: center;
    gap: 2rem;
    padding: 0.48rem 0;
    font-family: "Bebas Neue", sans-serif;
    font-size: 0.86rem;
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }

  .utility-bar__item {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
  }

  .utility-bar__item::before {
    display: none;
  }

  .utility-bar__icon {
    width: 1.05rem;
    height: 1.05rem;
    stroke-width: 1.9;
  }

  .hero-section,
  .banner-section,
  .brand-section,
  .value-props-section,
  .category-section,
  .bestsellers-section,
  .trust-section,
  .cta-section,
  .page-shell,
  .shop-shell,
  .content-shell {
    padding: 4rem 0;
  }

  .banner-grid {
    grid-template-columns: 1fr;
  }

  .promo-card--image {
    grid-template-columns: 1fr 0.95fr;
  }

  .promo-card {
    min-height: 400px;
  }

  .promo-card--split {
    display: grid;
    grid-template-columns: 2fr 3fr;
  }

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

  .product-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

  .home .cta-card {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }

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

  .tfms-account-section__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tfms-single-product__related .products {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .shop-layout {
    grid-template-columns: 170px minmax(0, 1fr);
    align-items: start;
  }

  .shop-sidebar {
    display: block;
    position: sticky;
    top: 132px;
  }

  .shop-sidebar .shop-filters {
    width: auto;
    max-width: none;
  }

  .shop-filters__form {
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .shop-filters__close,
  .shop-filters-toggle,
  .shop-filters-overlay {
    display: none !important;
  }

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

  .footer-subgrid {
    grid-template-columns: 1fr auto;
  }

  .tfms-single-product__top {
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    align-items: start;
  }

  .story-grid,
  .contact-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-layout {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  }

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

  .tfms-extra-videos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  body.has-shop-filters {
    overflow: hidden;
  }

  .shop-filters {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 60;
    width: min(85vw, 300px);
    max-width: 300px;
    overflow: auto;
    background: #fff;
    pointer-events: none;
    transform: translateX(-102%);
    transition: transform 180ms ease;
    visibility: hidden;
  }

  .shop-filters__form {
    min-height: 100%;
    box-shadow: none;
  }

  .has-shop-filters .shop-filters {
    pointer-events: auto;
    transform: translateX(0);
    visibility: visible;
  }
}

@media (min-width: 1024px) {
  .shop-shell.shop-shell--archive {
    padding-top: 2rem;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .home .hero-section .container,
  .home .banner-section .container,
  .home .brand-section .container,
  .home .category-section .container,
  .home .bestsellers-section .container,
  .home .cta-section .container,
  .shop-shell.shop-shell--archive,
  .shop-shell.shop-shell--single,
  .site-header .container {
    width: min(calc(100% - 2rem), 992px);
  }

  .shop-shell.shop-shell--single {
    padding-top: 0.75rem;
  }

  .tfms-single-product__top {
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 6rem;
    align-items: start;
  }

  .tfms-single-product__gallery {
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .woocommerce div.product div.images .flex-viewport {
    height: 500px;
    margin-bottom: 0;
    border: 0;
    border-radius: 0.45rem;
    background: #fff;
  }

  .woocommerce-product-gallery__wrapper {
    border: 0;
    background: transparent;
  }

  .woocommerce-product-gallery__image a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 1rem;
    background: #fff;
  }

  .woocommerce-product-gallery__image img {
    max-height: 320px;
    object-fit: contain;
  }

  .woocommerce-product-gallery__trigger {
    display: none !important;
  }

  .tfms-gallery-dots {
    bottom: 1.65rem;
  }

  .woocommerce div.product div.images .flex-control-nav,
  .woocommerce div.product div.images .flex-control-thumbs {
    gap: 0.65rem;
    margin-top: 0;
  }

  .woocommerce div.product div.images .flex-control-nav li,
  .woocommerce div.product div.images .flex-control-thumbs li {
    flex-basis: 44px !important;
    width: 44px !important;
  }

  .tfms-single-product__purchase {
    padding: 1rem;
    border: 1px solid #c9d6e8;
    border-top: 4px solid var(--tfms-blue);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  }

  .tfms-single-product__purchase .single_variation {
    margin-bottom: 0.75rem;
  }

  .tfms-single-product__purchase .single_variation .stock {
    display: none;
  }

  .home .hero-section {
    padding-top: 1.25rem;
  }

  .home .hero-card {
    padding-bottom: 3.75rem;
  }

  .home .hero-card h1 {
    font-size: 4.5rem;
  }

  .home .hero-card > p {
    font-size: 1.25rem;
  }

  .site-header__desktop,
  .site-header__utility-bar {
    display: none;
  }

  .site-header__mobile-row {
    display: flex;
    min-height: 104px;
  }

  .site-header__mobile-primary {
    gap: 1.25rem;
  }

  .site-header__logo--mobile .site-logo img {
    width: 114px;
  }

  .site-header__actions {
    flex: 1 1 auto;
    justify-content: flex-end;
    gap: 0.7rem;
  }

  .site-header__actions .search-toggle {
    display: none;
  }

  .header-search--compact {
    display: block;
    flex: 0 0 204px;
    min-width: 204px;
  }

  .header-search--compact .tfms-product-search {
    gap: 0;
  }

  .header-search--compact .search-field {
    width: 160px;
    min-width: 0;
    height: 42px;
    border: 0;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .header-search--compact input[type="search"].search-field {
    min-width: 0;
  }

  .header-search--compact .search-field::placeholder {
    color: rgba(255, 255, 255, 0.72);
  }

  .header-search--compact .tfms-product-search button {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 42px;
    padding: 0;
    border: 0;
    background: var(--tfms-red);
    font-size: 0;
  }

  .header-search--compact .tfms-product-search button::before,
  .header-search--compact .tfms-product-search button::after {
    display: none;
  }

  .header-search--compact .tfms-product-search__icon {
    width: 1rem;
    height: 1rem;
  }

  .menu-toggle,
  .site-header__actions .header-link--cart,
  .site-header__actions .header-link--account {
    position: relative;
    display: inline-flex;
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 0;
  }

  .site-header__actions .header-link--cart,
  .site-header__actions .header-link--account {
    width: 28px;
  }

  .site-header__actions > .header-link {
    display: inline-flex;
  }

  .site-header__actions .header-link--cart::before {
    display: none;
  }

  .site-header__actions .header-link--cart::after {
    display: none;
  }

  .site-header__actions .header-link--cart .cart-count {
    position: absolute;
    top: 3px;
    right: 3px;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.25rem;
    font-size: 0.68rem;
    line-height: 1;
  }

  .site-header__actions .header-link--account::before {
    display: none;
  }
}

/* Micro-parity adjustments against the live Nuxt storefront. */
.shop-shell--archive {
  gap: 1.4rem;
  padding-top: 0.75rem;
}

.shop-shell--archive .shop-hero {
  padding-bottom: 1rem;
  background: transparent;
  border-bottom: 0;
}

.page-shell--about,
.page-shell--contact {
  width: min(calc(100% - 2rem), 62rem);
  padding-top: 1.25rem;
}

.page-shell--about .page-hero--plain,
.page-shell--contact .page-hero--plain {
  padding: 0;
}

.page-shell--about .page-hero,
.page-shell--contact .page-hero {
  margin-bottom: 1.75rem;
}

.page-shell--about .page-hero__title {
  font-size: 3.15rem;
}

.page-shell--contact .page-hero__title {
  font-size: 2.65rem;
}

.page-shell--about .about-legacy {
  max-width: 62rem;
}

.page-shell--about .about-legacy__media {
  border-radius: 6px;
}

.page-shell--about .about-legacy__title,
.page-shell--contact .contact-card__title,
.page-shell--contact .contact-card__map-title {
  font-size: 1.62rem;
}

.page-shell--contact .contact-card {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--contact .tfms-form__grid {
  grid-template-columns: 1fr;
}

.page-shell--contact .tfms-form__field--full {
  grid-column: auto;
}

.page-shell--contact .contact-points {
  gap: 0.65rem;
}

.page-shell--contact .contact-point {
  padding: 0.35rem 0;
  border-top: 0;
}

.page-shell--contact .contact-card__map-title {
  margin: 1.2rem 0 1rem;
  color: var(--tfms-blue);
}

.page-shell--contact .contact-map {
  border: 0;
}

.page-shell--shipping .policy-card--legacy {
  width: min(100%, 61rem);
  margin: 0 auto;
}

@media (min-width: 768px) {
  .page-shell--contact .tfms-form .button {
    width: 12rem;
    min-height: 48px;
    padding: 0.75rem 1.25rem;
  }
}

@media (min-width: 1024px) {
  .shop-shell.shop-shell--archive {
    padding-top: 0.75rem;
  }

  .page-shell--about,
  .page-shell--contact {
    padding-top: 0.5rem;
    padding-bottom: 3rem;
  }

  .page-shell--shipping {
    padding-top: 4.75rem;
  }
}

@media (max-width: 1023px) {
  .site-header__mobile-row {
    min-height: 72px;
  }

  .site-header__actions .header-link--cart .cart-count {
    top: 4px;
    right: -2px;
  }
}

@media (max-width: 767px) {
  .home .hero-section {
    padding-top: 1.25rem;
  }

  .home .hero-card {
    padding: 1.65rem 1.25rem 2rem;
  }

  .home .hero-card h1 {
    margin-bottom: 1.1rem;
    font-size: 2.4rem;
  }

  .home .tfms-finder-start-button {
    width: 185px;
    min-height: 60px;
    font-size: 1.05rem;
  }

  .shop-shell--archive {
    padding-top: 1.1rem;
  }

  .shop-shell--archive .shop-hero {
    padding-bottom: 0.85rem;
  }

  .shop-shell--archive .shop-hero__title {
    font-size: 2.15rem;
  }

  .page-shell--about,
  .page-shell--contact {
    width: min(calc(100% - 2rem), 62rem);
    padding-top: 1.25rem;
  }

  .page-shell--about .page-hero__title,
  .page-shell--contact .page-hero__title {
    font-size: 2.65rem;
  }

  .page-shell--about .page-hero,
  .page-shell--contact .page-hero {
    margin-bottom: 1.5rem;
  }

  .page-shell--contact .tfms-form .button {
    width: 100%;
    min-height: 48px;
  }

  .page-shell--shipping {
    padding-top: 4.25rem;
  }

  .page-shell--shipping .policy-card--legacy {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .shop-shell--single {
    padding-top: 0;
  }

  .tfms-single-product {
    gap: 0.5rem;
    padding-bottom: 5.75rem;
  }

  .tfms-single-product > .shop-hero__breadcrumb--single {
    display: flex;
    gap: 0.35rem;
    margin: 0;
    color: #4b5563;
    font-size: 0.86rem;
    line-height: 1.45;
  }

  .tfms-single-product > .shop-hero__breadcrumb--single span:last-child {
    flex-basis: 100%;
    color: #1f2937;
    font-weight: 700;
  }

  .tfms-single-product__gallery {
    padding: 0 0 1.95rem;
    border-radius: 0.45rem;
  }

  .tfms-single-product__gallery:not(:has(.flex-control-thumbs)) {
    padding-bottom: 1rem;
  }

  .tfms-single-product__gallery .woocommerce-product-gallery {
    width: 100% !important;
  }

  .tfms-single-product__gallery .woocommerce-product-gallery::before {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 5;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.72);
    color: #fff;
    content: "Tap to zoom";
    font-size: 0.86rem;
    line-height: 1;
    pointer-events: none;
  }

  .tfms-single-product__gallery .flex-viewport {
    height: 384px !important;
    border-radius: 0.45rem 0.45rem 0 0;
    background: #fff;
  }

  .tfms-single-product__gallery .woocommerce-product-gallery__image,
  .tfms-single-product__gallery .woocommerce-product-gallery__image a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 384px !important;
    min-height: 384px;
    background: #fff;
  }

  .tfms-single-product__gallery .woocommerce-product-gallery__image img {
    width: auto !important;
    height: auto !important;
    max-width: 326px;
    max-height: 326px;
    object-fit: contain;
  }

  .tfms-single-product__gallery .tfms-gallery-arrow {
    top: 192px;
    width: 2.2rem;
    height: 2.2rem;
    color: #64748b;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
  }

  .tfms-single-product__gallery .tfms-gallery-arrow--previous {
    left: -0.65rem;
  }

  .tfms-single-product__gallery .tfms-gallery-arrow--next {
    right: -0.65rem;
  }

  .tfms-single-product__gallery .tfms-gallery-dots {
    top: 358px;
    bottom: auto;
  }

  .tfms-single-product__gallery .flex-control-thumbs {
    margin-top: 1rem !important;
  }

  .tfms-single-product__summary {
    width: 100%;
    padding: 0 1rem;
  }

  .tfms-single-product__title {
    max-width: none;
    font-size: 1.55rem;
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
  }

  .tfms-single-product__price .price,
  .tfms-single-product__price ins,
  .tfms-single-product__price del {
    margin-top: 0.85rem;
    font-size: 1.6rem;
    line-height: 1.2;
  }

  .tfms-single-product__meta {
    margin-top: 1rem;
    gap: 0.5rem;
  }

  .tfms-single-product__meta-label {
    color: #9ca3af;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tfms-single-product__purchase {
    margin-top: 1.1rem;
    padding: 1rem;
    border: 1px solid #c9d6e8;
    border-top: 4px solid var(--tfms-blue);
    border-radius: 0.55rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  }

  .tfms-single-product__purchase:has(> form.cart:not(.variations_form)) {
    margin-top: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .tfms-single-product__purchase .variations tr + tr {
    margin-top: 1.35rem;
  }

  .tfms-single-product__purchase .variations th {
    margin-bottom: 0.65rem;
    color: #9ca3af;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .tfms-variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .tfms-variation-option {
    width: auto;
    min-height: 44px;
    padding: 0.55rem 0.9rem 0.5rem;
    font-size: 0.86rem;
    line-height: 1.1;
  }

  .tfms-single-product__support-points {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin-top: 0.8rem;
  }

  .tfms-single-product__support-points span {
    justify-content: center;
    width: 100%;
    min-width: 0;
    text-align: center;
  }

  .tfms-single-product__tabs {
    min-width: 0;
    overflow: hidden;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .tfms-single-product__tabs .woocommerce-tabs {
    padding-top: 1.7rem;
  }

  .tfms-single-product__tabs .panel {
    max-width: 100%;
    overflow-x: auto;
  }

  .tfms-single-product__tabs .panel table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    white-space: normal;
  }

  .tfms-single-product__tabs .panel th,
  .tfms-single-product__tabs .panel td {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
