/* ---------------------------------------------------------------------------
   Split-Flap TV — WooCommerce dark-theme overrides.
   WooCommerce ships CSS tuned for light themes: dark text, white tables and
   light form fields. On this black site (#0a0a0a) that renders as invisible /
   unusable, which reads as "the cart is broken". These rules restyle the cart,
   checkout, my-account and notices for the dark brand so everything is legible
   and clickable. Loaded only when WooCommerce is active (see functions.php).
   Brand tokens: bg #0a0a0a, panel #0c0c0c, line #232323, amber #ffb23e,
   text #ededed, muted #b3b3b3.
--------------------------------------------------------------------------- */

.woocommerce, .woocommerce-page,
.woocommerce *, .woocommerce-page * {
  box-sizing: border-box;
}

/* Give WooCommerce pages room: page.php widens the container via body class. */
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main,
body.woocommerce main {
  color: #ededed;
}

/* --- Headings & general text --- */
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3 {
  color: #ededed;
}
.woocommerce p, .woocommerce label, .woocommerce td, .woocommerce th,
.woocommerce-page p, .woocommerce-page label, .woocommerce-page td, .woocommerce-page th {
  color: #ededed;
}
.woocommerce a { color: #ffb23e; }
.woocommerce a:hover { color: #ffc978; }

/* --- Tables (cart, order review, my-account orders) --- */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
  border: 1px solid #232323;
  border-radius: 6px;
  background: #0c0c0c;
  color: #ededed;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-page table.shop_table td {
  border-top: 1px solid #232323 !important;
  color: #ededed;
}
.woocommerce table.shop_table thead th { color: #b3b3b3; }
.woocommerce table.cart td.product-remove a.remove {
  color: #ededed !important;
  background: transparent;
}
.woocommerce table.cart td.product-remove a.remove:hover {
  color: #0a0a0a !important;
  background: #ffb23e;
}
.woocommerce .cart_totals table tr td,
.woocommerce .cart_totals table tr th { background: transparent; }
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th { color: #ededed; }

/* --- Form fields (checkout, login, coupon, quantity) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity input.qty,
.woocommerce #coupon_code,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.select2-container .select2-selection,
.select2-dropdown {
  background: #111 !important;
  color: #ededed !important;
  border: 1px solid #232323 !important;
  border-radius: 3px;
}
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder { color: #6b6b6b; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.select2-container--focus .select2-selection {
  border-color: #ffb23e !important;
  outline: none;
}
.select2-results__option { color: #ededed; }
.select2-results__option--highlighted { background: #ffb23e !important; color: #0a0a0a !important; }
.woocommerce form .form-row label { color: #b3b3b3; }
.woocommerce .required { color: #ffb23e; }

/* --- Buttons --- */
.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,
.woocommerce-page a.button, .woocommerce-page button.button,
.woocommerce-page input.button {
  background: #ededed;
  color: #0a0a0a;
  border-radius: 3px;
  font-weight: 600;
  border: 0;
  transition: opacity .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
  background: #fff;
  color: #0a0a0a;
  opacity: .9;
}
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
  background: #ffb23e;
  color: #0a0a0a;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #place_order:hover { background: #ffc978; color: #0a0a0a; }
/* Secondary / disabled state */
.woocommerce button.button[disabled], .woocommerce button.button:disabled {
  opacity: .5; cursor: not-allowed;
}

/* --- Panels: order review, payment box, login/coupon toggles --- */
.woocommerce-checkout #payment,
.woocommerce .woocommerce-info,
.woocommerce-checkout-review-order,
.woocommerce form.login, .woocommerce form.checkout_coupon,
.woocommerce form.register {
  background: #0c0c0c !important;
  border: 1px solid #232323 !important;
  border-radius: 6px;
  color: #ededed;
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid #232323; }
.woocommerce-checkout #payment div.payment_box {
  background: #151515;
  color: #ededed;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #151515; }

/* --- Notices (info / success / error) --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce-notice {
  background: #0c0c0c;
  border-top: 3px solid #ffb23e;
  color: #ededed;
  border-radius: 4px;
}
.woocommerce-message { border-top-color: #3ddc84; }
.woocommerce-error { border-top-color: #ff5a5a; }
.woocommerce-message::before { color: #3ddc84; }
.woocommerce-info::before { color: #ffb23e; }
.woocommerce-error::before { color: #ff5a5a; }

/* --- My-account navigation --- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border: 1px solid #232323;
  border-radius: 6px;
  overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #232323;
  background: #0c0c0c;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active { background: #151515; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { color: #ededed; display: block; padding: .75rem 1rem; }

/* --- Cart / checkout layout width on small screens --- */
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals { float: right; width: 42%; }
}

/* ---------------------------------------------------------------------------
   Single product + shop pages — constrain to the theme grid and restyle
   WooCommerce's default product template for the dark brand.
--------------------------------------------------------------------------- */

/* Center + pad the WC default content wrapper (was edge-to-edge). */
.woocommerce #primary.content-area,
.woocommerce-page #primary.content-area {
  max-width: 72rem;
  margin: 0 auto;
  padding: 1.5rem 1.25rem 4rem;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  color: #6b6b6b; font-size: 12px; margin-bottom: 1.75rem;
  text-transform: uppercase; letter-spacing: .06em;
}
.woocommerce .woocommerce-breadcrumb a { color: #b3b3b3; }
.woocommerce .woocommerce-breadcrumb a:hover { color: #ededed; }

/* Product columns + typography */
.woocommerce div.product { color: #ededed; }
.woocommerce div.product .product_title {
  color: #ededed;
  font-family: var(--font-space-grotesk, "Space Grotesk", system-ui, sans-serif);
  font-weight: 600; line-height: 1.05;
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  margin: .25rem 0 .5rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product .woocommerce-variation-price .price {
  color: #ffb23e; font-weight: 600;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #b3b3b3; line-height: 1.7; font-size: 14px; margin-top: 1rem;
}
.woocommerce div.product .woocommerce-product-details__short-description p { margin: .55rem 0; }

/* Hide the Price-Based-on-Country loading-dots placeholder (the stray dot). */
.wcpbc-placeholder { display: none !important; }

/* Variation selector */
.woocommerce div.product form.cart { margin-top: 1.5rem; }
.woocommerce div.product form.cart .variations { border: 0; margin: 0 0 1.25rem; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  border: 0; padding: .4rem 0; vertical-align: middle; color: #ededed; background: transparent;
}
.woocommerce div.product form.cart .variations label {
  color: #b3b3b3; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: 12px;
}
.woocommerce div.product form.cart select {
  background: #111 !important; color: #ededed !important; border: 1px solid #232323 !important;
  border-radius: 3px; min-height: 42px; padding: 0 .75rem; min-width: 12rem;
}
.woocommerce div.product form.cart .reset_variations { color: #b3b3b3; font-size: 13px; margin-left: .5rem; }
.woocommerce div.product form.cart .reset_variations:hover { color: #ededed; }
.woocommerce div.product .woocommerce-variation { margin-bottom: 1rem; }

/* Quantity */
.woocommerce div.product form.cart .quantity input.qty {
  background: #111; color: #ededed; border: 1px solid #232323; border-radius: 3px; height: 46px; width: 4rem;
}

/* "Sign up now" / add-to-cart -> brand amber (replaces the purple) */
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
  background: #ffb23e !important; color: #0a0a0a !important; border: 0 !important;
  border-radius: 3px !important; font-weight: 600 !important; text-transform: none !important;
  padding: .9rem 2rem !important; height: auto !important; font-size: 14px !important;
  transition: background .15s ease;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover { background: #ffc978 !important; color: #0a0a0a !important; }

/* Product meta (SKU / category / tags) */
.woocommerce div.product .product_meta {
  color: #6b6b6b; font-size: 13px; border-top: 1px solid #232323; padding-top: 1rem; margin-top: 1.75rem;
}
.woocommerce div.product .product_meta a { color: #b3b3b3; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid #232323; padding: 0 0 0 0; margin-bottom: 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: #232323; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent; border: 0; border-radius: 0; margin: 0 1.5rem 0 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #b3b3b3; padding: .75rem 0; font-weight: 500; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #ededed; }
.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 .panel { color: #b3b3b3; }
.woocommerce div.product .woocommerce-tabs .panel h2 { color: #ededed; }

/* Related / up-sell products */
.woocommerce .related.products, .woocommerce .up-sells {
  border-top: 1px solid #232323; margin-top: 3rem; padding-top: 2rem;
}
.woocommerce .related.products > h2, .woocommerce .up-sells > h2 { color: #ededed; font-family: var(--font-space-grotesk, "Space Grotesk", sans-serif); }
.woocommerce ul.products li.product {
  background: #0c0c0c; border: 1px solid #232323; border-radius: 6px; padding: 1rem; text-align: left;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: #ededed; font-size: 15px; }
.woocommerce ul.products li.product .price { color: #ffb23e; }
.woocommerce ul.products li.product img { border-radius: 4px; margin-bottom: .75rem; }
.woocommerce ul.products li.product a.button, .woocommerce ul.products li.product .button {
  background: transparent !important; color: #ededed !important; border: 1px solid #232323 !important;
}

/* Reformatted feature checklist (built by theme.js from the "·" description). */
.woocommerce div.product .sf-feature-list {
  list-style: none; margin: 1.1rem 0; padding: 0;
  display: grid; grid-template-columns: 1fr; gap: .5rem .9rem;
}
@media (min-width: 640px) {
  .woocommerce div.product .sf-feature-list { grid-template-columns: 1fr 1fr; }
}
.woocommerce div.product .sf-feature-list li {
  position: relative; padding-left: 1.4rem; color: #b3b3b3; font-size: 13.5px; line-height: 1.5;
}
.woocommerce div.product .sf-feature-list li::before {
  content: "✓"; position: absolute; left: 0; top: 0; color: #ffb23e; font-weight: 700; font-size: 12px;
}
.woocommerce div.product .woocommerce-product-details__short-description > p:first-child {
  color: #ededed; font-size: 16px;
}

/* Reassurance block under the add-to-cart button. `clear: both` drops it onto
   its own full-width row below WooCommerce's floated quantity + "Sign up now"
   button (it was wrapping into the narrow gap to the right of the button). */
.woocommerce div.product form.cart .sf-product-reassure,
.sf-product-reassure {
  clear: both; margin: 1.5rem 0 0; padding-top: 1.25rem;
  border-top: 1px solid #1c1c1c; max-width: 30rem;
}
.sf-reassure-badges {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: .55rem 1.25rem;
}
.sf-reassure-badges li {
  position: relative; padding-left: 1.35rem;
  color: #b3b3b3; font-size: 13.5px; line-height: 1.5; text-transform: none; letter-spacing: 0;
}
.sf-reassure-badges li::before {
  content: "\2713"; position: absolute; left: 0; top: 0;
  color: #ffb23e; font-weight: 700; font-size: 12px;
}
.sf-reassure-trial {
  margin: .9rem 0 0; font-size: 14px; color: #b3b3b3; line-height: 1.6;
  text-transform: none; letter-spacing: 0;
}
.sf-reassure-trial a { color: #ffb23e; text-decoration: none; font-weight: 600; }
.sf-reassure-trial a:hover { color: #ffc978; text-decoration: underline; }

/* Currency switcher chip (Price Based on Country) — tidy it. */
.woocommerce div.product .wcpbc-country-selector, .wcpbc-widget-block select {
  background: #111 !important; color: #b3b3b3 !important; border: 1px solid #232323 !important; border-radius: 3px;
}
