/*
Theme Name:   Galaxy Digitizing Child
Theme URI:    https://shop.galaxydigitizing.com
Description:  Galaxy Digitizing custom child theme for Astra
Author:       Galaxy Digitizing
Template:     astra
Version:      1.0.0
*/

/* ============================================
   GOOGLE FONTS
============================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300&family=Barlow+Condensed:wght@500;600;700;800&display=swap');

/* ============================================
   CSS VARIABLES
============================================ */
:root {
  --navy:        #080C14;
  --navy2:       #0B1728;
  --navy3:       #0F2040;
  --gold:        #C8922A;
  --gold2:       #F2C45A;
  --gold3:       #E8A830;
  --white:       #FFFFFF;
  --offwhite:    #F7F8FC;
  --slate:       #EEF0F8;
  --border:      #DDE3F0;
  --muted:       #6B7A96;
  --text:        #0F1D35;
  --green:       #16A34A;
  --red:         #DC2626;
  --blue:        #2563EB;

  --fd: 'Cinzel', Georgia, serif;
  --fb: 'Barlow', sans-serif;
  --fc: 'Barlow Condensed', sans-serif;

  --r:   4px;
  --r2:  8px;
  --r3:  12px;
  --sh:  0 2px 12px rgba(0,0,0,.08);
  --sh2: 0 8px 32px rgba(0,0,0,.12);
  --sh3: 0 20px 60px rgba(0,0,0,.18);
}

/* ============================================
   GLOBAL RESET & BASE
============================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--fb);
  font-size: 15px;
  color: var(--text);
  background: var(--offwhite);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fd);
  color: var(--navy2);
  line-height: 1.2;
  letter-spacing: 0.03em;
}

a { color: var(--gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold2); }

img { max-width: 100%; height: auto; }

/* ============================================
   HEADER
============================================ */
.site-header,
#masthead,
.ast-masthead-custom-menu-items,
.main-header-bar {
  background: var(--navy) !important;
  border-bottom: 1px solid rgba(200,146,42,.15) !important;
}

.main-header-bar {
  padding: 0 !important;
}

.ast-site-identity {
  padding: 16px 0 !important;
}

/* Site title */
.site-title,
.site-title a,
.ast-site-identity .site-title a {
  font-family: var(--fd) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.site-title a::before {
  content: '✦ ';
  color: var(--gold);
}

.site-description {
  font-family: var(--fc) !important;
  font-size: 10px !important;
  color: rgba(255,255,255,.4) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Navigation */
.main-header-bar .main-navigation,
.ast-flex.main-header-bar-navigation {
  background: transparent !important;
}

.main-navigation ul li a,
.ast-header-break-point .main-navigation ul li a {
  font-family: var(--fc) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.7) !important;
  padding: 8px 16px !important;
  transition: color .2s !important;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: var(--gold2) !important;
}

/* Cart icon in header */
.ast-site-header-cart .count,
.woocommerce-mini-cart__total {
  background: var(--gold) !important;
  color: var(--navy) !important;
}

/* ============================================
   HERO / SHOP BANNER
============================================ */
.woocommerce-products-header {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy3) 50%, #1a0a00 100%);
  padding: 60px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}

.woocommerce-products-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 20% 50%, rgba(200,146,42,.08) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 80% 50%, rgba(200,146,42,.05) 0%, transparent 60%);
  pointer-events: none;
}

.woocommerce-products-header__title {
  font-family: var(--fd) !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  color: var(--white) !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  position: relative;
}

.woocommerce-products-header__title::before {
  content: '✦ ';
  color: var(--gold);
}

/* ============================================
   MAIN CONTENT AREA
============================================ */
.ast-container,
.entry-content,
#content .ast-container {
  max-width: 1280px !important;
}

#primary,
.site-main {
  background: var(--offwhite);
}

