:root {
  --tk-black: #050505;
  --tk-panel: #0b0b0b;
  --tk-ink: #f2f0ea;
  --tk-muted: #aaa7a0;
  --tk-red: #e31b23;
  --tk-red-dark: #8f1117;
  --tk-line: rgba(227, 27, 35, .62);
  --tk-border: rgba(242, 240, 234, .2);
  --tk-display: "Bebas Neue", sans-serif;
  --tk-condensed: "Barlow Condensed", sans-serif;
  --tk-mono: "Share Tech Mono", monospace;
  --tk-body: "Inter", sans-serif;
  --tk-wrap: 1280px;
  --tk-gap: clamp(18px, 2.4vw, 36px);
  --tk-space: clamp(72px, 9vw, 144px);
}

html { color-scheme: dark; scroll-behavior: smooth; }
body.tokebi-ui {
  margin: 0;
  color: var(--tk-ink);
  background:
    radial-gradient(circle at 76% 10%, rgba(227, 27, 35, .055), transparent 28rem),
    var(--tk-black);
  font-family: var(--tk-body);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

body.tokebi-ui::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: .055;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

::selection { color: var(--tk-black); background: var(--tk-red); }
a { color: inherit; text-decoration-color: var(--tk-red); text-underline-offset: .22em; }
a:hover { color: var(--tk-red); }

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  margin-block: 0 .45em;
  color: var(--tk-ink);
  font-family: var(--tk-display);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.02em;
  text-transform: uppercase;
}
h1 { font-size: clamp(72px, 12vw, 180px); }
h2 { font-size: clamp(54px, 7vw, 110px); }
h3 { font-size: clamp(32px, 4vw, 60px); }
p { margin-block: 0 1.3em; }

