/* UI simplification & brand upgrade */
/* =========================================================================
   PUNI LAB — Brand palette (matches the logo: brushed steel + signature red
   + carbon black). Loaded last so every older red/cyan/gold is unified.
   ========================================================================= */
:root,
body {
  /* Core tokens */
  --lab-carbon: #08090b;        /* page background */
  --lab-graphite: #111317;      /* sections */
  --lab-panel: #16191e;         /* cards / panels */
  --lab-panel-hi: #1d2127;      /* hovered card */
  --lab-line: #2a2f37;          /* hairlines */
  --lab-steel-dim: #8b929b;     /* secondary text */
  --lab-steel: #c9ced4;         /* body text on dark */
  --lab-steel-bright: #f1f3f5;  /* headings */
  --lab-red: #e3141c;           /* signature red (logo "LAB") */
  --lab-red-hot: #ff2b31;       /* hover / highlight */
  --lab-red-deep: #a10c12;      /* pressed / shadows */
  --lab-steel-grad: linear-gradient(180deg, #ffffff 0%, #d9dde2 38%, #9aa1aa 62%, #e6e9ec 100%);
  --lab-red-grad: linear-gradient(180deg, #ff3a3f 0%, #e3141c 55%, #b40e15 100%);

  /* Map every legacy token onto the brand */
  --puni-red: var(--lab-red);
  --red: var(--lab-red);
  --skin-red: var(--lab-red);
  --red-hover: var(--lab-red-hot);
  --puni-bg: var(--lab-carbon);
  --bg: var(--lab-carbon);
  --skin-bg: var(--lab-carbon);
}

body {
  background-color: var(--lab-carbon);
  color: var(--lab-steel);
  /* very subtle "lab grid" texture */
  background-image:
    linear-gradient(rgba(201, 206, 212, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 206, 212, 0.025) 1px, transparent 1px);
  background-size: 48px 48px;
}

h1, h2, h3, .woocommerce-loop-product__title, .product_title {
  color: var(--lab-steel-bright);
}

/* Brushed-steel headline accent like the "PUNI" wordmark */
.puni-hero h1 em,
.puni-hero h1 strong,
.puni-steel-text,
.puni-plate-styles-showcase h2 {
  background: var(--lab-steel-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

a { color: var(--lab-steel-bright); }
a:hover { color: var(--lab-red-hot); }

/* Primary actions = signature red */
.puni-button,
.button.alt,
.single_add_to_cart_button,
#place_order,
.checkout-button,
.wc-block-components-button,
button.primary,
.pdd-cta,
.puni-product-studio-cta .puni-button {
  background: var(--lab-red-grad) !important;
  border: 1px solid var(--lab-red-deep) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(227, 20, 28, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.puni-button:hover,
.button.alt:hover,
.single_add_to_cart_button:hover,
#place_order:hover,
.checkout-button:hover,
button.primary:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(255, 43, 49, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Secondary actions = steel outline */
.button:not(.alt):not(.checkout-button),
.puni-button-secondary {
  border-color: var(--lab-line);
  color: var(--lab-steel-bright);
}
.button:not(.alt):not(.checkout-button):hover,
.puni-button-secondary:hover {
  border-color: var(--lab-steel);
}

/* Cards & panels */
.products .product,
.puni-card,
.puni-checkout-love-card,
.woocommerce-checkout-review-order,
.puni-product-trust-perks,
.pdd-formula-bar {
  background-color: var(--lab-panel);
  border-color: var(--lab-line);
}
.products .product:hover { background-color: var(--lab-panel-hi); border-color: #3a4049; }

/* Prices & discounts */
.price, .woocommerce-Price-amount { color: var(--lab-steel-bright); }
.price del, .price del .woocommerce-Price-amount { color: var(--lab-steel-dim); }
.price ins, .price ins .woocommerce-Price-amount { color: var(--lab-red-hot); text-decoration: none; }
.puni-discount-pill, .onsale {
  background: var(--lab-red) !important;
  color: #fff !important;
  border: 0 !important;
}

/* Checkout love card: warm but on-brand */
.puni-checkout-love-card {
  border: 1px solid rgba(227, 20, 28, 0.35);
  border-left: 4px solid var(--lab-red);
  background: linear-gradient(135deg, rgba(227, 20, 28, 0.08), var(--lab-panel) 55%);
}
.puni-checkout-love-card strong { color: var(--lab-steel-bright); }

/* Inputs */
input[type="text"], input[type="tel"], input[type="email"], input[type="number"], select, textarea {
  background-color: var(--lab-graphite);
  border-color: var(--lab-line);
  color: var(--lab-steel-bright);
}
input:focus, select:focus, textarea:focus {
  border-color: var(--lab-red) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(227, 20, 28, 0.22) !important;
}

/* Selection & focus ring */
::selection { background: var(--lab-red); color: #fff; }
:focus-visible { outline: 2px solid var(--lab-red-hot); outline-offset: 2px; }


/* Ensure old delivery note from legacy plugins is strictly hidden */
.puni-checkout-delivery-note {
  display: none !important;
}