/* ============================================
   PRODUCT GRID
============================================ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 24px 0 !important;
}

.woocommerce ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: var(--r2) !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  overflow: hidden !important;
  transition: transform .25s, box-shadow .25s !important;
  box-shadow: var(--sh) !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--sh3) !important;
  border-color: rgba(200,146,42,.3) !important;
}

/* Product image wrapper */
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s !important;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--fd) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: var(--navy2) !important;
  letter-spacing: .5px !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
}

/* Category label on card */
.woocommerce ul.products li.product .ast-woo-product-category {
  font-family: var(--fc) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 0 16px 6px !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-family: var(--fd) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
  padding: 4px 16px 14px !important;
  display: block !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--muted) !important;
  font-size: .85rem !important;
  opacity: .6 !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--gold) !important;
}

/* Add to cart button on card */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  font-family: var(--fc) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  background: linear-gradient(135deg, var(--gold), var(--gold3)) !important;
  color: var(--navy) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 12px 20px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  transition: opacity .2s, transform .1s !important;
}

.woocommerce ul.products li.product .button:hover {
  opacity: .88 !important;
  transform: none !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--red) !important;
  color: var(--white) !important;
  font-family: var(--fc) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  border-radius: 3px !important;
  padding: 4px 10px !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
}

/* ============================================
   PRODUCT SINGLE PAGE
============================================ */
.single-product div.product {
  background: var(--white);
  border-radius: var(--r2);
  padding: 32px;
  box-shadow: var(--sh);
  border: 1px solid var(--border);
}

.single-product .product_title {
  font-family: var(--fd) !important;
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  color: var(--navy2) !important;
  letter-spacing: 1px !important;
  margin-bottom: 8px !important;
}

.single-product p.price,
.single-product span.price {
  font-family: var(--fd) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
}

/* Add to cart button — single product */
.single-product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: var(--fc) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: linear-gradient(135deg, var(--gold), var(--gold3)) !important;
  color: var(--navy) !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: 14px 32px !important;
  transition: opacity .2s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single-product .single_add_to_cart_button:hover {
  opacity: .85 !important;
  background: linear-gradient(135deg, var(--gold), var(--gold3)) !important;
  color: var(--navy) !important;
}

/* Quantity selector */
.woocommerce .quantity .qty {
  border: 2px solid var(--border) !important;
  border-radius: var(--r) !important;
  font-family: var(--fd) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--navy2) !important;
  padding: 8px 12px !important;
  width: 72px !important;
}

.woocommerce .quantity .qty:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--border) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--gold) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--fc) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--navy2) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--offwhite) !important;
  border: 1px solid var(--border) !important;
  border-top: none !important;
  padding: 24px !important;
  border-radius: 0 0 var(--r2) var(--r2) !important;
}

/* ============================================
   SHOP SIDEBAR & FILTERS
============================================ */
.widget_product_categories .product-categories li a {
  font-family: var(--fb) !important;
  font-size: 13px !important;
  color: var(--text) !important;
  padding: 6px 0 !important;
  display: block !important;
  border-bottom: 1px solid var(--border) !important;
  transition: color .2s, padding-left .2s !important;
}

.widget_product_categories .product-categories li a:hover {
  color: var(--gold) !important;
  padding-left: 6px !important;
}

.widget-title,
.widgettitle {
  font-family: var(--fd) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--navy2) !important;
  border-bottom: 2px solid var(--gold) !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

/* ============================================
   CART PAGE
============================================ */
.woocommerce-cart .woocommerce-cart-form table {
  border: 1px solid var(--border) !important;
  border-radius: var(--r2) !important;
  overflow: hidden !important;
}

.woocommerce table.shop_table th {
  background: var(--navy2) !important;
  color: rgba(255,255,255,.7) !important;
  font-family: var(--fc) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 14px 16px !important;
  border: none !important;
}

.woocommerce table.shop_table td {
  padding: 16px !important;
  border-color: var(--border) !important;
  vertical-align: middle !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r2) !important;
  padding: 24px !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: var(--fd) !important;
  font-size: 1rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--navy2) !important;
  border-bottom: 2px solid var(--gold) !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

