/* SNK Store — dark editorial refresh. Keeps native WooCommerce templates. */
:root {
  color-scheme: dark;
  --snk-bg: #0c0c0f;
  --snk-black: #08080b;
  --snk-ink: #f4f4f7;
  --snk-muted: #ababba;
  --snk-line: #2c2c36;
  --snk-surface: #17171e;
  --snk-surface-raised: #20202a;
  --snk-aqua: #00e6d1;
  --snk-purple: #8b5cf6;
  --snk-shadow: 0 16px 44px #0004;
}
html, body { background: var(--snk-bg); color: var(--snk-ink); }
body { overflow-wrap: break-word; }
.snk-page, .snk-content { background: var(--snk-bg); }
.snk-header { border-bottom: 1px solid var(--snk-line); }
.snk-header-inner { min-height: 90px; }
.snk-nav { color: var(--snk-ink); }
.snk-topline { background: #15111e; color: #e6def5; }
.snk-search-panel { background: var(--snk-black); }
.snk-search input[type=search] {
  background: var(--snk-surface-raised); color: var(--snk-ink);
  border-color: var(--snk-line); border-radius: 8px;
}
.snk-search button { color: var(--snk-aqua); }
.snk-campaign, .snk-campaign-art { background: var(--snk-black); }
.snk-campaign-controls {
  background: var(--snk-bg); border-color: var(--snk-line);
}
.snk-campaign-controls button { color: var(--snk-ink); }
.snk-campaign-dots span { background: #555562; }
.snk-campaign-dots [aria-current] span { background: var(--snk-aqua); }
.snk-dispatch {
  background: var(--snk-surface); color: #c1c1cf;
  border: 1px solid var(--snk-line); border-radius: 10px;
}
.snk-dispatch .snk-icon { color: var(--snk-aqua); }
.snk-campaign-shipping .snk-dispatch {
  background: transparent; color: #c1c1cf; border: 0;
  border-bottom: 1px solid var(--snk-line); border-radius: 0;
}
.snk-benefits { border-color: var(--snk-line); gap: 18px; }
.snk-benefits > a {
  padding: 14px 12px; border-radius: 10px;
  background: #141419; border: 1px solid #25252f;
}
.snk-benefits .snk-icon { color: var(--snk-aqua); }
.snk-benefits strong { color: var(--snk-ink); font-size: 13px; }
.snk-benefits small { color: var(--snk-muted); font-size: 12px; }
.snk-section-heading .eyebrow, .snk-coming .eyebrow,
.page-heading .eyebrow { color: #b49bf3; }
.snk-section-heading h2, .snk-coming h2,
.snk-editorial-copy h2, .page-heading h1 { color: var(--snk-ink); }
.snk-text-link { color: #e8e4f2; }
.snk-text-link:hover { color: var(--snk-aqua); }
.snk-category {
  display: block; overflow: hidden; border-radius: 14px;
  border: 1px solid var(--snk-line); background: var(--snk-surface);
}
.snk-category-image { background: #101014; }
.snk-category-caption { padding: 20px; }
.snk-category-caption h3 { color: var(--snk-ink); }
.snk-category p { color: var(--snk-muted); font-size: 13px; }
.snk-round-arrow { background: var(--snk-aqua); color: #071412; }
.snk-coming { border-color: var(--snk-line); }
.snk-coming p:not(.eyebrow) { color: var(--snk-muted); }
.snk-editorial { background: var(--snk-surface); border-radius: 14px; overflow: hidden; }
.snk-editorial-copy { background: var(--snk-surface); }
.snk-editorial-copy .eyebrow { color: #b49bf3; }
.snk-editorial-copy > p:not(.eyebrow) { color: #bcbcc9; }
.snk-editorial-signature { color: #aaa5b9; }
.snk-footer {
  background: var(--snk-black); border-top: 1px solid #4a316a;
}
.snk-footer-tag, .snk-secure small, .snk-footer-bottom { color: #aaa5b5; }
.snk-footer li a { color: #bcb7c9; font-size: 13px; }
.snk-footer-identity { overflow-wrap: anywhere; }
.entry-content > p, .entry-content li,
.snk-content details p, .snk-empty p:not(.eyebrow) { color: #bcbcc9; }
.snk-content details { border-color: var(--snk-line); }
.snk-contact-aside { background: var(--snk-surface); border: 1px solid var(--snk-line); border-radius: 12px; }
.snk-contact-aside p { color: var(--snk-muted); }
.snk-contact-aside a { border-color: var(--snk-line); }
.snk-form input, .snk-form select, .snk-form textarea {
  color: var(--snk-ink); background: var(--snk-surface-raised);
  border-color: var(--snk-line); border-radius: 8px;
}
.snk-shop-filter a {
  border-color: var(--snk-line); background: var(--snk-surface); border-radius: 6px;
}
.snk-shop-filter a:hover, .snk-shop-filter [aria-current=page] {
  background: #382158; color: #fff; border-color: var(--snk-purple);
}
.snk-notice, .woocommerce .woocommerce-info, .woocommerce .woocommerce-message {
  background: #122a25; color: #e0f8ee; border-color: var(--snk-aqua);
}
.snk-error, .woocommerce .woocommerce-error {
  background: #321d23; color: #ffdae2; border-color: #ef8ea6;
}
.woocommerce .woocommerce-info:before, .woocommerce .woocommerce-message:before { color: var(--snk-aqua); }
.woocommerce .woocommerce-error:before { color: #ffb4c5; }
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a { color: #b6b0c6; }
.woocommerce .term-description, .woocommerce .woocommerce-result-count { color: var(--snk-muted); }
/* WooCommerce's mobile 48% width must not shrink items inside our CSS grid. */
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
  width: 100%; max-width: none; min-width: 0;
  float: none; margin: 0;
}
.woocommerce ul.products li.product .woocommerce-Price-amount,
.woocommerce-page ul.products li.product .woocommerce-Price-amount {
  white-space: nowrap;
}
.woocommerce ul.products li.product {
  background: var(--snk-surface); border: 1px solid var(--snk-line);
  border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px #0002;
  padding: 0 0 18px;
}
.woocommerce ul.products li.product a img {
  background: #08080b; margin: 0 0 17px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  margin-inline: 16px; color: var(--snk-ink);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.8em; font-size: 15px; line-height: 1.4;
}
.woocommerce ul.products li.product .price { color: var(--snk-aqua); }
.woocommerce ul.products li.product .button {
  width: calc(100% - 32px); margin-inline: 16px; border-radius: 7px;
}
.woocommerce ul.products li.product .price del { color: var(--snk-muted); }
.woocommerce span.onsale { background: #583294; }
.snk-button, .woocommerce .button,
.woocommerce button.button, .woocommerce input.button, .woocommerce a.button,
.woocommerce #respond input#submit, .woocommerce button.button.alt,
.woocommerce a.button.alt, .woocommerce input.button.alt {
  background: #7944d3; color: #fff; border: 1px solid #a078e8;
  border-radius: 7px; box-shadow: 0 6px 18px #642c9c26;
}
.snk-button-accent { background: var(--snk-aqua); color: #041411; border-color: var(--snk-aqua); }
.snk-button:hover, .woocommerce .button:hover,
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--snk-aqua); color: #041411; border-color: var(--snk-aqua);
}
.snk-button-accent:hover { background: #7cf6ea; color: #041411; border-color: #7cf6ea; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled {
  background: #2b2734; color: #a59aae; border-color: #463c55;
  opacity: 1; box-shadow: none; cursor: not-allowed;
}
.woocommerce div.product .product_title { color: var(--snk-ink); font-size: clamp(27px, 2.8vw, 42px); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--snk-aqua); font-weight: 800; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #bcbcc9; }
.single-product .woocommerce-product-gallery {
  background: #08080b; border: 1px solid var(--snk-line); border-radius: 14px;
  overflow: hidden;
}
.single-product .summary.entry-summary {
  background: var(--snk-surface); border: 1px solid var(--snk-line);
  border-radius: 14px; padding: clamp(20px, 2.5vw, 32px);
}
.woocommerce div.product .product_meta { color: var(--snk-muted); font-size: 13px; }
.woocommerce div.product .product_meta a { color: #cab5fc; }
.snk-product-help { border-color: var(--snk-line); color: #cbc5d7; }
.snk-product-help .snk-icon { color: var(--snk-aqua); }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { background: transparent; color: var(--snk-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--snk-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { color: var(--snk-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #bab4c9; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--snk-aqua); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--snk-aqua); }
.woocommerce div.product .woocommerce-tabs .panel { color: #bcbcc9; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.related.products h2 { color: var(--snk-ink); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, .woocommerce form select,
.woocommerce .quantity .qty, .woocommerce .woocommerce-ordering select {
  background: var(--snk-surface-raised); color: var(--snk-ink);
  border-color: #414151; border-radius: 7px;
}
.woocommerce input::placeholder, .woocommerce textarea::placeholder,
.snk-form input::placeholder, .snk-form textarea::placeholder { color: #aaa7b8; }
.woocommerce table.shop_table { background: var(--snk-surface); border-color: var(--snk-line); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--snk-line); }
.woocommerce table.shop_table td a { color: #dbcbff; }
.woocommerce table.shop_table .product-name { overflow-wrap: anywhere; }
.woocommerce .cart-collaterals .cart_totals { background: var(--snk-surface); border-radius: 10px; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-color: var(--snk-line); border-radius: 10px; }
.woocommerce-MyAccount-navigation ul, .woocommerce-MyAccount-navigation li { border-color: var(--snk-line); }
.woocommerce-MyAccount-navigation .is-active a { background: #34214f; border-left: 3px solid var(--snk-aqua); }
.woocommerce-MyAccount-content, .woocommerce-privacy-policy-text { color: #bcbcc9; }
.woocommerce #payment { background: var(--snk-surface); border-radius: 10px; }
.woocommerce #payment ul.payment_methods { border-color: var(--snk-line); }
.woocommerce #payment div.payment_box {
  background: #e9e9ef; color: #17171e; color-scheme: light;
}
.woocommerce #payment div.payment_box::before { border-bottom-color: #e9e9ef; }
.woocommerce #payment div.payment_box input, .woocommerce #payment div.payment_box select { color-scheme: light; }
.woocommerce .select2-container--default .select2-selection--single,
.select2-dropdown, .select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--snk-surface-raised); color: var(--snk-ink); border-color: #414151;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--snk-ink); }
.select2-container--default .select2-results__option[aria-selected=true] { background: #34214f; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: #7944d3; }
input[type=checkbox], input[type=radio] { accent-color: var(--snk-purple); }
::selection { color: #fff; background: #7542c5; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--snk-aqua); outline-offset: 4px;
}
@media (max-width: 900px) {
  .snk-benefits { gap: 12px; }
}
@media (max-width: 600px) {
  .snk-header-inner { min-height: 78px; }
  .snk-logo, .snk-logo img { width: 152px; }
  .snk-benefits > a { padding: 12px 10px; gap: 9px; }
  .snk-benefits strong { font-size: 12px; }
  .snk-benefits small { font-size: 11px; max-width: none; }
  .snk-category-caption { padding: 15px; }
  .snk-category p { font-size: 12px; }
  .snk-campaign-caption { background: var(--snk-surface); }
  .snk-campaign-caption .eyebrow { color: #b49bf3; }
  .snk-campaign-caption h2 { color: var(--snk-ink); }
  .snk-campaign-caption p:not(.eyebrow) { color: #bcbcc9; }
  .woocommerce ul.products li.product { padding-bottom: 12px; border-radius: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price { margin-inline: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; }
  .woocommerce ul.products li.product .price { font-size: 15px; }
  .woocommerce ul.products li.product .button {
    width: calc(100% - 24px); margin-inline: 12px; font-size: 11px;
    padding: 10px 7px; min-height: 44px;
  }
  .single-product .summary.entry-summary { padding: 20px 16px; }
  .snk-footer-main { gap: 26px 18px; }
  .snk-footer li a { font-size: 12px; }
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
  .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td { background: #ffffff05; }
  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td { overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .snk-logo, .snk-logo img { width: 138px; }
}

/* Payment information is a static announcement, never an animated ticker. */
.snk-announcement {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 12px 26px; padding: 11px 20px; min-height: 44px;
  background: #33204e; color: #f6f1ff; border-bottom: 1px solid #664298;
  font-size: 13px; line-height: 1.5; letter-spacing: .025em;
}
.snk-announcement-item { display: inline-flex; align-items: center; gap: 9px; }
.snk-announcement svg { width: 19px; height: 19px; flex: 0 0 auto; color: #b79aef; }
.snk-announcement strong { font-weight: 800; }
.snk-announcement-pix { color: #82f4e6; }
.snk-announcement-pix svg { color: var(--snk-aqua); }
.snk-announcement ~ .snk-topline { display: none; }
@media (max-width: 600px) {
  .snk-announcement { padding: 10px 12px; gap: 5px 14px; font-size: 11px; }
  .snk-announcement-item { gap: 6px; }
  .snk-announcement svg { width: 16px; height: 16px; }
}

/* Sizes enhance the native WooCommerce select; its value remains authoritative. */
.woocommerce div.product form.cart .variations .snk-size-row { display: block; }
.woocommerce div.product form.cart .variations .snk-size-row th,
.woocommerce div.product form.cart .variations .snk-size-row td { display: block; padding: 0; }
.woocommerce div.product form.cart .variations .snk-size-row th { margin-bottom: 10px; }
.snk-size-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.snk-size-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 46px; min-height: 46px; padding: 10px; margin: 0;
  border: 1px solid #50505f; border-radius: 7px;
  color: var(--snk-ink); background: #20202a;
  font: inherit; font-weight: 700; line-height: 1; cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.snk-size-button:hover:not(:disabled) { border-color: var(--snk-aqua); background: #293339; }
.snk-size-button[aria-pressed=true] {
  color: #071412; background: var(--snk-aqua); border-color: var(--snk-aqua);
  box-shadow: 0 0 0 2px #00e6d11a;
}
.snk-size-button:disabled {
  color: #86838f; background: #15151c; border-color: #34343e;
  text-decoration: line-through; cursor: not-allowed; box-shadow: none;
}
.snk-size-status { color: #bbb4cc; font-size: 12px; line-height: 1.5; margin: 9px 0 5px; }
.snk-size-native { display: none !important; }
.woocommerce div.product form.cart .reset_variations { color: #c8b2f7; font-size: 12px; }

/* Quiet motion and brand-colored browser scrollbars. */
html { scrollbar-color: #8b5cf6 #101014; scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #101014; }
::-webkit-scrollbar-thumb { background: #8b5cf6; border: 2px solid #101014; border-radius: 20px; }
::-webkit-scrollbar-thumb:hover { background: var(--snk-aqua); }
.woocommerce ul.products li.product, .snk-category, .snk-benefits > a {
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.woocommerce ul.products li.product a img, .snk-category-image img {
  transition: transform .45s cubic-bezier(.2,.7,.3,1);
}
.snk-category-image { overflow: hidden; }
.snk-button, .woocommerce .button, .snk-round-arrow, .snk-header-tools a,
.snk-header-tools button, .snk-campaign-controls button {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease,
    box-shadow .2s ease, transform .2s ease;
}
.snk-menu a { transition: color .18s ease; }
.snk-menu a:hover, .snk-footer li a:hover { color: var(--snk-aqua); }
.woocommerce ul.products li.product:focus-within, .snk-category:focus-within {
  border-color: var(--snk-aqua);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .woocommerce ul.products li.product:hover, .snk-category:hover {
    transform: translateY(-5px); border-color: #7553a2;
    box-shadow: 0 18px 40px #0006;
  }
  .woocommerce ul.products li.product:hover a img, .snk-category:hover .snk-category-image img {
    transform: scale(1.035);
  }
  .snk-benefits > a:hover { transform: translateY(-2px); border-color: #5d437e; }
  .snk-button:hover, .woocommerce .button:hover:not(:disabled):not(.disabled) { transform: translateY(-2px); }
  .snk-category:hover .snk-round-arrow { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .snk-size-button, .snk-button, .woocommerce .button,
  .woocommerce ul.products li.product, .woocommerce ul.products li.product a img,
  .snk-category, .snk-category-image img, .snk-benefits > a,
  .snk-round-arrow, .snk-header-tools a, .snk-header-tools button,
  .snk-campaign-controls button, .snk-menu a { transition: none; animation: none; }
}
