/* ============================================================
   Segfault Rack — site-wide + WooCommerce styles
   ============================================================ */
:root {
  --sf-void: #02050a;
  --sf-panel: #0b1117;
  --sf-line: rgb(var(--sf-accent-rgb) / 0.25);
  --sf-cyan: #40f0ff;
  --sf-green: #78ffaa;
  --sf-amber: #ffbe46;
  --sf-ice: #e6fcff;
  --sf-dim: rgb(var(--sf-text-rgb) / 0.82);
  --sf-display: 'Chakra Petch', 'Segoe UI', system-ui, sans-serif;
  --sf-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--sf-void);
  color: var(--sf-ice);
  font-family: var(--sf-mono);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--sf-cyan); text-decoration: none; }
a:hover { color: #fff; }
h1, h2, h3, h4, h5, h6 { font-family: var(--sf-display); color: #fff; line-height: 1.1; margin: 0 0 .6em; letter-spacing: -0.01em; }
h1 { font-size: clamp(2rem, 5vw, 3.25rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.2rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.2em; }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; padding: 12px 18px; background: var(--sf-cyan); color: #000; z-index: 100000; left: 8px; top: 8px; }

/* ---------- header / footer ---------- */
.site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--sf-line); background: var(--sf-glass-bar); }
.site-header__inner { max-width: 1200px; margin: 0 auto; padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-logo a, .site-logo { font-family: var(--sf-display); font-size: 24px; font-weight: 700; letter-spacing: -0.02em; color: #fff; }
.site-logo__cursor { color: var(--sf-cyan); animation: sf-blink 1.05s steps(1) infinite; }
.site-logo img { max-height: 44px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 24px; font-size: 12px; text-transform: uppercase; letter-spacing: .2em; }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 20px; }
.site-nav a { color: var(--sf-ice); }
.site-nav a:hover, .site-nav .current-menu-item > a { color: var(--sf-cyan); }
.site-cart { border: 1px solid rgb(var(--sf-cart-rgb) / .55); background: rgb(var(--sf-cart-rgb) / .12); color: rgb(var(--sf-cart-text-rgb)) !important; padding: 7px 14px; border-radius: 999px; white-space: nowrap; }
.site-cart:hover { background: rgb(var(--sf-cart-rgb) / .24); border-color: rgb(var(--sf-cart-rgb)); }

/* the aisle brings its own HUD/nav, so hide the theme header on aisle pages */
.segfault-aisle .site-header { display: none; }
.entry-content--aisle { margin: 0; padding: 0; max-width: none; }
.admin-bar .sf-root { --sf-top: 0px; }

.site-footer { border-top: 1px solid var(--sf-line); background: var(--sf-glass-foot); margin-top: 80px; }
.site-footer__inner { max-width: 1200px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; font-size: 12px; color: var(--sf-dim); text-transform: uppercase; letter-spacing: .18em; }
.site-footer__brand span { color: rgb(var(--sf-text-rgb) / .4); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; flex-wrap: wrap; }
.segfault-aisle .site-footer { margin-top: 0; }

/* ---------- content ---------- */
.content-wrap { max-width: 800px; margin: 0 auto; padding: 56px 24px; }
.content-wrap--center { text-align: center; padding-top: 110px; }
.fault-code { color: var(--sf-amber); letter-spacing: .3em; text-transform: uppercase; font-size: 12px; }
.entry-meta, .post-card__meta { font-size: 12px; text-transform: uppercase; letter-spacing: .2em; color: var(--sf-dim); }
.entry-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: 1200px; }
.entry-content > .alignfull { max-width: none; }
.entry-content--aisle > * { max-width: none; margin: 0; }
.entry-thumb { margin: 0 0 32px; }
.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; max-width: 1200px; }
.content-wrap:has(.post-grid) { max-width: 1200px; }
.post-card { border: 1px solid var(--sf-line); background: var(--sf-glass); padding: 16px; }
.post-card__title { font-size: 1.25rem; }
.post-card__title a { color: #fff; }
.post-card__title a:hover { color: var(--sf-cyan); }
.post-card__thumb img { width: 100%; }
.pagination, .nav-links { display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
.page-numbers { border: 1px solid var(--sf-line); padding: 6px 12px; color: var(--sf-ice); }
.page-numbers.current, .page-numbers:hover { background: var(--sf-cyan); color: #000; }

/* ---------- forms + buttons ---------- */
input[type='text'], input[type='email'], input[type='url'], input[type='password'], input[type='search'],
input[type='tel'], input[type='number'], textarea, select {
  width: 100%; background: var(--sf-glass-deep); color: var(--sf-ice); border: 1px solid var(--sf-line);
  padding: 10px 12px; font: inherit; border-radius: 0;
}
input:focus, textarea:focus, select:focus { outline: 2px solid var(--sf-cyan); outline-offset: 0; }
label { font-size: 13px; }
.button, button.button, input[type='submit'], .wp-element-button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  display: inline-block; background: var(--sf-cyan); color: #000 !important; border: 0; border-radius: 0;
  padding: 12px 22px; font: 700 13px var(--sf-mono); text-transform: uppercase; letter-spacing: .15em; cursor: pointer; transition: background .2s;
}
.button:hover, input[type='submit']:hover, .wp-element-button:hover, .wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #fff; color: #000 !important; }
.woocommerce a.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .45; }
.search-form { display: flex; gap: 8px; max-width: 480px; margin: 24px auto 0; }
.search-form .search-submit { background: transparent; color: var(--sf-cyan); border: 1px solid var(--sf-cyan); padding: 0 16px; font: inherit; cursor: pointer; text-transform: uppercase; letter-spacing: .12em; }
.search-form .search-submit:hover { background: rgb(var(--sf-accent-rgb) / .15); }

/* ---------- WooCommerce: general ---------- */
.wc-wrap { max-width: 1200px; margin: 0 auto; padding: 48px 24px; }
.woocommerce-breadcrumb { font-size: 12px; color: var(--sf-dim); text-transform: uppercase; letter-spacing: .15em; margin-bottom: 24px; }
.woocommerce-breadcrumb a { color: var(--sf-dim); }
.woocommerce-products-header__title, .product_title { font-size: clamp(1.8rem, 4vw, 2.8rem); }
.woocommerce .woocommerce-result-count { color: var(--sf-dim); font-size: 12px; text-transform: uppercase; letter-spacing: .15em; }
.woocommerce .woocommerce-ordering select { width: auto; }
.woocommerce span.onsale { background: var(--sf-amber); color: #000; border-radius: 0; min-height: 0; min-width: 0; line-height: 1; padding: 8px 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; top: 12px; left: 12px; right: auto; }
.woocommerce .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sf-green); font-size: 1.15rem; }
.woocommerce .price del { color: var(--sf-dim); }
.woocommerce .price ins { text-decoration: none; }
.woocommerce .price .amount, .woocommerce-Price-amount { color: var(--sf-green); font-weight: 500; }
.woocommerce .price del .amount { color: var(--sf-dim); }
.woocommerce img.woocommerce-placeholder, .woocommerce-product-gallery__image--placeholder img { background: var(--sf-glass-deep); opacity: 1; }
.woocommerce .star-rating span::before { color: var(--sf-amber); }