/* ============================================
   CHECKOUT PAGE
============================================ */
.woocommerce-checkout #payment {
  background: var(--offwhite) !important;
  border-radius: var(--r2) !important;
  border: 1px solid var(--border) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r) !important;
  padding: 10px 14px !important;
  font-family: var(--fb) !important;
  font-size: 14px !important;
  transition: border-color .2s !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(200,146,42,.1) !important;
}

.woocommerce form .form-row label {
  font-family: var(--fc) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}

/* ============================================
   MY ACCOUNT PAGE
============================================ */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--navy2) !important;
  border-radius: var(--r2) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 14px 20px !important;
  font-family: var(--fc) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.6) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  transition: all .2s !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--gold2) !important;
  background: rgba(200,146,42,.08) !important;
  border-left: 3px solid var(--gold) !important;
  padding-left: 17px !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r2) !important;
  padding: 28px !important;
}

/* ============================================
   ORDER STATUS BADGES
============================================ */
.woocommerce-order-status {
  font-family: var(--fc) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
}

mark.order-status.status-completed,
.woocommerce-order-status.status-completed {
  background: rgba(22,163,74,.12) !important;
  color: #16a34a !important;
}

mark.order-status.status-processing,
.woocommerce-order-status.status-processing {
  background: rgba(234,179,8,.12) !important;
  color: #a16207 !important;
}

mark.order-status.status-on-hold,
.woocommerce-order-status.status-on-hold {
  background: rgba(37,99,235,.12) !important;
  color: #1d4ed8 !important;
}

/* ============================================
   NOTICES & MESSAGES
============================================ */
.woocommerce-message,
.woocommerce-info {
  background: rgba(200,146,42,.08) !important;
  border-top-color: var(--gold) !important;
  color: var(--navy2) !important;
  font-family: var(--fb) !important;
}

.woocommerce-error {
  background: rgba(220,38,38,.06) !important;
  border-top-color: var(--red) !important;
}

/* ============================================
   FOOTER
============================================ */
.site-footer,
#colophon,
.footer-widget-area,
.ast-small-footer {
  background: var(--navy) !important;
  border-top: 1px solid rgba(200,146,42,.15) !important;
  color: rgba(255,255,255,.5) !important;
}

.site-footer a,
#colophon a {
  color: rgba(255,255,255,.5) !important;
  transition: color .2s !important;
}

.site-footer a:hover,
#colophon a:hover {
  color: var(--gold2) !important;
}

.ast-small-footer .ast-footer-copyright {
  font-family: var(--fc) !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  color: rgba(255,255,255,.35) !important;
  padding: 16px 0 !important;
}

.footer-widget-area .widget-title,
.footer-widget-area .widgettitle {
  color: var(--white) !important;
  border-bottom-color: var(--gold) !important;
}

.footer-widget-area .widget,
.footer-widget-area p,
.footer-widget-area li {
  color: rgba(255,255,255,.5) !important;
  font-size: 13px !important;
}

.footer-widget-area a {
  color: rgba(255,255,255,.5) !important;
}

.footer-widget-area a:hover {
  color: var(--gold2) !important;
}

/* ============================================
   ANNOUNCEMENT BAR (top of page)
============================================ */
.ast-above-header-section,
.ast-above-header {
  background: var(--gold) !important;
  color: var(--navy) !important;
  font-family: var(--fc) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 8px !important;
}

/* ============================================
   BREADCRUMBS
============================================ */
.woocommerce .woocommerce-breadcrumb,
.ast-breadcrumbs-wrapper {
  font-family: var(--fc) !important;
  font-size: 10px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 12px 0 !important;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--muted) !important;
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--gold) !important;
}

/* ============================================
   PRODUCT CATEGORY PAGES
============================================ */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  font-family: var(--fd) !important;
  font-size: .9rem !important;
  color: var(--navy2) !important;
}

/* ============================================
   PAGINATION
============================================ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: var(--fc) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--navy2) !important;
  border-color: var(--border) !important;
  transition: all .2s !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border-color: var(--gold) !important;
}

/* ============================================
   RESPONSIVE
============================================ */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .single-product div.product {
    padding: 16px !important;
  }
}
