/* =========================================================
   POLYDIGM BILLIARDS - GLOBAL CSS
   Load site-wide. Keep this file boring: brand tokens, base theme,
   typography, global buttons/forms, shared Woo notices/tables.
   ========================================================= */

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */

:root {
  --pd-black: #000;
  --pd-bg: #050505;
  --pd-panel: #101010;
  --pd-panel-2: #171717;

  --pd-text: #f4f4f4;
  --pd-muted: rgba(255,255,255,0.62);
  --pd-faint: rgba(255,255,255,0.38);
  --pd-border: rgba(255,255,255,0.14);

  --pd-yellow: #f5c400;
  --pd-yellow-2: #ffe15c;
  --pd-glow: rgba(245,196,0,0.24);

  --pd-red: #ff3131;
  --pd-green: #63d65f;

  --pd-radius: 22px;
}


/* =========================================================
   2. GLOBAL BLACKOUT / BASE
   ========================================================= */

html,
body,
#page,
.site,
.site-content,
.ast-container,
#content,
.ast-separate-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
  background: var(--pd-black) !important;
  color: var(--pd-text);
}

body {
  font-size: 16px;
  line-height: 1.65;
}

.ast-container,
.site-content .ast-container {
  max-width: 1180px !important;
  padding-left: 24px;
  padding-right: 24px;
}

a {
  color: var(--pd-yellow);
}

a:hover {
  color: var(--pd-yellow-2);
}


/* =========================================================
   3. HEADER
   ========================================================= */

.site-header,
.main-header-bar,
.ast-primary-header-bar {
  background: var(--pd-bg) !important;
  border-bottom: 1px solid var(--pd-border);
}

.site-header .ast-container,
.main-header-bar .ast-container,
.ast-primary-header-bar .ast-container {
  max-width: 100% !important;
  padding-left: clamp(24px, 5vw, 72px);
  padding-right: clamp(24px, 5vw, 72px);
}

.site-title,
.site-title a {
  color: var(--pd-yellow) !important;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.main-header-menu a,
.ast-builder-menu-1 .menu-item > .menu-link {
  color: var(--pd-muted) !important;
}

.main-header-menu a:hover,
.ast-builder-menu-1 .menu-item > .menu-link:hover {
  color: var(--pd-yellow) !important;
}


/* =========================================================
   4. TYPOGRAPHY / FORMS / BUTTONS
   ========================================================= */

h1, h2, h3, h4, h5, h6,
.entry-title,
.product_title {
  color: var(--pd-text) !important;
  letter-spacing: -0.035em;
}

p {
  color: var(--pd-text);
}

button,
.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce div.product form.cart .button {
  background: var(--pd-yellow) !important;
  color: #050505 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.85rem 1.45rem !important;
  box-shadow: 0 0 24px var(--pd-glow);
}

button:hover,
.button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--pd-yellow-2) !important;
  transform: translateY(-1px);
  box-shadow: 0 0 34px rgba(245,196,0,0.34);
}

input,
textarea,
select {
  background: #060606 !important;
  color: var(--pd-text) !important;
  border: 1px solid var(--pd-border) !important;
  border-radius: 12px !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--pd-yellow) !important;
  box-shadow: 0 0 0 3px rgba(245,196,0,0.16) !important;
  outline: none !important;
}

/* =========================================================
   10. TABLES / NOTICES
   ========================================================= */

.woocommerce table.shop_table,
.woocommerce table.shop_attributes {
  background: var(--pd-panel);
  color: var(--pd-text);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border-color: var(--pd-border) !important;
  color: var(--pd-text);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--pd-panel) !important;
  color: var(--pd-text) !important;
  border-top-color: var(--pd-yellow) !important;
  border-radius: var(--pd-radius);
}

/* =========================================================
   GLOBAL FOOTER FIX
   ========================================================= */

.site-footer,
.ast-footer-copyright,
.ast-builder-grid-row-container,
.site-below-footer-wrap,
.ast-footer-copyright,
footer {
  background: #050505 !important;
  color: rgba(255,255,255,0.42) !important;
  border-top: 1px solid rgba(245,196,0,0.14) !important;
}

.site-footer a,
.ast-footer-copyright a,
footer a {
  color: var(--pd-yellow) !important;
}

/* Bigger header navigation */
.main-header-menu a,
.ast-builder-menu-1 .menu-item > .menu-link {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  letter-spacing: 0.02em;
}

/* Policy pages */
.pd-policy-page {
  max-width: 920px;
  margin: 56px auto 90px;
  padding: 34px;
  background:
    radial-gradient(circle at top left, rgba(245,196,0,0.10), transparent 32%),
    linear-gradient(180deg, #101010, #050505);
  border: 1px solid rgba(245,196,0,0.16);
  border-radius: 28px;
  box-shadow: 0 28px 90px rgba(0,0,0,0.58);
}

.pd-policy-kicker {
  color: var(--pd-yellow) !important;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.pd-policy-page h1 {
  color: #fff !important;
  font-size: clamp(2.35rem, 4vw, 3.6rem);
  line-height: 0.95;
  margin: 0 0 22px;
  text-shadow: 3px 3px 0 rgba(245,196,0,0.16);
}

.pd-policy-lead {
  max-width: 760px;
  color: rgba(255,255,255,0.84) !important;
  font-size: 1.15rem;
  line-height: 1.75;
  margin-bottom: 28px;
}

.pd-policy-card {
  padding: 22px 24px;
  margin-bottom: 18px;
  background: linear-gradient(180deg, #151515, #070707);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 20px;
}

.pd-policy-card h2 {
  color: var(--pd-yellow) !important;
  font-size: 1.25rem;
  margin: 0 0 10px;
}

.pd-policy-card p {
  color: rgba(255,255,255,0.84) !important;
  margin: 0 0 10px;
  line-height: 1.7;
}

.pd-policy-card p:last-child {
  margin-bottom: 0;
}

.pd-policy-contact {
  border-color: rgba(245,196,0,0.28);
}

.pd-policy-card a {
  color: var(--pd-yellow) !important;
  font-weight: 900;
}

/* =========================================
   FOOTER
========================================= */

.site-footer {
	background: #050505 !important;
	border-top: 1px solid rgba(255,255,255,0.06);
}

.site-footer a {
	text-decoration: none !important;
}

.pd-footer-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 26px 20px;
	text-align: center;
}

.pd-footer-links {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.pd-footer-links a {
	color: rgba(255,255,255,0.72) !important;
	transition: all 0.18s ease;
}

.pd-footer-links a:hover {
	color: var(--pd-yellow) !important;
	text-shadow: 0 0 10px rgba(245,196,0,0.35);
}

.pd-footer-divider {
	color: rgba(255,255,255,0.18);
}

.pd-footer-copy {
	color: rgba(255,255,255,0.38);
	font-size: 0.82rem;
	letter-spacing: 0.04em;
}