/*
Theme Name: BITCHLOVE
Theme URI: https://shop.bitchlove.com
Description: Neon dive-bar storefront for the BITCHLOVE apparel brand. Child of Twenty Twenty-Five. Palette and type match the rest of the bitchlove.com estate. No external font or asset requests — everything is local.
Author: A Bitter Nut Joint
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Template: twentytwentyfive
Text Domain: bitchlove
*/

:root{
  --bl-room:#0b0a0f;  --bl-brick:#12111a; --bl-panel:#16151f;
  --bl-ink:#f4f2f7;   --bl-muted:#6b6880; --bl-line:#2b2838;
  --bl-neon:#ff2e88;  --bl-tube:#4cc9f0;  --bl-amber:#b57bff;
  --bl-live:#3ddc84;
}

body{ background:var(--bl-room); color:var(--bl-ink); }

/* ── room glow, fixed behind everything ─────────────────────── */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 45% at 50% -5%, rgba(255,46,136,.13), transparent 60%),
    radial-gradient(ellipse 55% 40% at 8% 100%, rgba(76,201,240,.09), transparent 60%);
}
.wp-site-blocks{ position:relative; z-index:1; }

/* ── type ───────────────────────────────────────────────────── */
h1,h2,h3,h4,.wp-block-post-title,.woocommerce-loop-product__title,
.product_title,.wc-block-components-product-name{
  font-family:"Big Shoulders Display","Haettenschweiler","Arial Narrow",Impact,sans-serif;
  text-transform:uppercase; letter-spacing:-.01em; font-weight:800; line-height:.95;
}
h1,.product_title{ text-shadow:0 0 22px rgba(255,46,136,.34), 0 0 62px rgba(255,46,136,.12); }

/* ── product grid ───────────────────────────────────────────── */
ul.products li.product,
.wc-block-grid__product{
  background:var(--bl-brick); border:1px solid var(--bl-line); border-radius:3px;
  padding:16px; position:relative; transition:border-color .16s, transform .16s, background .16s;
}
ul.products li.product::before,
.wc-block-grid__product::before{
  content:""; position:absolute; inset:-1px -1px auto; height:2px; opacity:0;
  background:linear-gradient(90deg,transparent,var(--bl-neon),var(--bl-amber),var(--bl-tube),transparent);
  transition:opacity .16s;
}
ul.products li.product:hover,
.wc-block-grid__product:hover{
  border-color:var(--bl-neon); background:var(--bl-panel); transform:translateY(-2px);
}
ul.products li.product:hover::before,
.wc-block-grid__product:hover::before{ opacity:1; }

ul.products li.product .woocommerce-loop-product__title{
  font-size:1.22rem; color:var(--bl-ink); padding:.6em 0 .3em;
}
ul.products li.product .price,
.wc-block-grid__product-price{
  color:var(--bl-neon); font-weight:700; font-size:1rem;
}
ul.products li.product .price del{ color:var(--bl-muted); opacity:.7; }

/* product image placeholder shouldn't look broken while art is pending */
ul.products li.product img,
.woocommerce-product-gallery img{
  border-radius:2px; background:var(--bl-panel);
}

/* ── buttons ────────────────────────────────────────────────── */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt,
.woocommerce button.button.alt, .wc-block-components-button{
  background:var(--bl-neon); color:#0b0a0f; border:0; border-radius:2px;
  font-family:"IBM Plex Mono",ui-monospace,monospace; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em; font-size:.78rem;
  padding:.95em 1.7em; transition:background .16s, transform .16s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .wc-block-components-button:hover{
  background:var(--bl-amber); color:#0b0a0f; transform:translateY(-1px);
}
.woocommerce .button.added_to_cart{ background:var(--bl-live); }

/* ── single product ─────────────────────────────────────────── */
.woocommerce div.product .product_title{ font-size:clamp(2.1rem,6vw,3.4rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price{ color:var(--bl-neon); font-size:1.5rem; font-weight:700; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ border-bottom:1px solid var(--bl-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:var(--bl-brick); border:1px solid var(--bl-line); border-radius:2px 2px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--bl-panel); border-bottom-color:var(--bl-neon);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--bl-ink); }

/* variation selector — the size dropdown */
.woocommerce div.product form.cart .variations{ border:0; }
.woocommerce div.product form.cart .variations label{
  color:var(--bl-muted); text-transform:uppercase; letter-spacing:.2em;
  font-size:.68rem; font-weight:400;
}
select, input[type=text], input[type=email], input[type=tel],
input[type=password], input[type=number], textarea,
.wc-block-components-text-input input{
  background:var(--bl-brick) !important; color:var(--bl-ink) !important;
  border:1px solid var(--bl-line) !important; border-radius:2px !important;
  padding:.7em .8em !important;
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
}
select:focus, input:focus, textarea:focus{ border-color:var(--bl-neon) !important; outline:none !important; }

/* ── notices ────────────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner{
  background:var(--bl-brick); border-top:2px solid var(--bl-tube);
  color:var(--bl-ink); border-radius:2px;
}
.woocommerce-message{ border-top-color:var(--bl-live); }
.woocommerce-error{ border-top-color:var(--bl-neon); }

/* ── cart / checkout tables ─────────────────────────────────── */
.woocommerce table.shop_table{
  border:1px solid var(--bl-line); border-radius:3px; background:var(--bl-brick);
}
.woocommerce table.shop_table th{
  color:var(--bl-muted); text-transform:uppercase; letter-spacing:.18em;
  font-size:.68rem; font-weight:400;
}
.woocommerce table.shop_table td{ border-top:1px solid var(--bl-line); }
.woocommerce-cart table.cart img{ width:64px; border-radius:2px; }

/* ── misc chrome ────────────────────────────────────────────── */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-breadcrumb{ color:var(--bl-muted); font-size:.78rem; }
.woocommerce .woocommerce-breadcrumb a{ color:var(--bl-tube); }
mark, .woocommerce mark{ background:transparent; color:var(--bl-neon); }
hr, .wp-block-separator{ border-color:var(--bl-line); }

/* onsale flash */
.woocommerce span.onsale{
  background:var(--bl-neon); color:#0b0a0f; border-radius:2px;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.68rem;
  min-width:auto; min-height:auto; padding:.4em .8em; line-height:1;
}

/* no page-level horizontal scroll on mobile */
html,body{ overflow-x:hidden; }
.woocommerce table.shop_table{ display:block; overflow-x:auto; }

@media (max-width:600px){
  ul.products li.product{ padding:12px; }
  .woocommerce div.product .product_title{ font-size:2.1rem; }
}
