/*
Theme Name:   Secretzshop Dark
Theme URI:    https://secretzshop.com/
Description:  Dark TCG storefront look (navy · red · cream) for Secretzshop. Child theme of Storefront — only changes the look; WooCommerce, plugins and snippets keep working. Colours are in the :root block below.
Author:       Secretzshop
Template:     storefront
Version:      1.10.9
Text Domain:  secretzshop-dark
*/

/* ==========================================================
   1. COLOURS & FONTS — change the theme here
   ========================================================== */
:root {
  /* Palette: A · Slate — dark slate blue-grey, coral red buttons, cream prices */
  --bg: #262B36;          /* page background */
  --navy: #323947;        /* header, footer, cards */
  --navy-deep: #2A303C;   /* inputs */
  --line: #4A5468;        /* borders on cards */
  --surface: #2E3441;     /* image wells, rows */
  --line-2: #424A5B;      /* borders on surface */
  --accent: #FF6B6F;      /* buttons, active menu, links */
  --accent-hi: #FF8A8D;
  --on-accent: #1A0B0C;   /* text on accent buttons */
  --cream: #F1E4C3;       /* prices, brand, headings accent */
  --cream-hi: #F8EDD3;
  --on-cream: #111111;    /* text on cream buttons */
  --amber: #FFBC74;       /* foil / secondary tag */
  --text: #FFFFFF;
  --text-2: #DCE1EA;
  --muted: #AEB5C2;
  --ok: #6BEBA6;
  --bad: #FF9C9C;
  --disabled-bg: #424957;
  --disabled-fg: #9CA3B0;
  --radius: 10px;
  --font-display: 'Plus Jakarta Sans', 'IBM Plex Sans Thai', sans-serif;
  --font-body: 'Plus Jakarta Sans', 'IBM Plex Sans Thai', system-ui, sans-serif;
  color-scheme: dark;
}

/* ==========================================================
   2. BASE
   ========================================================== */
html, body, body.custom-background { background: var(--bg) !important; }
body {
  color: var(--text-2);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea, .button { font-family: var(--font-body); }
h1, h2, h3, h4, h5, h6, .alpha, .beta, .gamma, .delta {
  color: var(--text);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.35;            /* room for Thai tone marks */
  text-wrap: balance;
}
a { color: var(--accent); }
a:hover, a:focus { color: var(--accent-hi); }
:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px; }
hr { background-color: var(--line-2); }
.col-full { max-width: 1320px; padding-left: 32px; padding-right: 32px; box-sizing: border-box; }
@media (min-width: 768px) {
  .col-full { padding-left: 32px; padding-right: 32px; }
}
.site-content { padding-top: 8px; }
table, table th, table td { background: transparent; color: var(--text-2); }
table thead th, table th { color: var(--muted); }
table:not(.has-background) tbody tr:nth-child(2n) td, fieldset, fieldset legend { background-color: rgba(255,255,255,.02); }
table:not(.has-background) tbody td { background-color: transparent; }
::selection { background: var(--accent); color: var(--on-accent); }

/* ==========================================================
   3. HEADER — logo · menu · cart · account in one row
   ========================================================== */
.site-header {
  background: var(--navy) !important;
  border-bottom: 1px solid var(--line);
  padding: 0 !important;
  margin-bottom: 0 !important;
  position: sticky;
  top: 0;
  z-index: 100;
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 0; position: relative; } }
.site-header .col-full {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 64px;
}
.site-header .col-full::before, .site-header .col-full::after { display: none; }
.site-header .site-branding {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  flex-shrink: 0;
}
.site-header .site-branding .site-description { display: none; }
.site-header .site-title { margin: 0 !important; font-size: 1em; }
.site-header .site-title a {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--cream) !important;
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-header .szd-logo {
  width: 38px; height: 38px;
  border-radius: 8px;
  background: #fff;
  object-fit: cover;
  margin: 0 !important;
}
.site-header .custom-logo-link img { max-height: 42px; width: auto; }

/* menu */
.site-header .main-navigation {
  flex: 1;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  clear: none !important;
  display: flex;
  justify-content: center;
}
.site-header .main-navigation ul.menu > li > a,
.site-header .main-navigation ul.nav-menu > li > a {
  color: var(--cream);
  opacity: .62;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 8px 0 !important;
  margin: 0 14px;
  border-bottom: 2px solid transparent;
  transition: opacity .15s;
}
.site-header .main-navigation ul.menu > li > a:hover,
.site-header .main-navigation ul.nav-menu > li > a:hover { opacity: 1; color: var(--cream); }
.site-header .main-navigation ul li.current-menu-item > a,
.site-header .main-navigation ul li.current_page_item > a,
.site-header .main-navigation ul li.current-menu-ancestor > a,
.site-header .main-navigation ul li.current-menu-parent > a {
  opacity: 1;
  color: var(--cream);
  border-bottom-color: var(--accent);
}
.site-header .main-navigation ul.menu ul,
.site-header .main-navigation ul.nav-menu ul {
  background: var(--navy);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.site-header .main-navigation ul ul li a { color: var(--cream); }

/* cart in header */
.site-header .site-header-cart {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  flex-shrink: 0;
}
.site-header .site-header-cart .cart-contents {
  color: var(--cream) !important;
  border: 1px solid color-mix(in srgb, var(--cream) 30%, transparent);
  border-radius: 8px;
  padding: 7px 12px !important;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}
.site-header .site-header-cart .cart-contents::after { color: var(--cream); margin-left: 4px; }
.site-header .site-header-cart .cart-contents .count {
  background: var(--accent); color: var(--on-accent);
  border-radius: 99px; padding: 1px 7px; font-size: 11px; opacity: 1; font-weight: 700;
}
.site-header .site-header-cart .widget_shopping_cart {
  background: var(--navy) !important;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.site-header .widget_shopping_cart .product_list_widget li,
.site-header .widget_shopping_cart p.total,
.site-header .widget_shopping_cart p.buttons { background: transparent !important; border-color: var(--line) !important; }

/* account button */
.szd-account {
  flex-shrink: 0;
  background: var(--cream);
  color: var(--on-cream) !important;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 8px 18px;
  border-radius: 7px;
  white-space: nowrap;
}
.szd-account:hover { background: var(--cream-hi); }

/* mobile header */
@media (max-width: 767px) {
  .site-header .col-full { flex-wrap: nowrap; gap: 12px; min-height: 58px; padding-left: 16px; padding-right: 16px; position: relative; }
  .site-header .site-branding { min-width: 0; flex: 1 1 auto; }
  .site-header .site-title a span { overflow: hidden; text-overflow: ellipsis; }
  .site-header .main-navigation:not(.toggled) .handheld-navigation { display: none; }
  .site-header .main-navigation .handheld-navigation { transition: none !important; }
  .site-header .site-title a { font-size: 17px; gap: 10px; white-space: nowrap; }
  .site-header .szd-logo { width: 34px; height: 34px; }
  .site-header .main-navigation { flex: 0 0 auto; margin-left: auto !important; justify-content: flex-end; position: static; }
  .site-header .site-header-cart, .szd-account { display: none; }
  .site-header .main-navigation .menu-toggle {
    background: transparent !important;
    border: 1px solid color-mix(in srgb, var(--cream) 35%, transparent) !important;
    color: var(--cream) !important;
    border-radius: 8px !important;
    padding: 8px 12px 8px 38px !important;
    margin: 0;
    float: none;
    font-size: 13px !important;
    font-family: var(--font-display) !important;
    position: relative;
  }
  .site-header .main-navigation .menu-toggle::before, .site-header .main-navigation .menu-toggle::after,
  .site-header .main-navigation .menu-toggle span::before { background-color: var(--cream) !important; left: 13px; }
  .site-header .main-navigation.toggled .handheld-navigation {
    position: absolute;
    left: 0; right: 0; top: 100%;
    z-index: 200;
    background: var(--navy) !important;
    border-bottom: 1px solid var(--line);
    padding: 6px 0 12px;
    box-shadow: 0 14px 30px rgba(0,0,0,.55);
    max-height: none;
  }
  .site-header .main-navigation .handheld-navigation ul.menu li a {
    color: var(--cream);
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 600;
    padding: 12px 20px;
    border-bottom: 1px solid rgba(255,255,255,.05);
  }
  .site-header .main-navigation .handheld-navigation ul li.current-menu-item > a { color: var(--accent); border-bottom-color: rgba(255,255,255,.05); }
  .site-header .main-navigation .handheld-navigation .dropdown-toggle { color: var(--cream); }
  .col-full { padding-left: 16px; padding-right: 16px; }
  ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px !important; padding: 0 10px !important; }
  ul.products li.product .price { padding: 0 10px; font-size: 16px; }
  ul.products li.product .button { margin: 0 10px !important; font-size: 12px !important; }
  ul.products li.product img { padding: 8px; }
}

/* breadcrumb */
.storefront-breadcrumb { background: transparent; margin: 0 0 8px; padding: 14px 0 0; border: 0; }
.woocommerce-breadcrumb { color: var(--muted); font-size: 12px; padding: 0; margin: 0; }
.woocommerce-breadcrumb a { color: var(--muted); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--cream); }
.woocommerce-breadcrumb .breadcrumb-separator { color: var(--line); }

/* ==========================================================
   4. PAGE TITLES & CONTENT
   ========================================================== */
.hentry { margin-bottom: 2em; }
.hentry .entry-header { border: 0; margin-bottom: 1em; padding: 0; }
.hentry .entry-header .entry-title,
.woocommerce-products-header__title.page-title,
h1.product_title {
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(26px, 3.2vw, 34px);
  font-weight: 700;
  letter-spacing: .05em;
}
.page-template-default .hentry .entry-header .entry-title { text-transform: uppercase; }
.entry-content { color: var(--text-2); }
.entry-content h2, .entry-content h3 { color: var(--cream); }
.entry-content ol li, .entry-content ul li { margin-bottom: .4em; }
.wp-block-image img { border-radius: 10px; }
blockquote { border-left-color: var(--accent); color: var(--text-2); }

/* ==========================================================
   5. BUTTONS & FORMS
   ========================================================== */
.button, button, input[type=button], input[type=reset], input[type=submit],
.added_to_cart, .widget a.button, .wc-block-components-button:not(.is-link),
.wp-block-button__link, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background: var(--accent) !important;
  color: var(--on-accent) !important;
  border: 0 !important;
  border-radius: 7px !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .05em;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background .15s, opacity .15s;
}
.button:hover, button:hover, input[type=submit]:hover, .added_to_cart:hover,
.wc-block-components-button:not(.is-link):hover, .wp-block-button__link:hover {
  background: var(--accent-hi) !important;
  color: var(--on-accent) !important;
}
.button.alt, button.alt, .button.checkout, .single_add_to_cart_button { background: var(--accent) !important; }
.button:disabled, .button.disabled, button:disabled, .single_add_to_cart_button.disabled {
  background: var(--disabled-bg) !important; color: var(--disabled-fg) !important; opacity: 1 !important; cursor: not-allowed;
}
/* plain icon buttons stay transparent */
button.menu-toggle, .wc-block-components-quantity-selector__button, button.dropdown-toggle,
.pswp button, .wc-block-components-panel__button, .wc-block-components-totals-coupon__button + *,
.woocommerce-product-gallery__trigger { background: transparent !important; }