/* Elementor structure */
.tokebi-ui .e-con { --container-max-width: var(--tk-wrap); }
.tk-section { padding-block: var(--tk-space); border-top: 1px solid var(--tk-line); }
.tk-section--compact { padding-block: clamp(36px, 5vw, 72px); }
.tk-eyebrow,
.tk-meta,
.tk-code {
  color: var(--tk-red);
  font-family: var(--tk-mono);
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.tk-lede { max-width: 40ch; font-family: var(--tk-condensed); font-size: clamp(25px, 3vw, 42px); line-height: 1.05; }
.tk-rule { width: 100%; height: 1px; background: var(--tk-line); }
.tk-red { color: var(--tk-red) !important; }
.tk-frame { position: relative; border: 1px solid var(--tk-line); }
.tk-frame::before,
.tk-frame::after { content: ""; position: absolute; width: 22px; height: 22px; pointer-events: none; }
.tk-frame::before { top: -1px; left: -1px; border-top: 2px solid var(--tk-red); border-left: 2px solid var(--tk-red); }
.tk-frame::after { right: -1px; bottom: -1px; border-right: 2px solid var(--tk-red); border-bottom: 2px solid var(--tk-red); }

/* Header built in Elementor Theme Builder */
.elementor-location-header,
[data-elementor-type="header"] {
  position: relative;
  z-index: 1000;
  color: var(--tk-ink);
  background: rgba(5, 5, 5, .9);
  border-top: 2px solid var(--tk-red);
  border-bottom: 1px solid var(--tk-line);
  transition: background-color .2s ease, box-shadow .2s ease;
  backdrop-filter: blur(14px);
}
.elementor-location-header.is-scrolled,
[data-elementor-type="header"].is-scrolled { background: rgba(5, 5, 5, .97); box-shadow: 0 12px 35px rgba(0, 0, 0, .4); }
.elementor-location-header .elementor-nav-menu a,
[data-elementor-type="header"] .elementor-nav-menu a {
  position: relative;
  color: var(--tk-ink) !important;
  font-family: var(--tk-condensed);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.elementor-location-header .elementor-nav-menu a::after,
[data-elementor-type="header"] .elementor-nav-menu a::after {
  height: 2px !important;
  background: var(--tk-red) !important;
}
.elementor-location-header .elementor-item-active,
[data-elementor-type="header"] .elementor-item-active { color: var(--tk-red) !important; }
.elementor-menu-toggle { color: var(--tk-ink) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }

/* Buttons and forms: CTA widgets and WooCommerce actions only. */
.tokebi-ui .elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button,
.tokebi-ui .woocommerce a.button,
.tokebi-ui .woocommerce button.button,
.tokebi-ui .woocommerce input.button,
.tokebi-ui .wc-block-components-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0;
  padding: 0 22px !important;
  color: var(--tk-ink) !important;
  background: transparent !important;
  border: 1px solid var(--tk-red) !important;
  border-radius: 0 !important;
  line-height: 3em !important;
  letter-spacing: .03em;
  text-transform: uppercase;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.tokebi-ui .elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button .elementor-button-content-wrapper,
.tokebi-ui .elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button .elementor-button-text,
.tokebi-ui .elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button .elementor-button-icon,
.tokebi-ui .elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button .elementor-button-icon i {
  align-items: center !important;
  line-height: inherit !important;
}
.tokebi-ui .elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button:hover,
.tokebi-ui .woocommerce a.button:hover,
.tokebi-ui .woocommerce button.button:hover,
.tokebi-ui .woocommerce input.button:hover,
.tokebi-ui .wc-block-components-button:hover { color: var(--tk-black) !important; background: var(--tk-red) !important; transform: translateY(-2px); }

.tokebi-ui input:not([type="checkbox"]):not([type="radio"]),
.tokebi-ui select,
.tokebi-ui textarea,
.tokebi-ui .select2-container--default .select2-selection--single {
  min-height: 48px;
  color: var(--tk-ink);
  background: var(--tk-panel);
  border: 1px solid var(--tk-border);
  border-radius: 0;
  font-family: var(--tk-mono);
}
.tokebi-ui input:focus,
.tokebi-ui select:focus,
.tokebi-ui textarea:focus { outline: 1px solid var(--tk-red); border-color: var(--tk-red); }
.tokebi-ui label { color: var(--tk-muted); font-family: var(--tk-mono); font-size: 13px; text-transform: uppercase; }

/* WooCommerce global */
.tokebi-commerce main,
.tokebi-commerce .site-main { width: min(calc(100% - 40px), var(--tk-wrap)); margin-inline: auto; padding-block: clamp(48px, 7vw, 100px); }
.tokebi-ui .woocommerce-breadcrumb,
.tokebi-ui .woocommerce-result-count,
.tokebi-ui .woocommerce-ordering,
.tokebi-ui .stock,
.tokebi-ui .product_meta,
.tokebi-ui .woocommerce-tabs .tabs {
  color: var(--tk-muted);
  font-family: var(--tk-mono);
  font-size: 13px;
  text-transform: uppercase;
}
.tokebi-ui .woocommerce-breadcrumb { margin-bottom: 42px; }
.tokebi-ui .woocommerce-breadcrumb a { color: var(--tk-ink); }
.tokebi-ui .woocommerce-products-header { margin-bottom: clamp(45px, 7vw, 90px); border-bottom: 1px solid var(--tk-line); }
.tokebi-ui .woocommerce-products-header__title.page-title { font-size: clamp(70px, 12vw, 170px); }
.tokebi-ui .woocommerce-ordering select { min-width: 180px; }

/* Product loop */
.tokebi-ui .woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(44px, 5vw, 76px) var(--tk-gap); margin-top: 40px; }
.tokebi-ui .woocommerce ul.products::before,
.tokebi-ui .woocommerce ul.products::after { display: none; }
.tokebi-ui .woocommerce ul.products li.product { float: none; width: auto; margin: 0; color: var(--tk-ink); }
.tokebi-ui .woocommerce ul.products li.product a img {
  aspect-ratio: 1;
  object-fit: cover;
  margin: 0 0 16px;
  background: #e9e5dc;
  border: 1px solid transparent;
  filter: saturate(.9) contrast(1.03);
  transition: border-color .2s ease, transform .25s ease, filter .25s ease;
}
.tokebi-ui .woocommerce ul.products li.product:hover a img { border-color: var(--tk-red); transform: translateY(-3px); filter: saturate(1.08) contrast(1.06); }
.tokebi-product-category { color: var(--tk-muted); font-family: var(--tk-mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.tokebi-ui .woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 4px 0 0;
  color: var(--tk-ink);
  font-family: var(--tk-condensed);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}
.tokebi-ui .woocommerce ul.products li.product .price { margin: 9px 0 16px; color: var(--tk-ink); font-family: var(--tk-mono); font-size: 15px; }
.tokebi-ui .woocommerce ul.products li.product .price del { color: var(--tk-muted); }
.tokebi-ui .woocommerce ul.products li.product .price ins { color: var(--tk-red); text-decoration: none; }
.tokebi-ui .onsale { top: 10px !important; right: 10px !important; left: auto !important; min-width: 0; min-height: 0; margin: 0 !important; padding: 7px 10px; color: var(--tk-ink); background: var(--tk-red); border-radius: 0; font-family: var(--tk-mono); font-size: 11px; line-height: 1; text-transform: uppercase; }

/* Pagination */
.tokebi-ui .woocommerce nav.woocommerce-pagination { padding-top: 60px; border-top: 1px solid var(--tk-line); }
.tokebi-ui .woocommerce nav.woocommerce-pagination ul { border: 0; }
.tokebi-ui .woocommerce nav.woocommerce-pagination ul li { border: 0; }
.tokebi-ui .woocommerce nav.woocommerce-pagination ul li a,
.tokebi-ui .woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; padding: 12px; color: var(--tk-ink); background: transparent; font-family: var(--tk-mono); }
.tokebi-ui .woocommerce nav.woocommerce-pagination ul li span.current,
.tokebi-ui .woocommerce nav.woocommerce-pagination ul li a:hover { color: var(--tk-black); background: var(--tk-red); }

/* Single product */
.tokebi-ui.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(40px, 6vw, 90px); }
.tokebi-ui.single-product div.product .woocommerce-product-gallery,
.tokebi-ui.single-product div.product .summary { float: none; width: auto; }
.tokebi-ui.single-product div.product .product_title { font-size: clamp(56px, 7vw, 105px); }
.tokebi-ui.single-product div.product p.price { color: var(--tk-red); font-family: var(--tk-mono); font-size: 22px; }
.tokebi-ui.single-product .woocommerce-product-gallery__image img { background: #e9e5dc; }
.tokebi-ui.single-product table.variations { margin-block: 28px; }
.tokebi-ui.single-product table.variations th,
.tokebi-ui.single-product table.variations td { display: block; padding: 5px 0; background: transparent; }
.tokebi-ui.single-product .quantity .qty { width: 76px; }
.tokebi-ui.single-product .woocommerce-tabs { grid-column: 1 / -1; padding-top: var(--tk-space); }
.tokebi-ui.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--tk-line); }
.tokebi-ui.single-product .woocommerce-tabs ul.tabs::before { display: none; }
.tokebi-ui.single-product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; }
.tokebi-ui.single-product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--tk-red); }
.tokebi-ui.single-product .woocommerce-tabs ul.tabs li::before,
.tokebi-ui.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.tokebi-ui .related.products { grid-column: 1 / -1; padding-top: var(--tk-space); border-top: 1px solid var(--tk-line); }