/* product grid */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 24px 0 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; float: none; margin: 0; background: var(--sf-glass); border: 1px solid var(--sf-line); padding: 14px; position: relative; transition: border-color .2s, transform .2s; }
.woocommerce ul.products li.product:hover { border-color: var(--sf-cyan); transform: translateY(-3px); }
.woocommerce ul.products li.product img { width: 100%; margin: 0 0 12px; background: var(--sf-glass-deep); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--sf-display); font-size: 1.1rem; color: #fff; padding: 0; margin: 0 0 6px; }
.woocommerce ul.products li.product .button { margin-top: 10px; padding: 9px 14px; font-size: 11px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--sf-line); background: transparent; color: var(--sf-ice); padding: 8px 14px; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--sf-cyan); color: #000; }

/* single product */
.woocommerce div.product div.images img { background: var(--sf-glass); border: 1px solid var(--sf-line); }
.woocommerce div.product .woocommerce-product-gallery__trigger { background: var(--sf-void); }
.woocommerce div.product form.cart { margin: 20px 0; display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.woocommerce .quantity .qty { width: 72px; text-align: center; }
.woocommerce div.product .product_meta { font-size: 12px; color: var(--sf-dim); text-transform: uppercase; letter-spacing: .12em; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 20px; display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--sf-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--sf-dim); padding: 10px 16px; font-size: 12px; text-transform: uppercase; letter-spacing: .15em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sf-cyan); box-shadow: inset 0 -2px 0 var(--sf-cyan); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--sf-line); background: transparent; }