input[type=text], input[type=email], input[type=url], input[type=password], input[type=search],
input[type=number], input[type=tel], input[type=date], textarea, select,
.input-text, .select2-container .select2-selection,
.wc-block-components-text-input input, .wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  background: var(--navy-deep) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}
input:focus, textarea:focus, select:focus, .input-text:focus,
.wc-block-components-text-input input:focus { border-color: color-mix(in srgb, var(--cream) 55%, transparent) !important; outline: none; }
::placeholder { color: var(--muted) !important; opacity: .8; }
label, .wc-block-components-text-input label, .wc-blocks-components-select__label,
.wc-block-components-combobox .wc-block-components-combobox-control label { color: var(--muted) !important; }
.wc-block-components-text-input.is-active label, .wc-block-components-text-input input:focus + label { color: var(--cream) !important; }
input[type=checkbox], input[type=radio] { accent-color: var(--accent); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { background: var(--navy-deep); border-color: var(--line); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--on-accent); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--accent); border-color: var(--accent); }
.wc-block-components-radio-control__input { background: var(--navy-deep) !important; border-color: var(--line) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--accent) !important; }

/* select2 (account address forms) */
.select2-container--default .select2-selection--single { min-height: 44px; display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text) !important; line-height: 1.5 !important; padding: 10px 36px 10px 14px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; }
.select2-dropdown { background: var(--navy) !important; border-color: var(--line) !important; color: var(--text); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--accent) !important; color: var(--on-accent) !important; }
.select2-container--default .select2-results__option[aria-selected=true] { background: var(--line); }
.select2-search--dropdown .select2-search__field { background: var(--navy-deep); color: var(--text); border-color: var(--line); }

/* quantity */
.quantity .qty { width: 4.2em; text-align: center; height: 44px; }

/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments,
.wc-block-components-notice-banner {
  background: var(--navy) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--accent) !important;
  border-radius: 8px !important;
}
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--cream) !important; }
.woocommerce-message .button, .woocommerce-info .button { background: transparent !important; color: var(--cream) !important; border: 1px solid var(--line) !important; }
.woocommerce-error { border-left-color: var(--bad) !important; }
.wc-block-components-notice-banner > svg { background: var(--accent) !important; fill: var(--on-accent) !important; }

/* ==========================================================
   6. PRODUCT GRID (shop, category pages, [products] shortcode)
   ========================================================== */
ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; margin: 0 0 2em !important; }
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product, .site-main ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
  background: var(--navy);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  text-align: left;
  display: flex;
  flex-direction: column;
  padding: 0 0 14px;
  transition: border-color .15s, transform .15s;
}
ul.products li.product:hover { border-color: color-mix(in srgb, var(--cream) 40%, transparent); transform: translateY(-2px); }
ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; text-decoration: none; }
ul.products li.product img, ul.products li.product .wp-post-image {
  background: var(--surface);
  margin: 0 0 12px !important;
  padding: 12px;
  width: 100%;
  height: auto !important;
  aspect-ratio: 5 / 7;
  object-fit: contain;
  object-position: center;
  box-sizing: border-box;
  border-bottom: 1px solid var(--line);
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2, ul.products li.product h3 {
  color: var(--text);
  font-family: var(--font-body);
  font-size: 13.5px !important;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.45;
  padding: 0 14px !important;
  margin: 0 0 8px;
  flex: 1;
}
ul.products li.product .price {
  color: var(--cream) !important;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  padding: 0 14px;
  margin: 0 0 12px;
  font-variant-numeric: tabular-nums;
}
ul.products li.product .price ins { font-weight: 700; color: var(--cream); }
ul.products li.product .price del { color: var(--muted); font-size: .8em; opacity: 1; }
ul.products li.product .button, ul.products li.product .added_to_cart {
  margin: 0 14px !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  text-align: center;
  display: block;
}
ul.products li.product .added_to_cart { background: transparent !important; color: var(--cream) !important; padding: 6px 0 0 !important; font-weight: 600 !important; }
ul.products li.product .star-rating { margin: 0 14px 8px; }
.onsale {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: var(--accent); color: var(--on-accent); border: 0; border-radius: 99px;
  font-size: 11px; font-weight: 700; padding: 2px 10px; min-height: 0; line-height: 1.6;
}
ul.products li.product { position: relative; }
ul.products li.product.outofstock img { opacity: .55; }
ul.products li.product.outofstock .button { background: var(--disabled-bg) !important; color: var(--disabled-fg) !important; }

/* result count / ordering / pagination */
.woocommerce-result-count { color: var(--muted); font-size: 13px; }
.woocommerce-ordering select, .orderby { padding: 8px 12px; font-size: 13px; }
.storefront-sorting { border: 0; padding: 0; margin-bottom: 1.2em; }
.woocommerce-pagination .page-numbers li .page-numbers,
.pagination .page-numbers li .page-numbers {
  background: transparent; color: var(--muted); border: 1px solid var(--line-2); border-radius: 6px;
  min-width: 2.2em; padding: .35em .7em;
}
.woocommerce-pagination .page-numbers li .page-numbers.current,
.pagination .page-numbers li .page-numbers.current { background: var(--cream); color: var(--on-cream); border-color: var(--cream); font-weight: 700; }
.woocommerce-pagination .page-numbers li .page-numbers:hover { color: var(--text); border-color: var(--muted); }
.woocommerce-pagination { border-top: 0; padding: 1em 0; }

/* ==========================================================
   7. SIDEBAR & FILTER WIDGETS (incl. BeRocket AJAX filters)
   ========================================================== */
.widget-area .widget {
  background: var(--navy);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px;
  margin-bottom: 14px;
  font-size: 14px;
}
.widget-area .widget .widget-title, .widget-area .widget .widgettitle, .widget-area .widget h2,
.bapf_sfilter .bapf_head h3 {
  color: var(--cream) !important;
  font-family: var(--font-display);
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: 0 !important;
  padding: 0 0 8px !important;
  margin: 0 0 8px !important;
}
.widget-area .widget a { color: var(--text-2); text-decoration: none; }
.widget-area .widget a:hover { color: var(--cream); }
.widget-area .widget ul li { border-color: var(--line-2); }
.widget_product_categories ul li::before { color: var(--muted) !important; }
.widget_product_categories .count { color: var(--muted); }
.widget_price_filter .ui-slider .ui-slider-range, .widget_price_filter .ui-slider .ui-slider-handle { background: var(--accent); }
.widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--line); }
.widget_price_filter .price_label { color: var(--muted); }
.bapf_sfilter { margin-bottom: 0 !important; }
.bapf_sfilter .bapf_body, .bapf_sfilter label, .bapf_sfilter .bapf_body li label { color: var(--text-2) !important; }
.bapf_sfilter .bapf_body li { margin-bottom: 4px; }
.bapf_sfilter .bapf_body input[type=checkbox] { accent-color: var(--accent); }
.bapf_sfilter select { width: 100%; }
.bapf_sfilter.bapf_button_dark_rounded button, .bapf_sfilter .bapf_button, .bapf_sfilter .bapf_reset {
  width: 100%; background: var(--accent) !important; color: var(--on-accent) !important; border-radius: 7px !important;
}
.bapf_sfilter.bapf_rst_nofltr button, .bapf_rst_sel button { background: transparent !important; color: var(--cream) !important; border: 1px solid var(--line) !important; }
.bapf_sfilter .bapf_ckbox_square input:checked, .bapf-clean-rounded input:checked { background: var(--accent) !important; }

/* ==========================================================
   8. SINGLE PRODUCT
   ========================================================== */
.single-product div.product { margin-bottom: 2em; }
.single-product div.product .woocommerce-product-gallery {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
  box-sizing: border-box;
}
.single-product div.product .woocommerce-product-gallery img { border-radius: 12px; max-height: 560px; width: auto !important; margin: 0 auto; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { opacity: .6; border-radius: 6px; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; outline: 2px solid var(--cream); }
.single-product div.product .summary .price,
.single-product div.product p.price {
  color: var(--cream) !important;
  font-family: var(--font-display);
  font-size: 38px !important;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  margin: 8px 0 16px;
}
.single-product div.product .woocommerce-product-details__short-description { color: var(--text-2); }
.single-product div.product form.cart {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 0 0 18px; border-bottom: 1px solid var(--line-2); margin-bottom: 18px;
}
.single-product div.product form.cart .quantity { margin: 0; float: none; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; padding: 13px 18px; font-size: 16px !important; float: none; }
.single-product div.product .stock { color: var(--ok); font-weight: 600; }
.single-product div.product .stock.out-of-stock { color: var(--muted); }
.single-product div.product .product_meta { border-color: var(--line-2); color: var(--muted); font-size: 13px; }
.single-product div.product .product_meta a { color: var(--cream); }
.single-product div.product .product_meta > span { border-color: var(--line-2); }
.woocommerce-tabs { border-color: var(--line-2) !important; padding-top: 1.5em; }
.woocommerce-tabs ul.tabs { border-color: var(--line-2) !important; }
.woocommerce-tabs ul.tabs li { border-color: var(--line-2) !important; }
.woocommerce-tabs ul.tabs li a { color: var(--muted); font-family: var(--font-display); font-size: 15px; font-weight: 700; letter-spacing: .04em; }
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: var(--cream); }
.woocommerce-tabs ul.tabs li.active::after { color: var(--accent); }
.woocommerce-tabs .panel h2:first-of-type { font-size: 20px; color: var(--cream); }
.woocommerce-tabs .shop_attributes th { color: var(--muted); }
.related > h2, .upsells > h2, .cross-sells > h2 { color: var(--cream); font-size: 20px; letter-spacing: .06em; text-transform: uppercase; }
.storefront-product-pagination a { background: var(--navy); color: var(--text); border: 1px solid var(--line); }
.storefront-sticky-add-to-cart { background: var(--navy); border-color: var(--line); color: var(--text); }
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-title { color: var(--text); }
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-price { color: var(--cream); }

/* ==========================================================
   9. CART & CHECKOUT (classic + block)
   ========================================================== */
table.shop_table, table.cart, .shop_table { border: 1px solid var(--line-2); border-radius: var(--radius); overflow: hidden; }
table.shop_table th, table.shop_table td { border-color: var(--line-2) !important; color: var(--text-2); }
table.cart td.product-name a, .shop_table .product-name a { color: var(--text); }
table.cart .product-thumbnail img { border-radius: 6px; background: var(--surface); }
table.cart td.actions { background: transparent !important; }
.cart-collaterals .cart_totals, #order_review, .woocommerce-checkout-review-order {
  background: var(--navy); border: 1px solid var(--line); border-radius: 12px; padding: 18px;
}
.cart-collaterals .cart_totals h2 { color: var(--cream); font-size: 18px; }
.order-total .amount, .cart_totals .order-total .amount { color: var(--cream); font-family: var(--font-display); font-size: 1.4em; }
#payment, #payment .payment_methods > li, #payment .payment_methods li .payment_box, #payment .place-order {
  background: var(--navy-deep) !important; color: var(--text-2) !important; border-color: var(--line) !important;
}
#payment .payment_methods li .payment_box::before { border-bottom-color: var(--navy-deep) !important; }