/* Notices */
.tokebi-ui .woocommerce-message,
.tokebi-ui .woocommerce-info,
.tokebi-ui .woocommerce-error {
  color: var(--tk-ink);
  background: var(--tk-panel);
  border: 1px solid var(--tk-border);
  border-top: 2px solid var(--tk-red);
}
.tokebi-ui .woocommerce-message::before,
.tokebi-ui .woocommerce-info::before { color: var(--tk-red); }

/* Cart, checkout and account */
.tokebi-ui .woocommerce table.shop_table { border: 1px solid var(--tk-border); border-radius: 0; border-collapse: collapse; }
.tokebi-ui .woocommerce table.shop_table th { color: var(--tk-red); font-family: var(--tk-mono); font-size: 12px; text-transform: uppercase; }
.tokebi-ui .woocommerce table.shop_table td,
.tokebi-ui .woocommerce table.shop_table th { border-color: var(--tk-border); background: transparent; }
.tokebi-ui .cart-collaterals .cart_totals,
.tokebi-ui .woocommerce-checkout-review-order,
.tokebi-ui .woocommerce-MyAccount-navigation,
.tokebi-ui .woocommerce-MyAccount-content { padding: clamp(22px, 3vw, 40px); background: var(--tk-panel); border: 1px solid var(--tk-border); }
.tokebi-ui #add_payment_method #payment,
.tokebi-ui .woocommerce-cart #payment,
.tokebi-ui .woocommerce-checkout #payment { color: var(--tk-ink); background: var(--tk-panel); border-radius: 0; }
.tokebi-ui #add_payment_method #payment div.payment_box,
.tokebi-ui .woocommerce-cart #payment div.payment_box,
.tokebi-ui .woocommerce-checkout #payment div.payment_box { color: var(--tk-ink); background: #151515; }
.tokebi-ui #add_payment_method #payment div.payment_box::before,
.tokebi-ui .woocommerce-cart #payment div.payment_box::before,
.tokebi-ui .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #151515; }
.tokebi-ui .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.tokebi-ui .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--tk-border); }
.tokebi-ui .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; font-family: var(--tk-mono); text-transform: uppercase; }
.tokebi-ui .woocommerce-MyAccount-navigation .is-active a { color: var(--tk-red); }