/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
  background: var(--sf-glass) !important; color: var(--sf-ice) !important; border: 1px solid var(--sf-line); border-top: 3px solid var(--sf-cyan); padding: 14px 18px 14px 56px;
}
.woocommerce-error { border-top-color: #ff5d73; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sf-cyan); }
.woocommerce-message .button { float: right; }

/* cart / checkout / account (classic shortcodes) */
.woocommerce table.shop_table { border: 1px solid var(--sf-line); border-radius: 0; border-collapse: collapse; background: var(--sf-glass); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: 1px solid var(--sf-line); padding: 12px 14px; color: var(--sf-ice); }
.woocommerce table.shop_table th { color: #fff; font-family: var(--sf-display); }
.woocommerce-cart table.cart img { width: 64px; }
.woocommerce .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout #payment { background: var(--sf-glass); border: 1px solid var(--sf-line); padding: 18px; }
.woocommerce-checkout #payment div.payment_box { background: var(--sf-glass-deep); color: var(--sf-ice); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--sf-glass-deep); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--sf-line); }
.woocommerce form .form-row label { color: var(--sf-ice); }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 24px; border: 1px solid var(--sf-line); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; color: var(--sf-ice); border-bottom: 1px solid var(--sf-line); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--sf-cyan); color: #000; }
.select2-container--default .select2-selection--single { background: var(--sf-glass-deep); border: 1px solid var(--sf-line); border-radius: 0; height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--sf-ice); line-height: 40px; }
.select2-dropdown { background: var(--sf-glass-deep); border-color: var(--sf-line); color: var(--sf-ice); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--sf-cyan); color: #000; }
.select2-search--dropdown .select2-search__field { background: #02050a; color: var(--sf-ice); border-color: var(--sf-line); }

/* WooCommerce Cart / Checkout BLOCKS (default on new stores) */
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-select .wc-block-components-select__select, .wc-block-components-textarea {
  background: var(--sf-glass-deep) !important; color: var(--sf-ice) !important; border: 1px solid var(--sf-line) !important; border-radius: 0 !important;
}
.wc-block-components-text-input label, .wc-block-components-select label { color: var(--sf-dim) !important; }
.wc-block-components-sidebar, .wc-block-components-totals-wrapper, .wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-order-summary, .wc-block-checkout__sidebar { color: var(--sf-ice); }
.wc-block-cart-items th, .wc-block-cart-items__row td { border-color: var(--sf-line) !important; }
.wc-block-components-product-name, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-components-product-price { color: var(--sf-ice) !important; }
.wc-block-components-button:not(.is-link) { background: var(--sf-cyan) !important; color: #000 !important; border-radius: 0 !important; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.wc-block-components-button:not(.is-link):hover { background: #fff !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--sf-line) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--sf-cyan); }
.wc-block-components-notice-banner { background: var(--sf-glass) !important; color: var(--sf-ice) !important; border-color: var(--sf-cyan) !important; }
.wc-block-components-notice-banner svg { fill: var(--sf-cyan) !important; background: transparent !important; }

/* Gutenberg blocks on normal pages */
.wp-block-separator { border-color: var(--sf-line); }
.wp-block-quote { border-left: 3px solid var(--sf-cyan); padding-left: 18px; color: var(--sf-dim); }
.wp-block-code, pre { background: var(--sf-glass); border: 1px solid var(--sf-line); padding: 16px; overflow: auto; }
code { color: var(--sf-green); }
.wp-block-table td, .wp-block-table th { border-color: var(--sf-line); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--sf-cyan) !important; border: 1px solid var(--sf-cyan); }
.wp-block-image figcaption, .wp-element-caption { color: var(--sf-dim); font-size: 12px; }

/* comments */
.comments-area { margin-top: 56px; border-top: 1px solid var(--sf-line); padding-top: 32px; }
.comment-list { list-style: none; padding: 0; }
.comment-body { border: 1px solid var(--sf-line); background: var(--sf-glass); padding: 16px; margin-bottom: 16px; }

.sf-noscript { list-style: none; padding: 24px; margin: 0; }

@keyframes sf-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .site-header__inner { flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .site-nav { gap: 14px; }
  .site-nav ul { gap: 12px; }
  .woocommerce-message .button { float: none; display: block; margin-top: 10px; }
}


/* ============================================================
   v1.1 - glass (33% transparent) surfaces, rounded corners,
   hidden page titles. Tweak the variables below.
   ============================================================ */
:root {
  --sf-glass-alpha: .35;                 /* 1 = solid, .35 = 65% see-through, 0 = invisible */
  --sf-glass: rgb(11 17 23 / var(--sf-glass-alpha));
  --sf-glass-deep: rgb(6 13 19 / var(--sf-glass-alpha));
  --sf-glass-bar: rgb(2 5 10 / var(--sf-glass-alpha));
  --sf-glass-foot: rgb(1 3 8 / var(--sf-glass-alpha));
  --sf-radius: 16px;                     /* boxes, cards, panels */
  --sf-radius-sm: 10px;                  /* inputs, buttons, small chips */
}

/* faint fixed backdrop so the transparency has something to show.
   Upload your own under Appearance > Customize > Background Image and this steps aside. */
body:not(.custom-background)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(60% 50% at 50% 0%, rgb(var(--sf-accent-rgb) / .16), transparent 70%),
    radial-gradient(45% 45% at 92% 100%, rgba(120, 255, 170, .10), transparent 70%);
}
body.custom-background { background-attachment: fixed; background-size: cover; background-position: center; }