/* block cart / checkout */
.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--text-2); }
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--line-2) !important; }
.wc-block-cart-items__header, .wc-block-cart-items .wc-block-cart-items__header th { color: var(--muted) !important; }
.wc-block-components-product-name, .wc-block-cart-item__product a { color: var(--text) !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 6px; background: var(--surface); }
.wc-block-components-product-price, .wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value { color: var(--cream); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--cream) !important; font-family: var(--font-display); font-size: 22px; }
.wc-block-cart .wc-block-cart__totals-title, .wc-block-components-checkout-step__title, .wc-block-components-title {
  color: var(--cream) !important; font-family: var(--font-display) !important; letter-spacing: .06em; text-transform: uppercase;
}
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-totals-wrapper,
.wc-block-components-order-summary, .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-components-checkout-step, .wc-block-components-panel { border-color: var(--line-2) !important; }
.wp-block-woocommerce-cart-totals-block, .wp-block-woocommerce-checkout-order-summary-block {
  background: var(--navy); border: 1px solid var(--line) !important; border-radius: 12px; padding: 6px 16px 16px;
}
.wc-block-components-quantity-selector { border-color: var(--line) !important; border-radius: 7px; background: var(--navy-deep); }
.wc-block-components-quantity-selector::after { border-color: var(--line) !important; }
.wc-block-components-quantity-selector input { color: var(--text) !important; background: transparent !important; border: 0 !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--cream) !important; }
.wc-block-cart-item__remove-link, .wc-block-cart-item__remove-link:hover { background: transparent !important; }
.wc-block-components-product-name, .wc-block-components-product-name:hover { text-decoration: none !important; }
.wc-block-cart-item__remove-link, .wc-block-components-product-metadata, .wc-block-components-checkout-step__description { color: var(--muted) !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option { border-color: var(--line) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 1.5px var(--accent) !important; }
.wc-block-components-address-card { border-color: var(--line) !important; background: var(--navy-deep); }
.wc-block-components-address-card__edit { color: var(--cream) !important; }
.wc-block-components-order-summary-item__quantity { background: var(--accent) !important; color: var(--on-accent) !important; border: 0 !important; box-shadow: none !important; }
.wc-block-components-validation-error { color: var(--bad) !important; }
.wc-block-components-text-input.has-error input { border-color: var(--bad) !important; }
.wc-block-cart__empty-cart__title, .with-empty-cart-icon::before { color: var(--muted) !important; }
.wc-block-checkout__terms, .wc-block-components-checkout-return-to-cart-button { color: var(--muted) !important; }
.wc-block-components-checkout-return-to-cart-button svg { fill: var(--muted); }

/* ==========================================================
   10. MY ACCOUNT
   ========================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  background: var(--navy);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border: 0 !important; margin: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 10px 14px; border-radius: 8px; color: var(--text-2); text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before { color: var(--muted); opacity: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--line); color: var(--text); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--line); color: var(--cream); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before { color: var(--accent); }
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: 12px;
  padding: 24px;
  box-sizing: border-box;
}
.woocommerce-MyAccount-content mark, .woocommerce-order-details mark { background: transparent; color: var(--cream); font-weight: 600; }
.woocommerce-orders-table .woocommerce-button, .woocommerce-MyAccount-content .button { padding: 7px 14px !important; font-size: 13px !important; }
.woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .addresses .woocommerce-Address { overflow: visible; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3, .woocommerce-column__title {
  color: var(--cream); font-size: 18px; line-height: 1.6; padding-top: .2em; overflow: visible;
}
.woocommerce-Address address, .woocommerce-customer-details address {
  border: 1px solid var(--line-2) !important; border-radius: 10px; padding: 14px 16px; background: var(--navy-deep); font-style: normal; color: var(--text-2);
}
/* login / register boxes */
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2,
.woocommerce-form-login, .woocommerce-form-register, form.login, form.register {
  background: var(--navy) !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
.woocommerce-account .u-columns h2 { color: var(--cream); font-size: 20px; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce-form-login .woocommerce-form-login__rememberme { color: var(--muted); }
.lost_password a { color: var(--muted); }

/* order status text colour in tables */
.woocommerce-orders-table__cell-order-status { font-weight: 600; color: var(--cream); }

/* ==========================================================
   11. FOOTER
   ========================================================== */
.site-footer {
  background: var(--navy) !important;
  color: var(--muted) !important;
  border-top: 1px solid var(--line);
  padding: 32px 0 24px;
  margin-top: 32px;
}
.site-footer a, .site-footer a:not(.button):not(.components-button) { color: var(--text-2) !important; text-decoration: none; }
.site-footer a:hover { color: var(--cream) !important; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6 { color: var(--cream) !important; }
.site-footer .footer-widgets { border-color: var(--line) !important; padding-top: 0; }
.site-info { color: var(--muted); font-size: 12px; padding: 16px 0 0; }
.site-info h5 { font-size: 14px; letter-spacing: .1em; }
.wp-block-social-links .wp-social-link { background-color: var(--line) !important; color: var(--cream) !important; }
.wp-block-social-links .wp-social-link svg { fill: var(--cream); }

/* handheld footer bar (phones) */
.storefront-handheld-footer-bar { background: var(--navy) !important; border-top: 1px solid var(--line); }
.storefront-handheld-footer-bar ul li > a, .storefront-handheld-footer-bar ul li.search .site-search {
  background: var(--navy) !important; color: var(--cream) !important; border-color: var(--line) !important;
}
.storefront-handheld-footer-bar ul li > a::before { color: var(--cream) !important; }
.storefront-handheld-footer-bar ul li.cart .count { background: var(--accent) !important; color: var(--on-accent) !important; border-color: var(--navy) !important; }
.storefront-handheld-footer-bar ul li.search .site-search { background: var(--navy) !important; }

/* ==========================================================
   12. HOME PAGE [sz_home]
   ========================================================== */
.szd-is-home .hentry .entry-header { display: none; }
.szd-is-home .site-content > .col-full { max-width: none; padding: 0; }
.szd-is-home .content-area { width: 100% !important; float: none !important; margin: 0 !important; }
.szd-is-home .hentry { margin: 0; padding: 0; }
.szd-is-home .storefront-breadcrumb { display: none; }
.szd-is-home .site-content { padding-top: 0; }
.szd-home { color: var(--text-2); }
.szd-home a, .szd-home a:hover, .szd-btn, .wc-block-cart__submit-button, .wc-block-components-button, .button { text-decoration: none !important; }
.szd-home > .szd-section { max-width: 1320px; margin: 0 auto; padding: 40px 32px 0; box-sizing: border-box; }
@media (max-width: 767px) { .szd-home > .szd-section { padding: 32px 16px 0; } }

/* banner */
.szd-banner { position: relative; overflow: hidden; background: #000; border-bottom: 1px solid var(--line); }
.szd-banner-track { display: flex; transition: transform .5s ease; }
.szd-slide {
  flex: 0 0 100%;
  min-height: 400px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  padding: 40px max(72px, calc((100% - 1320px) / 2 + 72px));
  box-sizing: border-box;
  position: relative;
  background: linear-gradient(120deg, var(--bg) 0%, var(--navy) 55%, color-mix(in srgb, var(--navy) 78%, var(--accent)) 100%);
}
.szd-slide:nth-child(2) { background: linear-gradient(120deg, var(--bg) 0%, var(--navy) 55%, color-mix(in srgb, var(--navy) 80%, var(--amber)) 100%); }
.szd-slide:nth-child(3) { background: linear-gradient(120deg, var(--bg) 0%, var(--navy) 55%, color-mix(in srgb, var(--navy) 78%, var(--cream)) 100%); }
.szd-slide::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 78% 50%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 60%); pointer-events: none; }
.szd-slide-copy { position: relative; z-index: 1; min-width: 0; }
.szd-eyebrow { font-size: 11px; letter-spacing: .22em; color: var(--cream); text-transform: uppercase; font-weight: 600; margin-bottom: 14px; }
.szd-slide-title { font-family: var(--font-display); font-size: clamp(36px, 5vw, 58px); font-weight: 700; letter-spacing: .06em; line-height: 1.05; color: var(--text); margin: 0 0 14px; }
.szd-slide-title span { color: var(--accent); }
.szd-slide-text { font-size: 15px; color: var(--text-2); max-width: 440px; line-height: 1.75; margin: 0 0 26px; }
.szd-btn {
  display: inline-block; background: var(--accent); color: var(--on-accent) !important; text-decoration: none;
  font-family: var(--font-display); font-weight: 700; font-size: 15px; letter-spacing: .06em;
  padding: 11px 28px; border-radius: 7px;
}
.szd-btn:hover { background: var(--accent-hi); }
.szd-btn-sm { padding: 7px 16px; font-size: 13px; }
.szd-slide-art { position: relative; z-index: 1; height: 310px; display: flex; align-items: center; justify-content: center; }
.szd-slide-art img { margin: 0 !important; }
.szd-slide-art.is-fan { width: 360px; max-width: 100%; justify-self: center; }
.szd-slide-art.is-fan img {
  position: absolute; top: 24px; left: 50%; width: 175px !important; height: auto; aspect-ratio: 5/7; object-fit: cover;
  border-radius: 10px; box-shadow: 0 18px 40px rgba(0,0,0,.6);
}
.szd-slide-art.is-fan img:nth-child(1) { transform: translateX(-118%) rotate(-12deg) translateY(18px); }
.szd-slide-art.is-fan img:nth-child(2) { transform: translateX(-50%); z-index: 2; top: 8px; }
.szd-slide-art.is-fan img:nth-child(3) { transform: translateX(18%) rotate(12deg) translateY(18px); }
.szd-slide-art.is-fan img:only-child { transform: translateX(-50%); }
.szd-slide-art.is-product img { max-height: 300px; width: auto !important; object-fit: contain; filter: drop-shadow(0 20px 40px rgba(0,0,0,.6)); }
.szd-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 42px; height: 42px; border-radius: 50% !important; padding: 0 !important;
  background: rgba(0,0,0,.45) !important; border: 1px solid rgba(255,255,255,.18) !important; color: #fff !important;
  font-size: 22px !important; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.szd-arrow:hover { background: rgba(0,0,0,.7) !important; }
.szd-prev { left: 16px; } .szd-next { right: 16px; }
.szd-dots { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 3; }
.szd-dots button { width: 9px; height: 9px; border-radius: 50% !important; padding: 0 !important; background: rgba(255,255,255,.35) !important; }
.szd-dots button.is-active { background: var(--cream) !important; }
@media (max-width: 900px) {
  .szd-slide { grid-template-columns: minmax(0, 1fr); padding: 32px 60px; min-height: 320px; }
  .szd-slide-art { display: none; }
}
@media (max-width: 600px) { .szd-slide { padding: 28px 48px; } .szd-arrow { width: 34px; height: 34px; } }

/* category boxes */
.szd-label { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--cream); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; opacity: .85; }
.szd-cat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.szd-cat {
  background: var(--navy); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 22px 14px; text-align: center; text-decoration: none; display: flex; flex-direction: column; align-items: center; gap: 4px;
  transition: border-color .15s, transform .15s;
}
.szd-cat:hover { border-color: var(--accent); transform: translateY(-2px); }
.szd-cat-icon { width: 40px; height: 40px; color: var(--accent); margin-bottom: 8px; }
.szd-cat-name { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--text); letter-spacing: .04em; }
.szd-cat-desc { font-size: 12px; color: var(--muted); line-height: 1.5; }
@media (max-width: 900px) { .szd-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .szd-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.szd-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.szd-title { font-family: var(--font-display); font-size: 19px !important; color: var(--cream) !important; letter-spacing: .08em; margin: 0 !important; }
.szd-more { font-size: 13px; color: var(--accent); text-decoration: none; white-space: nowrap; }
.szd-home .woocommerce ul.products { margin-bottom: 0 !important; }

/* how to order cards */
.szd-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.szd-step {
  background: var(--surface); border: 1px solid var(--line-2); border-radius: 8px; padding: 18px;
  text-decoration: none; display: flex; flex-direction: column; gap: 6px; transition: border-color .15s, background .15s;
}
.szd-step:hover { background: var(--navy); border-color: var(--line); }
.szd-step strong { color: var(--text); font-size: 15px; font-weight: 600; line-height: 1.5; }
.szd-step span:last-child { color: var(--muted); font-size: 13px; line-height: 1.7; }
.szd-tag {
  align-self: flex-start; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 2px 9px; border-radius: 99px; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}
@media (max-width: 900px) { .szd-steps { grid-template-columns: minmax(0, 1fr); } }

/* contact strip */
.szd-visit {
  background: var(--navy); border: 1px solid var(--line); border-radius: 12px;
  padding: 20px 24px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 8px;
}
.szd-visit-col { flex: 1; min-width: 220px; color: var(--text); font-size: 14px; line-height: 1.7; }
.szd-visit-col small { display: block; color: var(--muted); font-size: 11px; }
.szd-visit-item { color: var(--text) !important; font-size: 14px; text-decoration: none; }
a.szd-visit-item:hover { color: var(--cream) !important; }

/* ==========================================================
   13. MISC
   ========================================================== */
.star-rating span::before { color: var(--cream); }
.woocommerce-product-search input[type=search] { padding-left: 2.5em !important; }
.woocommerce-product-search::before { color: var(--muted); }
.wp-block-separator { border-color: var(--line-2); }
.wp-block-table td, .wp-block-table th { border-color: var(--line-2); }
.pswp__bg { background: #000; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* phones: two products per row */
@media (max-width: 767px) {
  ul.products, .site-main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
}

/* pages without sidebar use the full width */
.szd-no-sidebar .content-area { width: 100% !important; float: none !important; margin-right: 0 !important; margin-left: 0 !important; }

/* ==========================================================
   14. FULL-WIDTH LAYOUT
   Content uses the whole page. Sidebar widgets (e.g. BeRocket
   filters) move into a filter bar above the products.
   ========================================================== */
.site-content > .col-full { display: flex; flex-direction: column; }
.site-content > .col-full::before, .site-content > .col-full::after { display: none; }
.site-content .content-area,
.left-sidebar .content-area, .right-sidebar .content-area {
  width: 100% !important; float: none !important; margin: 0 !important; order: 2;
}
.site-content .widget-area,
.left-sidebar .widget-area, .right-sidebar .widget-area {
  order: 1;
  width: 100% !important; float: none !important; margin: 0 0 18px !important;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 12px;
  align-items: start;
}
.site-content .widget-area .widget { margin: 0; padding: 14px 16px; }
.site-content .widget-area .widget ul { margin: 0; }
.site-content .widget-area .widget ul li { padding: .25em 0; }
.site-content .widget-area .widget .bapf_body { max-height: 190px; overflow-y: auto; }
.site-content .widget-area .berocket_single_filter_widget { margin: 0; }
/* BeRocket puts several filters inside one widget — lay them out side by side */
.site-content .widget-area .widget:has(.berocket_single_filter_widget) {
  grid-column: 1 / -1;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px 20px;
}
.storefront-breadcrumb { order: 0; }

/* ==========================================================
   15. MTG FILTER BAR (Warp Gate style)
   ========================================================== */
.szd-filter-bar {
  background: var(--navy);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 0 0 18px;
  display: flex; flex-direction: column; gap: 10px;
}
.szd-frow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.szd-filter-bar .szd-search { flex: 1 1 240px; min-width: 0; padding: 9px 14px !important; font-size: 13px; }
.szd-filter-bar select { padding: 9px 10px !important; font-size: 12.5px; color: var(--text-2) !important; max-width: 100%; }
.szd-fbtn { padding: 9px 20px !important; font-size: 13px !important; }
.szd-fclear {
  font-size: 12px; color: var(--muted) !important; text-decoration: none !important;
  padding: 8px 12px; border: 1px solid var(--line-2); border-radius: 7px;
}
.szd-fclear:hover { color: var(--text) !important; border-color: var(--muted); }
.szd-seg { display: flex; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.szd-seg label { margin: 0; cursor: pointer; }
.szd-seg input, .szd-color input, .szd-type input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.szd-seg span { display: block; font-size: 12px; padding: 7px 13px; color: var(--muted); white-space: nowrap; transition: background .15s, color .15s; }
.szd-seg label:hover span { color: var(--text); }
.szd-seg-stock input:checked + span { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.szd-seg-foil input:checked + span { background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber); }
.szd-seg input:focus-visible + span, .szd-color input:focus-visible + span, .szd-type input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: -2px; }
.szd-colors { display: flex; gap: 5px; align-items: center; }
.szd-color { margin: 0; cursor: pointer; display: block; }
.szd-color span {
  width: 30px; height: 30px; border-radius: 50%;
  border: 2px solid var(--line); display: flex; align-items: center; justify-content: center;
  background: var(--navy-deep);
  transition: transform .15s, border-color .15s;
}
.szd-color input:checked + span { border-color: var(--accent); transform: scale(1.12); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); }
.szd-color .ms { font-size: 19px; margin: 0; }
.szd-color .ms-cost.ms-multicolor { background: linear-gradient(135deg, #F8E7B9 0%, #E0C065 50%, #C99A2E 100%); color: #111; }
.szd-types { display: flex; flex-wrap: wrap; gap: 5px; }
.szd-type { margin: 0; cursor: pointer; }
.szd-type span {
  display: block; font-size: 11.5px; padding: 5px 11px; border-radius: 99px;
  border: 1px solid var(--line); color: var(--muted); white-space: nowrap; transition: all .15s;
}
.szd-type:hover span { color: var(--text); }
.szd-type input:checked + span { border-color: var(--cream); color: var(--cream); background: color-mix(in srgb, var(--cream) 10%, transparent); }
/* our Sort replaces the WooCommerce sort dropdown on these lists */
.szd-filter-bar ~ .storefront-sorting .woocommerce-ordering,
.szd-filter-bar + .woocommerce-notices-wrapper + .storefront-sorting .woocommerce-ordering { display: none; }
.szd-empty { padding: 40px 20px; text-align: center; color: var(--muted); background: var(--surface); border: 1px dashed var(--line); border-radius: 10px; }
@media (max-width: 767px) {
  .szd-filter-bar { padding: 10px; }
  .szd-filter-bar select { flex: 1 1 45%; }
  .szd-fbtn { flex: 1; }
}

/* ==========================================================
   16. PHONE HEADER ICONS (search · account · cart at the top)
   ========================================================== */
.szd-micons, .szd-msearch { display: none; }
.storefront-handheld-footer-bar { display: none !important; }
@media (max-width: 767px) {
  body { padding-bottom: 0 !important; }
  .site-header .site-branding { order: 1; flex: 1 1 0; min-width: 0; }
  .szd-micons { order: 2; display: flex; gap: 6px; margin-left: auto; flex-shrink: 0; }
  .site-header .main-navigation { order: 3; margin-left: 0 !important; }
  .szd-micon {
    position: relative;
    width: 36px; height: 36px; padding: 0 !important;
    display: flex; align-items: center; justify-content: center;
    background: transparent !important; color: var(--cream) !important;
    border: 1px solid color-mix(in srgb, var(--cream) 35%, transparent) !important; border-radius: 8px !important;
  }
  .szd-mcart-count {
    position: absolute; top: -6px; right: -6px;
    min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px;
    background: var(--accent); color: var(--on-accent); font-size: 10px; font-weight: 700; line-height: 17px; text-align: center;
  }
  .szd-mcart-count[hidden] { display: none; }
  /* menu button: icon only to save room */
  .site-header .main-navigation .menu-toggle { width: 38px; height: 36px; padding: 0 !important; font-size: 0 !important; color: transparent !important; }
  .site-header .main-navigation .menu-toggle::before, .site-header .main-navigation .menu-toggle::after,
  .site-header .main-navigation .menu-toggle span::before { left: 11px; }
  .site-header .site-title a { font-size: 14px; letter-spacing: .05em; gap: 8px; }
  .szd-msearch:not([hidden]) {
    order: 4; flex: 0 0 100%;
    display: flex; gap: 8px; padding: 0 0 12px;
  }
  .szd-msearch input[type=search] { flex: 1; min-width: 0; padding: 10px 12px !important; }
  .szd-msearch button { padding: 0 16px !important; font-size: 13px !important; }
  .site-header .col-full { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .site-header .site-title a span { display: none; }
}

/* phone menu: account button inside the big menu */
@media (max-width: 767px) {
  .site-header .main-navigation .handheld-navigation ul.menu li.szd-menu-account { padding: 12px 16px 4px; }
  .site-header .main-navigation .handheld-navigation ul.menu li.szd-menu-account a {
    background: var(--cream); color: var(--on-cream) !important; border: 0; border-radius: 8px;
    text-align: center; font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 11px 16px; opacity: 1 !important; margin: 0 !important;
  }
  .site-header .main-navigation .handheld-navigation ul.menu li.szd-menu-logout a {
    text-align: center; font-size: 13px; color: var(--muted); border: 0; padding: 8px 16px;
  }
}

/* ==========================================================
   17. SLIP UPLOAD BOX (thank-you page, under the PromptPay QR)
   ========================================================== */
.szd-slip {
  background: var(--navy);
  border: 2px solid var(--accent);
  border-radius: 14px;
  padding: 20px 22px;
  margin: 18px 0 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.szd-slip-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.szd-slip-step {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  background: var(--accent); color: var(--on-accent); font-weight: 800; display: flex; align-items: center; justify-content: center;
}
.szd-slip-title { font-size: 20px !important; margin: 0 0 2px !important; color: var(--text) !important; }
.szd-slip-sub { margin: 0; color: var(--text-2); font-size: 14px; }
.szd-slip form, .szd-slip table { margin: 0; border: 0 !important; }
.szd-slip table td, .szd-slip table th { border: 0 !important; padding: 6px 0 !important; background: transparent !important; }
.szd-slip input[type=file] {
  width: 100%; padding: 14px !important; border: 2px dashed var(--line) !important; border-radius: 10px !important;
  background: var(--navy-deep) !important; color: var(--text) !important; cursor: pointer;
}
.szd-slip input[type=file]::file-selector-button {
  background: var(--cream); color: var(--on-cream); border: 0; border-radius: 7px; padding: 8px 14px; margin-right: 12px; font-weight: 700; cursor: pointer;
}
.szd-slip button, .szd-slip input[type=submit] { margin-top: 8px; padding: 11px 22px !important; font-size: 15px !important; }
.szd-slip a { color: var(--cream); }
/* v1.8.1: no step number; long file names / text wrap inside the box on phones */
.szd-slip { min-width: 0; max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; word-break: break-word; }
.szd-slip-head { display: block; }
.szd-slip * { max-width: 100%; box-sizing: border-box; }
.szd-slip table, .szd-slip tbody, .szd-slip tr, .szd-slip td, .szd-slip th { display: block; width: 100% !important; }
.szd-slip a, .szd-slip span, .szd-slip label { overflow-wrap: anywhere; word-break: break-all; }
.szd-slip img { flex-shrink: 0; max-width: 72px; height: auto; }
.szd-slip [class*="alg_checkout_files_upload_result"], .szd-slip [id*="alg_checkout_files_upload_result"] {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-width: 0;
}
@media (max-width: 767px) {
  .szd-slip { padding: 16px 14px; }
  .szd-slip-title { font-size: 18px !important; }
  .szd-slip-sub { font-size: 13.5px; }
  .szd-slip img { max-width: 56px; }
}

/* ==========================================================
   18. FIXES FOR THE LIVE SITE'S OWN SNIPPETS / PLUGINS
   ========================================================== */
/* quantity dropdown next to "Add to cart" in product grids (loop-cart-row snippet) */
ul.products li.product .loop-cart-row {
  display: flex; gap: 6px; align-items: stretch; margin: 0 14px; flex-wrap: wrap;
}
ul.products li.product .loop-cart-row .loop-sel {
  flex: 0 0 58px; width: 58px; min-width: 0; padding: 0 6px !important; height: auto; min-height: 38px;
  font-size: 13px; text-align: center; border-radius: 7px !important;
}
ul.products li.product .loop-cart-row .button {
  flex: 1 1 0; min-width: 0; margin: 0 !important; padding: 9px 8px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  display: flex !important; align-items: center; justify-content: center; text-align: center;
}
ul.products li.product .loop-cart-row .added_to_cart { flex: 0 0 100%; margin: 4px 0 0 !important; padding: 0 !important; text-align: center; }
ul.products li.product.outofstock .loop-cart-row .loop-sel { display: none; }
@media (max-width: 767px) {
  ul.products li.product .loop-cart-row { margin: 0 10px; }
  ul.products li.product .loop-cart-row .loop-sel { flex-basis: 44px; width: 44px; padding: 0 2px !important; }
  ul.products li.product .loop-cart-row .button { white-space: normal; line-height: 1.2; font-size: 11.5px !important; padding: 8px 4px !important; }
}
/* old mobile "Filter" drawer snippet + BeRocket widgets: replaced by the filter bar */
.mobile-filter-open-btn, .mobile-filter-drawer, .mobile-filter-overlay,
.berocket_single_filter_widget, .bapf_sfilter { display: none !important; }
/* "20 products per page" selector */
.storefront-sorting .products-per-page { float: right !important; margin: 0 0 0 8px !important; }
.storefront-sorting .wppp-select { padding: 7px 10px !important; font-size: 12.5px; }
.storefront-sorting { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.storefront-sorting .woocommerce-result-count { margin: 0 auto 0 0; }
.storefront-sorting .woocommerce-pagination { margin: 0; padding: 0; }
/* the filter bar has its own sort, hide WooCommerce's */
.szd-filter-bar ~ .storefront-sorting .woocommerce-ordering { display: none !important; }

/* ==========================================================
   19. LOGIN / REGISTER (Warp Gate style card)
   ========================================================== */
.szd-auth-page .hentry .entry-header, .szd-auth-page .storefront-breadcrumb { display: none; }
.szd-auth-page .site-content { padding-top: 40px; }
.szd-auth {
  max-width: 440px; margin: 0 auto 40px; box-sizing: border-box;
  background: var(--navy); border: 1px solid var(--line); border-radius: 14px;
  padding: 32px 34px; box-shadow: 0 24px 64px rgba(0,0,0,.28);
}
.szd-auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.szd-auth-brand img { width: 38px; height: 38px; border-radius: 8px; background: #fff; margin: 0; }
.szd-auth-brand span { font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: .1em; text-transform: uppercase; color: var(--cream); }
.szd-auth-tabs { display: flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 22px; }
.szd-auth-tabs button {
  flex: 1; background: transparent !important; color: var(--muted) !important; border: 0 !important; border-radius: 0 !important;
  padding: 10px 0 !important; font-size: 13.5px !important; font-weight: 700 !important; letter-spacing: .04em;
}
.szd-auth-tabs button[aria-selected="true"] { background: var(--line) !important; color: var(--cream) !important; }
.szd-auth form { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.szd-auth .form-row { margin: 0 0 14px !important; padding: 0 !important; }
.szd-auth label { display: block; font-size: 12px; color: var(--muted) !important; letter-spacing: .04em; margin-bottom: 5px; }
.szd-auth .required { color: var(--accent); }
.szd-auth .input-text { width: 100%; padding: 11px 13px !important; font-size: 14px; }
.szd-auth .password-input { display: block; position: relative; }
.szd-auth .show-password-input { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: transparent !important; color: var(--muted) !important; padding: 6px !important; }
.szd-auth-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 2px 0 18px; font-size: 12.5px; }
.szd-auth-row label { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 12.5px; }
.szd-auth-forgot { color: var(--muted) !important; text-decoration: none; }
.szd-auth-forgot:hover { color: var(--cream) !important; }
.szd-auth-submit { width: 100%; padding: 12px !important; font-size: 15px !important; letter-spacing: .06em; }
.szd-auth-switch { text-align: center; font-size: 13px; color: var(--muted); margin: 16px 0 0; }
.szd-auth-switch button { background: transparent !important; color: var(--cream) !important; padding: 0 !important; font-size: 13px !important; font-weight: 700 !important; text-decoration: underline; }
.szd-auth-note, .szd-auth .woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--muted); line-height: 1.6; }
.szd-auth .woocommerce-privacy-policy-text a { color: var(--cream); }
.szd-auth-page .woocommerce-notices-wrapper, .szd-auth-page .woocommerce-error, .szd-auth-page .woocommerce-message { max-width: 440px; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 600px) { .szd-auth { padding: 24px 20px; border-radius: 12px; } .szd-auth-page .site-content { padding-top: 16px; } }

/* ==========================================================
   20. v1.6 — account icon, game tiles, Riftbound domains,
       rounded card corners, tablet width
   ========================================================== */
/* account: icon button like the cart (desktop) */
.szd-account {
  width: 38px; height: 38px; padding: 0 !important; display: flex !important; align-items: center; justify-content: center;
  background: transparent !important; color: var(--cream) !important;
  border: 1px solid color-mix(in srgb, var(--cream) 35%, transparent); border-radius: 8px;
}
.szd-account:hover { background: color-mix(in srgb, var(--cream) 12%, transparent) !important; }

/* Riftbound domain chips */
.szd-colors-domain { flex-wrap: wrap; gap: 5px; }
.szd-domain {
  display: flex; align-items: center; gap: 6px; font-size: 11.5px; padding: 5px 11px 5px 7px; border-radius: 99px;
  border: 1px solid var(--line); color: var(--text-2); white-space: nowrap; transition: all .15s;
}
.szd-domain i { width: 14px; height: 14px; border-radius: 50%; display: block; box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
.szd-color:hover .szd-domain { color: var(--text); }
.szd-color input:checked + .szd-domain { border-color: var(--accent); color: var(--text); background: color-mix(in srgb, var(--accent) 14%, transparent); }
.szd-colors-domain .szd-color input:checked + span { transform: none; box-shadow: none; }
.szd-mana { font-size: 12px; font-weight: 700; color: var(--text); }

/* card images: rounded like a real card, hides white corners on scans */
/* v1.7: image frame lives on .szd-thumb, the picture itself is rounded in .szd-art */
ul.products li.product .szd-thumb {
  display: block; background: var(--surface); padding: 12px; margin: 0 0 12px;
  border-bottom: 1px solid var(--line);
}
ul.products li.product .szd-art {
  display: block; position: relative; overflow: hidden; isolation: isolate;
  border-radius: 4.8% / 3.4%;               /* a real card: 3 mm corners on 63 × 88 mm */
}
ul.products li.product .szd-thumb img,
ul.products li.product .szd-thumb .wp-post-image {
  display: block; margin: 0 !important; padding: 0 !important; border: 0 !important;
  width: 100%; height: auto !important; background: transparent;
  aspect-ratio: 63 / 88; object-fit: cover; object-position: center;
  border-radius: 0 !important; clip-path: none !important;
}
/* accessories / sealed products: square box, the photo keeps its own ratio (4:3, 3:4, 1:1…) */
ul.products li.product.szd-goods .szd-art {
  border-radius: 10px; aspect-ratio: 1 / 1; background: color-mix(in srgb, var(--navy-deep) 55%, transparent);
  display: flex; align-items: center; justify-content: center;
}
ul.products li.product.szd-goods .szd-thumb img,
ul.products li.product.szd-goods .szd-thumb .wp-post-image {
  aspect-ratio: auto; width: auto; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px !important;
}
@media (max-width: 767px) {
  ul.products li.product .szd-thumb { padding: 8px; }
}
.single-product div.product .woocommerce-product-gallery img { border-radius: 4.6% / 3.3%; }
.szd-tile-art img, .szd-slide-art.is-fan img { border-radius: 4.6% / 3.3% !important; }

/* ---------- FOIL (animated rainbow + sparkles) ---------- */
.szd-foil-fx {
  position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit; overflow: hidden;
  /* rainbow band that keeps flowing across the card */
  background: linear-gradient(125deg,
    #ff2d6f 0%, #ff9a2d 8%, #fff23d 16%, #3dff9a 24%, #2dc8ff 32%, #8a5bff 40%, #ff3dd2 48%,
    #ff2d6f 50%, #ff9a2d 58%, #fff23d 66%, #3dff9a 74%, #2dc8ff 82%, #8a5bff 90%, #ff3dd2 98%) 0 0 / 300% 300%;
  mix-blend-mode: color-dodge; opacity: .21;
  animation: szd-foil-flow 5s linear infinite, szd-foil-pulse 2.6s ease-in-out infinite alternate;
}
.szd-foil-fx::before { /* twinkling sparkles */
  content: ""; position: absolute; inset: 0; mix-blend-mode: screen;
  background:
    radial-gradient(circle at 18% 22%, #fff 0 1.2px, transparent 2.6px),
    radial-gradient(circle at 72% 14%, #fff 0 1.6px, transparent 3.2px),
    radial-gradient(circle at 44% 48%, #fff 0 1px, transparent 2.4px),
    radial-gradient(circle at 84% 58%, #fff 0 1.4px, transparent 3px),
    radial-gradient(circle at 26% 74%, #fff 0 1.6px, transparent 3.2px),
    radial-gradient(circle at 62% 86%, #fff 0 1.1px, transparent 2.6px),
    radial-gradient(circle at 10% 50%, #fff 0 1px, transparent 2.2px),
    radial-gradient(circle at 90% 88%, #fff 0 1.2px, transparent 2.6px);
  animation: szd-foil-twinkle 1.8s ease-in-out infinite alternate;
}
.szd-foil-fx::after { /* light glint sweeping over */
  content: ""; position: absolute; inset: -40%; mix-blend-mode: overlay;
  background: linear-gradient(115deg, transparent 42%, rgba(255,255,255,.55) 50%, transparent 58%);
  animation: szd-foil-glint 3.2s ease-in-out infinite;
}
@keyframes szd-foil-flow    { to { background-position: 300% 300%; } }
@keyframes szd-foil-pulse   { from { opacity: .13; } to { opacity: .29; } }
@keyframes szd-foil-twinkle { 0% { opacity: .15; transform: scale(1); } 50% { opacity: 1; } 100% { opacity: .35; transform: scale(1.03) rotate(.6deg); } }
@keyframes szd-foil-glint   { 0% { transform: translate(-45%, -45%); } 55%, 100% { transform: translate(45%, 45%); } }
li.product.szd-foil:hover .szd-foil-fx { animation-duration: 2.5s, 1.3s; }

.szd-foil-tag {
  position: absolute; z-index: 2; top: 2.5%; right: 3%; pointer-events: none;
  padding: 3px 9px; border-radius: 99px;
  font: 800 11px/1.2 var(--font-display); letter-spacing: .14em; color: #1A1033;
  background: linear-gradient(110deg, #ffc2e2, #fff3a6 20%, #b8ffdf 40%, #bfe3ff 60%, #e0c9ff 80%, #ffc2e2) 0 0 / 200% 100%;
  animation: szd-foil-tag 3s linear infinite;
  box-shadow: 0 2px 8px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.75);
}
@keyframes szd-foil-tag { to { background-position: -200% 0; } }
@media (max-width: 767px) { .szd-foil-tag { font-size: 9.5px; padding: 2px 7px; } }
.single-product .woocommerce-product-gallery__image { position: relative; }
.single-product .woocommerce-product-gallery__image .szd-foil-fx { border-radius: 4.6% / 3.3%; }
.single-product .woocommerce-product-gallery__image .szd-foil-tag { font-size: 14px; padding: 5px 14px; top: 3%; right: 4%; }
@media (prefers-reduced-motion: reduce) {
  .szd-foil-fx, .szd-foil-fx::before, .szd-foil-fx::after, .szd-foil-tag { animation: none; }
}

/* Shop by Game tiles */
.szd-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.szd-tile {
  position: relative; overflow: hidden; min-height: 210px; display: flex; text-decoration: none !important;
  background: linear-gradient(135deg, var(--navy) 0%, color-mix(in srgb, var(--navy) 75%, var(--accent)) 100%);
  border: 1px solid var(--line); border-radius: 14px; padding: 18px; box-sizing: border-box;
  transition: transform .18s, border-color .18s;
}
.szd-tile:nth-child(2) { background: linear-gradient(135deg, var(--navy) 0%, color-mix(in srgb, var(--navy) 72%, #9A4FC8) 100%); }
.szd-tile:nth-child(3) { background: linear-gradient(135deg, var(--navy) 0%, color-mix(in srgb, var(--navy) 75%, var(--cream)) 100%); }
.szd-tile:nth-child(4) { background: linear-gradient(135deg, var(--navy) 0%, color-mix(in srgb, var(--navy) 75%, #2F7FD8) 100%); }
.szd-tile:hover { transform: translateY(-3px); border-color: var(--cream); }
.szd-tile-text { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 4px; max-width: 58%; }
.szd-tile-name { font-family: var(--font-display); font-weight: 800; font-size: 19px; line-height: 1.2; color: var(--text); }
.szd-tile-desc { font-size: 12.5px; color: var(--text-2); }
.szd-tile-count { font-size: 11.5px; color: var(--cream); margin-top: 4px; }
.szd-tile-go { margin-top: auto; padding-top: 14px; font-size: 13px; font-weight: 700; color: var(--accent); }
.szd-tile-art { position: absolute; right: -6px; bottom: -14px; width: 46%; height: 88%; }
.szd-tile-art img {
  position: absolute; width: 62% !important; height: auto !important; bottom: 0; right: 0; margin: 0 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.4); transition: transform .25s; object-fit: cover;
}
.szd-tile-art img:nth-child(1) { transform: rotate(-14deg) translate(-62%, 6%); }
.szd-tile-art img:nth-child(2) { transform: rotate(-3deg) translate(-28%, -4%); z-index: 1; }
.szd-tile-art img:nth-child(3) { transform: rotate(9deg) translate(6%, 2%); z-index: 2; }
.szd-tile:hover .szd-tile-art img:nth-child(3) { transform: rotate(12deg) translate(8%, -4%); }
@media (max-width: 1100px) { .szd-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .szd-tiles { grid-template-columns: minmax(0, 1fr); } .szd-tile { min-height: 170px; } }

/* tablet: use the full width (smaller side gutters, bigger products) */
@media (min-width: 768px) and (max-width: 1279px) {
  .col-full, .site-header .col-full { padding-left: 20px !important; padding-right: 20px !important; }
  .szd-home > .szd-section { padding-left: 20px; padding-right: 20px; }
  .szd-slide { padding: 32px 64px; }
  ul.products, .site-main ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px; }
  .site-header .main-navigation ul.menu > li > a { margin: 0 9px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  ul.products, .site-main ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* Riftbound domain chips are pills, not the round mana buttons */
.szd-color .szd-domain {
  width: auto; height: auto; border-radius: 99px; background: transparent; border: 1px solid var(--line);
  font-family: var(--font-body); font-weight: 500; font-size: 11.5px; color: var(--text-2);
}
.szd-color input:checked + .szd-domain { border-color: var(--accent); transform: none; box-shadow: none; }

/* tablet header: icons + menu button (like phones) so the menu never wraps */
@media (min-width: 768px) and (max-width: 1099px) {
  .site-header .col-full { flex-wrap: nowrap; gap: 12px; position: relative; min-height: 62px; }
  .site-header .site-branding { order: 1; flex: 1 1 0; min-width: 0; }
  .szd-micons { order: 2; display: flex; gap: 8px; margin-left: auto; flex-shrink: 0; }
  .site-header .site-header-cart, .site-header .szd-account { display: none !important; }
  .site-header .main-navigation { order: 3; flex: 0 0 auto; margin: 0 !important; position: static; justify-content: flex-end; }
  .site-header .main-navigation .primary-navigation { display: none !important; }
  .site-header .main-navigation .menu-toggle {
    display: block !important; float: none; margin: 0; position: relative;
    width: 40px; height: 38px; padding: 0 !important; font-size: 0 !important; color: transparent !important;
    background: transparent !important; border: 1px solid color-mix(in srgb, var(--cream) 35%, transparent) !important; border-radius: 8px !important;
  }
  .site-header .main-navigation .menu-toggle::before, .site-header .main-navigation .menu-toggle::after,
  .site-header .main-navigation .menu-toggle span::before { background-color: var(--cream) !important; left: 12px; }
  .site-header .main-navigation .handheld-navigation { display: none; }
  .site-header .main-navigation.toggled .handheld-navigation {
    display: block !important; position: absolute; left: 0; right: 0; top: 100%; z-index: 200; max-height: none;
    background: var(--navy) !important; border-bottom: 1px solid var(--line); padding: 6px 0 12px; box-shadow: 0 14px 30px rgba(0,0,0,.45);
  }
  .site-header .main-navigation .handheld-navigation ul.menu { max-height: none; overflow: visible; }
  .site-header .main-navigation .handheld-navigation ul.menu > li { display: block; }
  .site-header .main-navigation .handheld-navigation ul.menu li a {
    display: block; color: var(--cream); opacity: .85; font-size: 17px; font-weight: 600; padding: 12px 24px !important; margin: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .site-header .main-navigation .handheld-navigation ul.menu li.szd-menu-account { padding: 12px 20px 4px; }
  .site-header .main-navigation .handheld-navigation ul.menu li.szd-menu-account a {
    background: var(--cream); color: var(--on-cream) !important; border-radius: 8px; text-align: center; opacity: 1; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  }
  .site-header .main-navigation .handheld-navigation ul.menu li.szd-menu-logout a { text-align: center; font-size: 13px; color: var(--muted); border: 0; }
  .szd-micon {
    position: relative; width: 38px; height: 38px; padding: 0 !important; display: flex; align-items: center; justify-content: center;
    background: transparent !important; color: var(--cream) !important;
    border: 1px solid color-mix(in srgb, var(--cream) 35%, transparent) !important; border-radius: 8px !important;
  }
  .szd-mcart-count {
    position: absolute; top: -6px; right: -6px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px;
    background: var(--accent); color: var(--on-accent); font-size: 10px; font-weight: 700; line-height: 17px; text-align: center;
  }
  .szd-mcart-count[hidden] { display: none; }
  .site-header .col-full { flex-wrap: wrap; }
  .szd-msearch:not([hidden]) { order: 4; flex: 0 0 100%; display: flex; gap: 8px; padding: 0 0 12px; }
  .szd-msearch input[type=search] { flex: 1; min-width: 0; padding: 10px 12px !important; }
  .szd-msearch button { padding: 0 18px !important; font-size: 13px !important; }
}
@media (max-width: 767px) { .site-header .szd-account { display: none !important; } }

/* ==========================================================
   21. MY ACCOUNT v1.9 — dashboard, order cards, menu
   ========================================================== */
.szd-account-in .entry-header .entry-title, .szd-account-in h1.entry-title {
  text-align: left; font-size: 28px !important; margin-bottom: 18px !important;
}
.szd-account-in .woocommerce-MyAccount-content {
  background: transparent !important; border: 0 !important; padding: 0 !important;
}
.szd-account-in .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty { display: none; }

/* menu: icon + label, cream bar on the active item */
.szd-account-in .woocommerce-MyAccount-navigation ul { padding: 8px; }
.szd-account-in .woocommerce-MyAccount-navigation ul li a {
  display: flex; align-items: center; gap: 10px; padding: 11px 14px; font-size: 14.5px; position: relative;
}
.szd-account-in .woocommerce-MyAccount-navigation ul li a::before { order: -1; width: 18px; text-align: center; margin: 0 !important; float: none !important; }
.szd-account-in .woocommerce-MyAccount-navigation ul li.is-active a { background: color-mix(in srgb, var(--cream) 10%, transparent); }
.szd-account-in .woocommerce-MyAccount-navigation ul li.is-active a::after {
  content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 3px; border-radius: 3px; background: var(--cream);
}
.szd-account-in .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; border-top: 1px solid var(--line) !important; padding-top: 6px; }
.szd-account-in .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--muted) !important; }

/* greeting */
.szd-hello {
  display: flex; align-items: center; gap: 16px; padding: 20px 22px; margin-bottom: 14px;
  border-radius: 16px; border: 1px solid var(--line);
  background: radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 55%), var(--navy);
}
.szd-avatar {
  flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center;
  background: var(--cream); color: var(--on-cream); font: 800 22px/1 var(--font-display);
}
.szd-hello-text { flex: 1 1 auto; min-width: 0; }
.szd-hello-hi { margin: 0; font-size: 20px; color: var(--text); }
.szd-hello-hi strong { color: var(--cream); }
.szd-hello-sub { margin: 2px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.szd-dot { margin: 0 6px; }
.szd-hello-out { flex: 0 0 auto; font-size: 13px; color: var(--muted) !important; text-decoration: none !important; border: 1px solid var(--line); padding: 7px 12px; border-radius: 8px; }
.szd-hello-out:hover { color: var(--text) !important; border-color: var(--muted); }

/* counters */
.szd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.szd-stat {
  display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 12px; text-decoration: none !important;
  background: var(--navy); border: 1px solid var(--line); color: var(--muted) !important; font-size: 12.5px; line-height: 1.35;
  transition: border-color .15s, transform .15s;
}
.szd-stat:hover { border-color: var(--muted); transform: translateY(-1px); }
.szd-stat b { font: 800 26px/1.1 var(--font-display); color: var(--text); }
.szd-stat.is-warn b { color: var(--amber); }
.szd-stat.is-info b { color: #8CC8FF; }
.szd-stat.is-ok b { color: var(--ok); }

/* alert */
.szd-alert {
  display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; margin-bottom: 18px; border-radius: 12px;
  background: color-mix(in srgb, var(--amber) 12%, var(--navy)); border: 1px solid color-mix(in srgb, var(--amber) 45%, transparent); color: var(--text-2);
}
.szd-alert p { margin: 0; font-size: 14px; }
.szd-alert strong { color: var(--amber); }
.szd-alert-ico { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--amber); color: #1a1205; font-weight: 800; font-size: 13px; }

.szd-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 6px 0 10px; }
.szd-section-head h2 { margin: 0 !important; font-size: 18px !important; color: var(--text) !important; }
.szd-section-head a { font-size: 13px; color: var(--cream); text-decoration: none; }

/* order cards */
.szd-orders { display: grid; gap: 12px; margin-bottom: 18px; }
.szd-order {
  background: var(--navy); border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  border-left: 4px solid var(--line);
}
.szd-order.is-pay  { border-left-color: var(--amber); }
.szd-order.is-wait { border-left-color: #8CC8FF; }
.szd-order.is-info { border-left-color: #8CC8FF; }
.szd-order.is-ok   { border-left-color: var(--ok); }
.szd-order.is-off  { border-left-color: var(--disabled-bg); opacity: .85; }
.szd-order-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px 0; }
.szd-order-no { font: 800 17px/1.2 var(--font-display); color: var(--text) !important; text-decoration: none !important; letter-spacing: .02em; }
.szd-order-no:hover { color: var(--cream) !important; }
.szd-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 99px; font-size: 12.5px; font-weight: 700; white-space: nowrap;
  background: color-mix(in srgb, var(--muted) 16%, transparent); color: var(--text-2);
}
.szd-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.szd-pill.is-pay  { background: color-mix(in srgb, var(--amber) 18%, transparent); color: var(--amber); }
.szd-pill.is-wait, .szd-pill.is-info { background: rgba(140,200,255,.15); color: #A9D6FF; }
.szd-pill.is-ok   { background: color-mix(in srgb, var(--ok) 15%, transparent); color: var(--ok); }
.szd-pill.is-off  { color: var(--disabled-fg); }

.szd-order-body { display: flex; align-items: center; gap: 18px; padding: 12px 18px 14px; flex-wrap: wrap; }
.szd-order-thumbs { display: flex; flex: 0 0 auto; }
.szd-ot {
  width: 44px; height: 60px; border-radius: 6px; overflow: hidden; background: var(--surface); border: 2px solid var(--navy);
  display: grid; place-items: center; margin-left: -12px; box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.szd-ot:first-child { margin-left: 0; }
.szd-ot img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; margin: 0 !important; }
.szd-ot-more { font-size: 12px; font-weight: 700; color: var(--text-2); }
.szd-order-meta { display: flex; flex-wrap: wrap; gap: 6px 26px; margin: 0; flex: 1 1 260px; min-width: 0; }
.szd-order-meta > div { min-width: 0; }
.szd-order-meta dt { margin: 0; font-size: 12px; font-weight: 500; color: var(--muted); }
.szd-order-meta dd { margin: 0; font-size: 14.5px; color: var(--text-2); }
.szd-order-total dd, .szd-order-total dd .amount { color: var(--cream); font-weight: 800; font-size: 16px; }

.szd-order-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 35%, transparent); }
.szd-order-actions .szd-act {
  margin: 0 !important; padding: 9px 16px !important; font-size: 13.5px !important; border-radius: 9px !important; line-height: 1.2;
  text-align: center; white-space: nowrap;
}
.szd-order-actions .szd-act.is-primary { background: var(--accent) !important; color: var(--on-accent) !important; border: 1px solid var(--accent) !important; }
.szd-order-actions .szd-act.is-ghost { background: transparent !important; color: var(--text) !important; border: 1px solid var(--line) !important; }
.szd-order-actions .szd-act.is-ghost:hover { border-color: var(--muted) !important; }
.szd-order-actions .szd-act.is-danger { background: transparent !important; color: var(--bad) !important; border: 1px solid transparent !important; margin-left: auto !important; }
.szd-order-actions .szd-act.is-danger:hover { border-color: color-mix(in srgb, var(--bad) 40%, transparent) !important; }

/* shortcuts + empty state */
.szd-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.szd-shortcuts a {
  display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center;
  padding: 14px; border-radius: 12px; background: var(--navy); border: 1px solid var(--line); text-decoration: none !important;
}
.szd-shortcuts a:hover { border-color: var(--muted); }
.szd-sc-ico { grid-row: 1 / 3; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: color-mix(in srgb, var(--cream) 14%, transparent); color: var(--cream); font-size: 17px; }
.szd-shortcuts b { color: var(--text); font-size: 14px; }
.szd-shortcuts small { color: var(--muted); font-size: 12px; }
.szd-empty { text-align: center; padding: 34px 20px; border-radius: 14px; border: 1px dashed var(--line); background: var(--navy); margin-bottom: 18px; }
.szd-empty-title { margin: 0 0 4px; font-size: 18px; color: var(--text); font-weight: 700; }
.szd-empty-sub { margin: 0 0 14px; color: var(--muted); font-size: 14px; }
.szd-orders-pager { display: flex; justify-content: space-between; gap: 10px; }

/* phones: menu becomes a swipeable pill bar, everything stacks */
@media (max-width: 767px) {
  .szd-account-in .entry-header .entry-title, .szd-account-in h1.entry-title { font-size: 24px !important; margin-bottom: 12px !important; }
  .szd-account-in .woocommerce-MyAccount-navigation { margin-bottom: 14px; }
  .szd-account-in .woocommerce-MyAccount-navigation ul {
    display: flex; gap: 6px; overflow-x: auto; padding: 0; background: transparent; border: 0; scrollbar-width: none;
    margin: 0 -16px; padding: 0 16px 2px;
  }
  .szd-account-in .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .szd-account-in .woocommerce-MyAccount-navigation ul li { flex: 0 0 auto; }
  .szd-account-in .woocommerce-MyAccount-navigation ul li a {
    padding: 8px 14px; border-radius: 99px; border: 1px solid var(--line); background: var(--navy); font-size: 13.5px; white-space: nowrap; gap: 7px;
  }
  .szd-account-in .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--cream); color: var(--on-cream) !important; border-color: var(--cream); }
  .szd-account-in .woocommerce-MyAccount-navigation ul li.is-active a::before { color: var(--on-cream); }
  .szd-account-in .woocommerce-MyAccount-navigation ul li.is-active a::after { display: none; }
  .szd-account-in .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; border: 0 !important; padding: 0 !important; }

  .szd-hello { padding: 16px; gap: 12px; flex-wrap: wrap; }
  .szd-avatar { width: 46px; height: 46px; font-size: 19px; }
  .szd-hello-hi { font-size: 18px; }
  .szd-hello-out { display: none; }
  .szd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .szd-stat { padding: 12px 14px; }
  .szd-stat b { font-size: 22px; }
  .szd-shortcuts { grid-template-columns: 1fr; }

  .szd-order-head { padding: 12px 14px 0; }
  .szd-order-body { padding: 10px 14px 12px; gap: 12px; }
  .szd-order-meta { flex-basis: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
  .szd-order-total { grid-column: 1 / -1; }
  .szd-order-actions { padding: 12px 14px; display: grid; grid-template-columns: 1fr 1fr; }
  .szd-order-actions .szd-act { width: 100%; padding: 11px 10px !important; }
  .szd-order-actions .szd-act.is-primary:first-child { grid-column: 1 / -1; }
  .szd-order-actions .szd-act.is-danger { margin-left: 0 !important; border-color: color-mix(in srgb, var(--bad) 35%, transparent) !important; }
}
/* v1.9 polish */
.szd-account-in .hentry .entry-header { padding-bottom: 0 !important; margin-bottom: 0 !important; border: 0 !important; }
.szd-account-in .woocommerce-MyAccount-navigation ul li a { padding-left: 16px; }
.szd-account-in .woocommerce-MyAccount-content .woocommerce-info,
.szd-account-in .woocommerce-MyAccount-content .woocommerce-message {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 14px 16px 14px 44px !important; border-radius: 12px;
  overflow-wrap: normal; word-break: normal;
}
.szd-account-in .woocommerce-MyAccount-content .woocommerce-info .button,
.szd-account-in .woocommerce-MyAccount-content .woocommerce-message .button {
  float: none !important; order: 2; margin: 0 !important;
}
@media (max-width: 767px) {
  .szd-order-actions .szd-act:only-child,
  .szd-order-actions .szd-act.is-ghost:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .szd-account-in .woocommerce-MyAccount-content .woocommerce-info .button,
  .szd-account-in .woocommerce-MyAccount-content .woocommerce-message .button { width: 100%; text-align: center; }
}

/* ==========================================================
   22. PAY FOR ORDER (account → order → "Pay") v1.9.1
   ========================================================== */
.woocommerce-order-pay form#order_review.szd-pay {
  max-width: 760px; margin: 0 auto; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important;
  display: grid; gap: 14px;
}
.szd-pay-card { background: var(--navy); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; min-width: 0; }
.szd-pay-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.szd-pay-no { font: 800 18px/1.2 var(--font-display); color: var(--text); }
.szd-pay-items { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.szd-pay-item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.szd-pay-thumb { width: 44px; height: 60px; border-radius: 6px; overflow: hidden; background: var(--surface); display: block; }
.szd-pay-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; display: block; }
.szd-pay-info { min-width: 0; color: var(--text); font-size: 14.5px; line-height: 1.4; overflow-wrap: anywhere; }
.szd-pay-info .wc-item-meta { margin: 2px 0 0; font-size: 12.5px; color: var(--muted); list-style: none; padding: 0; }
.szd-pay-qty { display: block; margin-top: 2px; }
.szd-pay-qty strong { font-weight: 500; color: var(--muted); font-size: 13px; }
.szd-pay-price { color: var(--text); font-weight: 600; white-space: nowrap; font-size: 14.5px; }
.szd-pay-totals { margin: 12px 0 0; display: grid; gap: 8px; }
.szd-pay-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.szd-pay-row dt { margin: 0; color: var(--muted); font-weight: 500; font-size: 14px; flex: 0 0 auto; }
.szd-pay-row dd { margin: 0; color: var(--text-2); text-align: right; font-size: 14px; min-width: 0; overflow-wrap: anywhere; }
.szd-pay-row--order_total { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--line); }
.szd-pay-row--order_total dt { color: var(--text); font-weight: 700; font-size: 15px; }
.szd-pay-row--order_total dd, .szd-pay-row--order_total dd .amount { color: var(--cream); font: 800 22px/1.2 var(--font-display); }

.woocommerce-order-pay #payment.szd-pay-payment { background: var(--navy) !important; border-radius: 14px; }
.szd-pay-title { font-size: 16px !important; margin: 0 0 10px !important; color: var(--text) !important; }
.szd-pay-payment ul.payment_methods { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.szd-pay-payment ul.payment_methods li { list-style: none; background: var(--navy-deep) !important; border: 1px solid var(--line) !important; border-radius: 10px; padding: 12px 14px !important; margin: 0 0 8px !important; }
.szd-pay-payment ul.payment_methods li label { color: var(--text) !important; font-weight: 600; }
.szd-pay-payment .payment_box { background: transparent !important; color: var(--text-2) !important; padding: 8px 0 0 !important; margin: 0 !important; font-size: 14px; }
.szd-pay-payment .payment_box::before { display: none !important; }
.szd-pay-payment .form-row { padding: 0 !important; margin: 0 !important; background: transparent !important; }
.szd-pay-payment .woocommerce-privacy-policy-text, .szd-pay-payment .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--muted); }
.szd-pay-payment .woocommerce-privacy-policy-text p { margin: 0 0 12px; }
.szd-pay-payment #place_order { width: 100%; float: none !important; padding: 14px 18px !important; font-size: 16px !important; border-radius: 10px !important; }
@media (max-width: 767px) {
  .szd-pay-card { padding: 14px; }
  .szd-pay-item { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; }
  .szd-pay-thumb { width: 38px; height: 52px; }
}
/* v1.9.2: Home product rows — 6 items; on 4-column screens show 4 so the row is full */
@media (min-width: 1024px) and (max-width: 1279px) {
  .szd-section ul.products li.product:nth-child(n+5) { display: none !important; }
}
/* v1.9.4: single product foil sits exactly on the card picture */
.single-product .woocommerce-product-gallery__image.szd-has-foil > a,
.single-product .woocommerce-product-gallery__image > a:has(.szd-foil-fx) {
  position: relative; display: block; width: fit-content; max-width: 100%; margin: 0 auto;
  border-radius: 4.6% / 3.3%; overflow: hidden; isolation: isolate; line-height: 0;
}
.single-product .woocommerce-product-gallery__image > a:has(.szd-foil-fx) img { display: block; margin: 0 !important; }
.single-product .woocommerce-product-gallery__image > a .szd-foil-fx { border-radius: inherit; }
.single-product .woocommerce-product-gallery__image > a .szd-foil-tag { line-height: 1.2; }

/* ==========================================================
   23. CARD DETAILS PANEL (single product) v1.10
   ========================================================== */
.szd-cd { margin: 22px 0 8px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--navy); max-width: 560px; }
.szd-cd-title { font-size: 13px !important; letter-spacing: .12em; text-transform: uppercase; color: var(--muted) !important; margin: 0 0 10px !important; font-weight: 700 !important; }
.szd-cd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; margin: 0; }
.szd-cd-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid color-mix(in srgb, var(--line) 55%, transparent); min-width: 0; }
.szd-cd-row dt { margin: 0; color: var(--muted); font-size: 13px; font-weight: 500; flex: 0 0 auto; }
.szd-cd-row dd { margin: 0; color: var(--text); font-size: 14px; font-weight: 600; text-align: right; min-width: 0; overflow-wrap: anywhere; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 10px; align-items: center; }
.szd-cd-row dd a { color: var(--cream); text-decoration: none; }
.szd-cd-row dd a:hover { text-decoration: underline; }
.szd-cd-row:nth-child(1) { grid-column: 1 / -1; }
.szd-cd-code { font-size: 11.5px; font-weight: 700; color: var(--muted); border: 1px solid var(--line); border-radius: 5px; padding: 1px 6px; letter-spacing: .04em; }
.szd-rar { display: inline-flex; align-items: center; gap: 7px; }
.szd-rar i { width: 9px; height: 9px; border-radius: 50%; background: #C9CDD6; box-shadow: 0 0 0 2px rgba(255,255,255,.08); }
.szd-rar-uncommon i { background: #A9C7D8; }
.szd-rar-rare i { background: #E5C46B; }
.szd-rar-mythic i { background: #F07A3A; }
.szd-rar-epic i { background: #B07CF0; }
.szd-rar-token i, .szd-rar-basic-land i { background: #8C93A1; }
.szd-cd-color { display: inline-flex; align-items: center; gap: 6px; }
.szd-cd-color .ms { font-size: 15px; }
.szd-cd-dom { width: 13px; height: 13px; border-radius: 50%; display: inline-block; box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
.szd-cd-foil {
  padding: 2px 10px; border-radius: 99px; color: #1A1033; font-weight: 800; font-size: 12px; letter-spacing: .08em;
  background: linear-gradient(110deg, #ffc2e2, #fff3a6 20%, #b8ffdf 40%, #bfe3ff 60%, #e0c9ff 80%, #ffc2e2) 0 0 / 200% 100%;
  animation: szd-foil-tag 3s linear infinite;
}
/* phones: keep the 2-column layout, label on top of value (small tiles) */
@media (max-width: 767px) {
  .szd-cd { padding: 14px; }
  .szd-cd-grid { grid-template-columns: 1fr 1fr; gap: 0 14px; }
  .szd-cd-row { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 3px; padding: 10px 0; }
  .szd-cd-row dt { font-size: 11.5px; letter-spacing: .02em; }
  .szd-cd-row dd { text-align: left; justify-content: flex-start; font-size: 14px; }
  .szd-cd-row:nth-child(1) { flex-direction: row; align-items: center; justify-content: space-between; }
  .szd-cd-row:nth-child(1) dd { justify-content: flex-end; text-align: right; }
  .szd-cd-grid .szd-cd-row:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { .szd-cd-foil { animation: none; } }
/* v1.10.1: phones keep the 2-column layout (same as desktop) */
@media (max-width: 767px) {
  .szd-cd { padding: 12px 14px; }
  .szd-cd-grid { grid-template-columns: 1fr 1fr; gap: 0 14px; }
  .szd-cd-row { gap: 8px; padding: 9px 0; }
  .szd-cd-row dt { font-size: 12px; }
  .szd-cd-row dd { font-size: 13px; gap: 3px 8px; }
  .szd-cd-color .ms { font-size: 13px; }
}
@media (max-width: 767px) {
  .szd-cd-row { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 3px; padding: 8px 0; }
  .szd-cd-row dd { text-align: left; justify-content: flex-start; overflow-wrap: normal; word-break: normal; font-size: 14px; }
  .szd-cd-row:nth-child(1) { flex-direction: row; align-items: center; justify-content: space-between; }
  .szd-cd-row:nth-child(1) dd { justify-content: flex-end; text-align: right; }
}
/* v1.10.4: Home product rows — exactly 1 row per section on every screen */
@media (max-width: 767px) {
  .szd-section ul.products li.product:nth-child(n+3) { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .szd-section ul.products li.product:nth-child(n+4) { display: none !important; }
}

/* ==========================================================
   24. FORMS: password fields + fieldsets (account details, login, checkout) v1.10.3
   ========================================================== */
.woocommerce .password-input, .woocommerce-page .password-input {
  display: block !important; position: relative; width: 100%;
}
.woocommerce .password-input input, .woocommerce-page .password-input input {
  width: 100% !important; padding-right: 48px !important; box-sizing: border-box;
}
.woocommerce .show-password-input, .woocommerce-page .show-password-input {
  position: absolute !important; right: 4px; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; margin: 0 !important; padding: 0 !important;
  display: grid !important; place-items: center; border: 0 !important; border-radius: 8px !important;
  background: transparent !important; color: var(--muted) !important; box-shadow: none !important; cursor: pointer;
}
.woocommerce .show-password-input:hover, .woocommerce-page .show-password-input:hover { color: var(--text) !important; background: color-mix(in srgb, var(--text) 8%, transparent) !important; }
.woocommerce .show-password-input.display-password, .woocommerce-page .show-password-input.display-password { color: var(--cream) !important; }

/* browser autofill: keep the dark field instead of the blue-grey fill */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--navy-deep) inset !important;
  -webkit-text-fill-color: var(--text) !important; caret-color: var(--text);
  transition: background-color 9999s ease-out 0s;
}

/* fieldset ("Password change") as a clean card, heading inside it */
.woocommerce-EditAccountForm fieldset, .woocommerce-MyAccount-content fieldset {
  margin: 22px 0 18px !important; padding: 14px 18px 6px !important;
  border: 1px solid var(--line) !important; border-radius: 12px; background: var(--navy) !important;
}
.woocommerce-EditAccountForm fieldset legend, .woocommerce-MyAccount-content fieldset legend {
  float: left; width: 100%; margin: 0 0 6px !important; padding: 0 !important;
  background: transparent !important; border: 0 !important;
  font-size: 16px; font-weight: 700; color: var(--text);
}
.woocommerce-EditAccountForm fieldset legend + *, .woocommerce-MyAccount-content fieldset legend + * { clear: both; }
.woocommerce-EditAccountForm .form-row, .woocommerce-MyAccount-content .form-row { margin-bottom: 14px !important; padding: 0 !important; }
.woocommerce-EditAccountForm label { color: var(--text-2); font-size: 14px; margin-bottom: 6px; display: block; }
.woocommerce-EditAccountForm #account_display_name_description,
.woocommerce-EditAccountForm .form-row span em { display: block; margin-top: 6px; font-style: normal; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.woocommerce-EditAccountForm > p:last-of-type .button,
.woocommerce-EditAccountForm button[name="save_account_details"] { margin-top: 6px; padding: 12px 22px !important; border-radius: 10px !important; }
@media (max-width: 767px) {
  .woocommerce-EditAccountForm fieldset, .woocommerce-MyAccount-content fieldset { padding: 12px 14px 4px !important; }
  .woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last { width: 100% !important; float: none !important; margin-right: 0 !important; }
  .woocommerce-EditAccountForm button[name="save_account_details"] { width: 100%; }
}
/* v1.10.5: backstop — Home rows never show more than one row, whatever the plugin loads */
@media (min-width: 1280px) {
  .szd-section ul.products li.product:nth-child(n+7) { display: none !important; }
}

/* v1.10.7: 3 category tiles (Riftbound hidden) */
@media (min-width: 768px) { .szd-tiles.szd-tiles-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 481px) and (max-width: 767px) { .szd-tiles.szd-tiles-3 .szd-tile:last-child { grid-column: 1 / -1; } }