/* Elementor mini cart */
.tokebi-ui .elementor-menu-cart__container .elementor-menu-cart__main { color: var(--tk-ink); background: var(--tk-black); border-left: 1px solid var(--tk-red); }
.tokebi-ui .elementor-menu-cart__product { border-bottom-color: var(--tk-border) !important; }
.tokebi-ui .elementor-menu-cart__product-name,
.tokebi-ui .elementor-menu-cart__product-price { color: var(--tk-ink) !important; }

/* Footer */
.elementor-location-footer,
[data-elementor-type="footer"] { color: var(--tk-ink); background: var(--tk-black); border-top: 1px solid var(--tk-line); }
.elementor-location-footer a,
[data-elementor-type="footer"] a { font-family: var(--tk-mono); font-size: 13px; text-transform: uppercase; }

/* Mobile */
@media (max-width: 1024px) {
  .tokebi-ui .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tokebi-ui.single-product div.product { grid-template-columns: 1fr; }
  .tokebi-ui.single-product .woocommerce-tabs { grid-column: auto; }
}

@media (max-width: 767px) {
  :root { --tk-space: 70px; }
  body.tokebi-ui { font-size: 15px; }
  h1 { font-size: clamp(64px, 25vw, 104px); }
  h2 { font-size: clamp(48px, 18vw, 78px); }
  .tokebi-commerce main,
  .tokebi-commerce .site-main { width: min(calc(100% - 28px), var(--tk-wrap)); }
  .tokebi-ui .woocommerce ul.products { grid-template-columns: 1fr; gap: 52px; }
  .tokebi-ui .woocommerce-result-count,
  .tokebi-ui .woocommerce-ordering { float: none; width: 100%; }
  .tokebi-ui .woocommerce-ordering select { width: 100%; }
  .tokebi-ui.single-product div.product { display: block; }
  .tokebi-ui.single-product div.product .summary { margin-top: 34px; }
  .tokebi-ui .cart-collaterals .cart_totals { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Utility controls should never inherit CTA styling. */
.tokebi-ui .elementor-menu-cart__toggle,
.tokebi-ui .elementor-menu-cart__toggle .elementor-button,
.tokebi-ui .elementor-menu-cart__toggle_button,
.tokebi-ui .elementor-menu-cart__toggle_button.elementor-button,
.tokebi-ui .elementor-menu-cart__close-button,
.tokebi-ui .elementor-menu-cart__product-remove,
.tokebi-ui .elementor-menu-toggle,
.tokebi-ui .woocommerce .remove,
.tokebi-ui .woocommerce button.update_cart,
.tokebi-ui button.quantity__plus,
.tokebi-ui button.quantity__minus {
  min-height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  line-height: normal !important;
  box-shadow: none !important;
  transform: none !important;
}