/* frosted glass on every translucent surface */
.site-header, .site-footer, .post-card, .comment-body, .wp-block-code, pre,
.woocommerce ul.products li.product, .woocommerce .cart_totals, .woocommerce-checkout-review-order,
.woocommerce-checkout #payment, .woocommerce table.shop_table, .woocommerce-message, .woocommerce-info,
.woocommerce-error, .woocommerce-MyAccount-navigation ul, .wc-block-components-notice-banner {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* ---------- rounded corners ---------- */
input[type='text'], input[type='email'], input[type='url'], input[type='password'], input[type='search'],
input[type='tel'], input[type='number'], textarea, select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce .quantity .qty {
  border-radius: var(--sf-radius-sm) !important;
}
.search-form .search-submit { border-radius: var(--sf-radius-sm); }
.button, button.button, input[type='submit'], .wp-element-button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link) { border-radius: var(--sf-radius-sm) !important; }

/* product boxes */
.woocommerce ul.products li.product { border-radius: var(--sf-radius); overflow: hidden; }
.woocommerce ul.products li.product img,
.woocommerce img.woocommerce-placeholder { border-radius: calc(var(--sf-radius) - 6px); }
.woocommerce div.product div.images img,
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius: var(--sf-radius); }
.woocommerce span.onsale { border-radius: var(--sf-radius-sm); }

/* other boxes */
.post-card, .comment-body, .wp-block-code, pre,
.woocommerce .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout #payment,
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner, .wc-block-components-sidebar,
.woocommerce-MyAccount-navigation ul { border-radius: var(--sf-radius); }
.post-card__thumb img, .entry-thumb img { border-radius: calc(var(--sf-radius) - 6px); }
.woocommerce-MyAccount-navigation ul { overflow: hidden; }
.woocommerce-checkout #payment div.payment_box { border-radius: var(--sf-radius-sm); }
.woocommerce table.shop_table { border-collapse: separate !important; border-spacing: 0; border-radius: var(--sf-radius); overflow: hidden; }
.woocommerce table.shop_table tr:first-child th, .woocommerce table.shop_table tr:first-child td { border-top: 0; }
.select2-container--default .select2-selection--single, .select2-dropdown { border-radius: var(--sf-radius-sm); }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-select .wc-block-components-select__select, .wc-block-components-textarea { border-radius: var(--sf-radius-sm) !important; }
.page-numbers, .woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: var(--sf-radius-sm); }
.wp-block-quote { border-radius: 0 var(--sf-radius-sm) var(--sf-radius-sm) 0; }

/* ---------- page titles: never displayed ----------
   Kept in the DOM, visually hidden, so screen readers and search engines still get an H1. */
