/* ============================================================
   OtakuVault — design overrides for Astra + WooCommerce
   LIGHT storefront. Inspired by The Indian Book Store:
   white background, near-black text/buttons, warm sale accents,
   clean image-forward product cards.
   Safe to edit: nothing here touches Astra core files.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800;900&display=swap');

:root{
  --ov-bg:#ffffff;
  --ov-surface:#ffffff;
  --ov-soft:#f6f6f4;
  --ov-line:#e6e6e3;
  --ov-ink:#1f1f21;
  --ov-muted:#6b6b70;
  --ov-brand:#1f1f21;        /* primary buttons — near black, like reference */
  --ov-brand-hover:#000000;
  --ov-sale:#e01e26;         /* red sale badge */
  --ov-sale2:#f7941d;        /* orange, for the promo bar gradient */
  --ov-accent:#7a1e1e;       /* warm maroon accent (hero/section) */
  --ov-gold:#f5a623;         /* star rating */
  --ov-radius:10px;
  --ov-font:'Figtree',-apple-system,'Segoe UI',system-ui,sans-serif;
}

/* ---------- Base / typography ---------- */
body,
.ast-separate-container,
.site{
  background-color:var(--ov-bg);
  color:var(--ov-ink);
  font-family:var(--ov-font);
}
body,button,input,select,textarea{ color:var(--ov-ink); font-family:var(--ov-font); }
h1,h2,h3,h4,h5,h6{ color:var(--ov-ink); font-weight:800; }
a{ color:var(--ov-ink); }
a:hover{ color:var(--ov-sale); }
.ast-small-footer *,.site-info *{ color:var(--ov-muted); }

/* ---------- Announcement bar (warm sale strip) ---------- */
.ov-announcement-bar{
  background:linear-gradient(90deg,var(--ov-sale2),var(--ov-sale));
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:700;
  letter-spacing:.2px;
  padding:9px 12px;
}

/* ---------- Header (white, clean) ---------- */
.site-header,
.ast-primary-header-bar,
.main-header-bar{
  background-color:var(--ov-surface) !important;
  border-bottom:1px solid var(--ov-line);
}
.main-header-menu,
.ast-header-break-point .main-header-bar-navigation{
  background-color:var(--ov-surface);
}
.main-header-menu a,
.ast-header-navigation-arrow{
  color:var(--ov-ink) !important;
  font-weight:600;
}
.main-header-menu a:hover,
.current-menu-item > a{ color:var(--ov-sale) !important; }
.ast-header-woo-cart .count,
.ast-cart-menu-wrap .count{
  background:var(--ov-sale);
  color:#fff;
  border-color:var(--ov-sale);
}

/* ---------- Buttons (solid near-black, like reference) ---------- */
.wp-block-button__link,
.ast-button,
.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit{
  background-color:var(--ov-brand) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--ov-radius) !important;
  font-weight:700 !important;
  transition:.2s ease;
}
.wp-block-button__link:hover,
.ast-button:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover{
  background-color:var(--ov-brand-hover) !important;
  transform:translateY(-1px);
}
/* Secondary / alt buttons — warm accent */
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  background-color:var(--ov-sale) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background-color:#c2161d !important;
}

/* ---------- Product cards (shop / archive loops) ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:var(--ov-surface);
  border:1px solid var(--ov-line);
  border-radius:var(--ov-radius);
  overflow:hidden;
  padding:0 0 14px !important;
  transition:.2s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-3px);
  border-color:#d4d4d0;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.woocommerce ul.products li.product a img{
  margin:0 0 12px;
  border-radius:0;
  background:var(--ov-soft);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  padding:0 14px;
  font-size:14px !important;
  font-weight:600 !important;
  color:var(--ov-ink) !important;
  line-height:1.35;
}
.woocommerce ul.products li.product .price{
  padding:0 14px;
  color:var(--ov-ink) !important;
  font-weight:800;
}
.woocommerce ul.products li.product .price del{
  color:var(--ov-muted) !important;
  font-weight:400;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
  color:var(--ov-sale) !important;
}
.woocommerce ul.products li.product .star-rating{
  margin:0 14px 8px;
  color:var(--ov-gold);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:8px 14px 0;
  display:block;
  text-align:center;
}

/* ---------- Sale badge ---------- */
.woocommerce span.onsale,
.ov-sale{
  background:var(--ov-sale) !important;
  color:#fff !important;
  border-radius:6px !important;
  font-weight:800 !important;
  font-size:11px !important;
  min-height:auto !important;
  min-width:auto !important;
  line-height:1 !important;
  padding:5px 9px !important;
}

/* ---------- Single product page ---------- */
.single-product div.product .price,
.single-product div.product .price ins{ color:var(--ov-ink) !important; }
.single-product div.product .price ins{ color:var(--ov-sale) !important; }
.single-product div.product .woocommerce-tabs ul.tabs li{
  background:var(--ov-soft);
  border-color:var(--ov-line);
}
.single-product .quantity input.qty{
  background:var(--ov-surface);
  color:var(--ov-ink);
  border:1px solid var(--ov-line);
}

/* ---------- Panels / cart / checkout ---------- */
.woocommerce-cart table.cart,
.woocommerce table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order,
.ast-separate-container .ast-article-post{
  background:var(--ov-surface);
  border-color:var(--ov-line);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  color:var(--ov-ink);
  border-color:var(--ov-line) !important;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea{
  background:var(--ov-surface) !important;
  color:var(--ov-ink) !important;
  border:1px solid var(--ov-l