/* Raptor Labs theme fixes / overrides — loaded AFTER the lifted Tailwind CSS. */

/* Force the light design for ALL visitors. The source forces light via next-themes JS; without it,
   dark-mode browsers render the transparent sections over a dark canvas (white sections look black). */
:root { color-scheme: light; }
html, body { background-color: #ffffff; color: hsl(var(--foreground)); }

/* ---- WooCommerce checkout / cart form styling (brand the default WC markup) ---- */
.woocommerce-checkout .rl-checkout-fields .form-row,
.woocommerce form .form-row { display: flex; flex-direction: column; margin: 0 0 16px; padding: 0; }
.woocommerce-checkout .rl-checkout-fields .form-row label,
.woocommerce form .form-row label,
.woocommerce-checkout label { font-family: 'Space Grotesk', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: hsl(var(--muted-foreground)); margin: 0 0 6px; }
.woocommerce form .form-row input.input-text,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce .select2-container .select2-selection--single { border: 2px solid rgba(0,0,0,.2) !important; border-radius: 0 !important; padding: 11px 14px !important; min-height: 46px; background: transparent; font-family: 'Space Grotesk', sans-serif; font-size: 14px; color: #000; box-shadow: none; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus { border-color: #000 !important; outline: none; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 22px; color: #000; padding: 0; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; }

/* black, branded buttons everywhere on cart/checkout (replace WC purple) */
#place_order, button#place_order,
.woocommerce button.button.alt, .woocommerce a.button.alt,
.woocommerce button.button, .woocommerce a.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: #000 !important; color: #fff !important; border: 2px solid #000 !important; border-radius: 0 !important;
  font-family: 'Space Grotesk', sans-serif !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: .12em !important; padding: 14px 28px !important; box-shadow: none !important; text-shadow: none !important; opacity: 1 !important;
}
#place_order:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: #fff !important; color: #000 !important; }

/* payment methods list (BTC) */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 2px solid rgba(0,0,0,.12); margin: 0 0 14px; padding: 14px 16px; }
.woocommerce-checkout #payment ul.payment_methods li { font-family: 'Space Grotesk', sans-serif; }
.woocommerce-checkout #payment ul.payment_methods label { text-transform: none; letter-spacing: 0; font-weight: 700; color: #000; }
.woocommerce-checkout #payment div.payment_box { background: hsl(var(--surface-container, 0 0% 96%)); border-radius: 0; font-family: 'Space Grotesk', sans-serif; font-size: 13px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 0; margin-top: 8px; }
#place_order { width: 100%; }

/* ---- checkout 2-column layout (force over WC default form.checkout = block) ---- */
.woocommerce-checkout form.checkout { display: flex !important; flex-direction: column; gap: 40px; }
@media (min-width: 1024px) { .woocommerce-checkout form.checkout { flex-direction: row; align-items: flex-start; } }
.rl-checkout-left { flex: 1 1 auto; min-width: 0; }
.rl-checkout-right { flex: 0 0 380px; max-width: 380px; width: 100%; }
@media (max-width: 1023px) { .rl-checkout-right { flex-basis: auto; max-width: 100%; } }
/* billing fields: first/last 2-up, the rest full-width */
.rl-checkout-fields .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.rl-checkout-fields .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: 1 / -1; }
.rl-checkout-fields .woocommerce-billing-fields__field-wrapper > .form-row-first { grid-column: 1 / 2; }
.rl-checkout-fields .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: 2 / 3; }
.woocommerce form .form-row input.input-text,
.woocommerce-checkout input.input-text, .woocommerce-checkout textarea, .woocommerce-checkout select { width: 100% !important; box-sizing: border-box; }
.rl-order-review .shop_table, .rl-order-review table { width: 100%; border: 0; }
.rl-order-review .shop_table th, .rl-order-review .shop_table td { padding: 8px 0; font-family: 'Space Grotesk', sans-serif; font-size: 13px; border: 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.rl-order-review .order-total th, .rl-order-review .order-total td { font-family: 'Prompt', sans-serif; font-weight: 900; font-size: 18px; border-bottom: 0; border-top: 2px solid #000; padding-top: 12px; }

/* ---- mobile store filters slide-over ---- */
@media (max-width: 1023px) {
  #rl-filters-panel { display: none; }
  #rl-filters-panel.rl-show { display: block !important; position: fixed; inset: 0; z-index: 95; width: 100%; max-width: 100%; overflow-y: auto; background: #fff; padding: 20px 20px 48px; }
  #rl-filters-panel.rl-show .lg\:sticky { position: static; }
}

/* ---- homepage SEO content zone (editable prose) ---- */
.rl-home-seo { font-family: 'Space Grotesk', sans-serif; color: hsl(var(--foreground)); }
.rl-home-seo h1, .rl-home-seo h2, .rl-home-seo h3 { font-family: 'Prompt', sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: .01em; color: hsl(var(--foreground)); margin: 0 0 .6em; line-height: 1.12; }
.rl-home-seo h2 { font-size: clamp(1.6rem, 4vw, 2.4rem); }
.rl-home-seo h3 { font-size: 1.4rem; }
.rl-home-seo p { font-size: 1rem; line-height: 1.7; color: hsl(var(--muted-foreground)); margin: 0 0 1em; }
.rl-home-seo a { color: hsl(var(--primary)); text-decoration: underline; }
.rl-home-seo ul, .rl-home-seo ol { margin: 0 0 1em 1.2em; color: hsl(var(--muted-foreground)); }
.rl-home-seo li { margin-bottom: .4em; }