.wp-block-post-title,
.page .entry-title,
.entry-header .entry-title.screen-reader-text,
.post-type-archive-product .woocommerce-products-header__title {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap; border: 0;
}


/* ============================================================
   v1.1.1 - fixes found in testing
   ============================================================ */

/* the Shop page heading is an h1.page-title: hide it on the product archive too (category pages keep theirs) */
.post-type-archive-product .page-title,
.post-type-archive-product .woocommerce-products-header__title {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.post-type-archive-product .woocommerce-products-header { margin: 0; }

/* WooCommerce checkout BLOCK dropdowns (Country / State) */
.wc-blocks-components-select__container,
.wc-blocks-components-select .wc-blocks-components-select__container {
  background: var(--sf-glass-deep) !important;
  border: 1px solid var(--sf-line) !important;
  border-radius: var(--sf-radius-sm) !important;
}
.wc-blocks-components-select__select {
  background: transparent !important;
  color: var(--sf-ice) !important;
  border: 0 !important;
}
.wc-blocks-components-select__label { color: var(--sf-dim) !important; }
.wc-blocks-components-select__expand { fill: var(--sf-cyan) !important; }
select option, .wc-blocks-components-select__select option { background: rgb(var(--sf-card-rgb)); color: var(--sf-ice); }
.wc-block-components-combobox-control, .wc-block-components-combobox .wc-block-components-combobox-control input {
  background: var(--sf-glass-deep) !important; color: var(--sf-ice) !important; border-color: var(--sf-line) !important;
}
.wc-block-components-combobox .components-form-token-field__suggestions-list,
.wc-block-components-country-input .components-form-token-field__suggestions-list {
  background: rgb(var(--sf-card-rgb)) !important; color: var(--sf-ice) !important; border: 1px solid var(--sf-line) !important; border-radius: var(--sf-radius-sm);
}
.components-form-token-field__suggestion { color: var(--sf-ice) !important; }
.components-form-token-field__suggestion.is-selected, .components-form-token-field__suggestion:hover { background: var(--sf-cyan) !important; color: #000 !important; }
.wc-block-components-address-card, .wc-block-components-checkout-step, .wc-block-components-totals-coupon { border-color: var(--sf-line) !important; }

/* cart / checkout / account sit in one glass panel */
.woocommerce-cart .content-wrap,
.woocommerce-checkout .content-wrap,
.woocommerce-account .content-wrap { max-width: 1100px; }
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  background: var(--sf-glass);
  border: 1px solid var(--sf-line);
  border-radius: var(--sf-radius);
  padding: 28px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.woocommerce-cart .entry-content > *,
.woocommerce-checkout .entry-content > *,
.woocommerce-account .entry-content > * { max-width: none; }
@media (max-width: 560px) {
  .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content { padding: 16px; }
}


/* v1.1.2 - checkout order-summary quantity badge (was white on white) */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  background: var(--sf-cyan) !important;
  color: #000 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 700;
}
.wc-block-components-order-summary-item__image > img { border-radius: var(--sf-radius-sm); }


/* ============================================================
   v1.2 - sticky header option, blinking site-title cursor
   ============================================================ */
.site-logo { display: flex; align-items: center; gap: 12px; }
.site-logo__text { display: inline-flex; align-items: baseline; }
.site-logo__cursor {
  color: var(--sf-cyan);
  margin-left: 1px;
  animation: sf-blink 1.05s steps(1) infinite;
}
/* Appearance > Customize > Header > turn the blink off */
.no-cursor-blink .site-logo__cursor,
.no-cursor-blink .sf-cursor { animation: none; }

/* Appearance > Customize > Header > Sticky header */
.has-sticky-header .site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}
.admin-bar.has-sticky-header .site-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar.has-sticky-header .site-header { top: 46px; }
}
@media (max-width: 600px) {
  .admin-bar.has-sticky-header .site-header { top: 0; }
}

/* sticky-shadow: soft separation between the pinned header and content scrolling under it */
.has-sticky-header .site-header { box-shadow: 0 10px 28px rgba(0, 0, 0, .45); }


/* ============================================================
   v1.3 - much more transparent surfaces, glass buttons + product cards
   Knobs (in :root above / here):
     --sf-glass-alpha  surface opacity (cards, header, footer, boxes, inputs)
     --sf-btn-alpha    button fill opacity
   ============================================================ */
:root {
  --sf-btn-alpha: .26;
  --sf-blur: 16px;
}

/* stronger blur so text stays readable on very transparent surfaces */
.site-header, .site-footer, .post-card, .comment-body, .wp-block-code, pre,
.woocommerce ul.products li.product, .woocommerce .cart_totals, .woocommerce-checkout-review-order,
.woocommerce-checkout #payment, .woocommerce table.shop_table, .woocommerce-message, .woocommerce-info,
.woocommerce-error, .woocommerce-MyAccount-navigation ul, .wc-block-components-notice-banner,
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content {
  -webkit-backdrop-filter: blur(var(--sf-blur));
  backdrop-filter: blur(var(--sf-blur));
}

/* product cards: clear glass with a brighter edge so they still read as cards */
.woocommerce ul.products li.product {
  background: var(--sf-glass);
  border-color: rgb(var(--sf-accent-rgb) / .38);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.woocommerce ul.products li.product:hover {
  border-color: var(--sf-cyan);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .3), 0 0 0 1px rgb(var(--sf-accent-rgb) / .25);
}

/* buttons: tinted glass with a cyan outline (solid cyan would clash with transparent cards) */
.button, button.button, input[type='submit'], .wp-element-button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link), .search-form .search-submit {
  background: rgb(var(--sf-btn-rgb) / var(--sf-btn-alpha)) !important;
  color: var(--sf-btn-text) !important;
  border: 1px solid rgb(var(--sf-btn-rgb) / .65) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  text-shadow: 0 0 10px rgba(0, 0, 0, .6);
  transition: background .2s, border-color .2s, color .2s, box-shadow .2s;
}
.button:hover, button.button:hover, input[type='submit']:hover, .wp-element-button:hover, .wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.wc-block-components-button:not(.is-link):hover, .search-form .search-submit:hover {
  background: rgb(var(--sf-btn-rgb) / .5) !important;
  color: #fff !important;
  border-color: rgb(var(--sf-btn-rgb)) !important;
  box-shadow: 0 0 18px rgb(var(--sf-btn-rgb) / .35);
}
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; }

/* make sure inputs read well on the lighter glass */
input[type='text'], input[type='email'], input[type='url'], input[type='password'], input[type='search'],
input[type='tel'], input[type='number'], textarea, select { border-color: rgb(var(--sf-accent-rgb) / .38); }


/* v1.3-contrast: brighter secondary text now that surfaces are more transparent */
.woocommerce .woocommerce-result-count,
.woocommerce-breadcrumb, .woocommerce-breadcrumb a,
.woocommerce div.product .product_meta,
.entry-meta, .post-card__meta { color: rgb(var(--sf-text-rgb) / .85); }
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-blocks-components-select__label,
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button { color: rgb(var(--sf-text-rgb) / .88) !important; }
.wc-block-components-text-input input::placeholder, input::placeholder, textarea::placeholder { color: rgb(var(--sf-text-rgb) / .55); }
.woocommerce form .form-row label { color: rgb(var(--sf-text-rgb) / .92); }


/* ============================================================
   v1.4 - every color / opacity is a variable.
   These defaults MUST match segfault_look_schema() in inc/look.php.
   Change them site-wide in Appearance > Customize > Colors & Opacity,
   or per page in the editor sidebar (Look & feel).
   ============================================================ */
:root {
  --sf-void: #02050a;
  --sf-accent-rgb: 64 240 255;
  --sf-text-rgb: 230 252 255;
  --sf-header-rgb: 2 5 10;   --sf-header-alpha: .35;
  --sf-footer-rgb: 1 3 8;    --sf-footer-alpha: .35;
  --sf-card-rgb: 11 17 23;   --sf-card-alpha: .35;
  --sf-btn-rgb: 64 240 255;  --sf-btn-alpha: .26;  --sf-btn-text: #e6fcff;
  --sf-radius: 16px;
  --sf-radius-sm: 10px;
  --sf-blur: 16px;

  --sf-cyan: rgb(var(--sf-accent-rgb));
  --sf-ice: rgb(var(--sf-text-rgb));
  --sf-line: rgb(var(--sf-accent-rgb) / .25);
  --sf-dim: rgb(var(--sf-text-rgb) / .82);
  --sf-panel: rgb(var(--sf-card-rgb));
  --sf-glass: rgb(var(--sf-card-rgb) / var(--sf-card-alpha));
  --sf-glass-deep: rgb(var(--sf-card-rgb) / calc(var(--sf-card-alpha) + .12));
  --sf-glass-bar: rgb(var(--sf-header-rgb) / var(--sf-header-alpha));
  --sf-glass-foot: rgb(var(--sf-footer-rgb) / var(--sf-footer-alpha));
}
body:not(.custom-background) { background-color: var(--sf-void); }


/* ============================================================
   v1.9 - page themes. The 14 solid themes only change CSS variables (inc/page-theme.php).
   "Quantum Array" is the gradient theme: it needs these extra rules.
   ============================================================ */
:root {
  --sf-cart-rgb: 110 231 183;
  --sf-cart-text-rgb: 167 243 208;
  --sf-quantum: linear-gradient(90deg, #000000, #00A550, #5D5E60, #004517, #91268F, #405585, #A9DFD1, #AFA68F, #B25538, #D91B5B, #ED1C24, #F05A28, #FFFF00, #FFFFFF, #000000);
}
body.sf-theme-quantum-array :is(.button, button.button, input[type='submit'], .wp-element-button, .wp-block-button__link,
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button.alt, .woocommerce button.button.alt,
  .wc-block-components-button:not(.is-link), .search-form .search-submit) {
  background: linear-gradient(rgb(0 0 0 / .55), rgb(0 0 0 / .55)), var(--sf-quantum) !important;
  background-size: 100% 100%, 300% 100% !important;
  animation: sf-quantum-shift 12s linear infinite;
  border-color: rgb(255 255 255 / .55) !important;
  color: #fff !important;
}
body.sf-theme-quantum-array :is(h1, h2) {
  /* text needs bright colors only: the full palette contains black and dark grey, which vanish on a dark page */
  background: linear-gradient(90deg, #00A550, #A9DFD1, #FFFF00, #F05A28, #ED1C24, #D91B5B, #91268F, #405585, #A9DFD1, #00A550);
  background-size: 200% 100%;
  width: fit-content;
  max-width: 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: sf-quantum-text 10s linear infinite;
}
body.sf-theme-quantum-array :is(.woocommerce ul.products li.product, .post-card, .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content, .woocommerce .cart_totals) { position: relative; border-color: transparent; }
body.sf-theme-quantum-array :is(.woocommerce ul.products li.product, .post-card, .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content, .woocommerce .cart_totals)::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 2px;
  background: var(--sf-quantum);
  background-size: 300% 100%;
  animation: sf-quantum-shift 12s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
@keyframes sf-quantum-text { from { background-position: 0 0; } to { background-position: 200% 0; } }
@keyframes sf-quantum-shift { from { background-position: 0 0, 0 0; } to { background-position: 300% 0, 300% 0; } }
@media (prefers-reduced-motion: reduce) {
  body.sf-theme-quantum-array * { animation-duration: 60s !important; }
}

/* v1.9.1 - Quantum Array: cart pill gets the animated gradient border (header, mobile menu) */
body.sf-theme-quantum-array .site-cart { position: relative; border-color: transparent; }
body.sf-theme-quantum-array .site-cart::before {
  content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 2px;
  background: var(--sf-quantum); background-size: 300% 100%; animation: sf-quantum-shift 12s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}


/* ============================================================
   v1.9.4 - no empty band where the (hidden) page title used to be.
   --sf-page-top is the space between the header and the first thing on a page; 0 = none.
   ============================================================ */
:root { --sf-page-top: 0px; }
.page .content-wrap,
.post-type-archive-product .wc-wrap { padding-top: var(--sf-page-top); }
.page .entry-header { margin: 0; padding: 0; height: 0; overflow: hidden; }
.page .entry-content > :first-child,
.post-type-archive-product .woocommerce-products-header { margin-top: 0; }
.post-type-archive-product .woocommerce-products-header { margin-bottom: 0; }
.post-type-archive-product .woocommerce-breadcrumb { margin-top: 0; }
