/**
Theme Name: ORAS Theme
Author: Paul Rocco
Author URI: https://oras.org
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oras-theme
Template: astra
*/

/* -------------------------------------------------------------------------- */
/*
 * Global glassmorphism baseline previously stored in the Customizer's
 * "Additional CSS" panel. Migrated into the theme so it can live under
 * version control and accompany other bespoke styling like the MEC overrides.
 *
 * If this file is edited, remove the duplicate rules from the Customizer to
 * avoid maintenance drift.
 */

/* ============================
   GENERAL BODY & STARFIELD
   ============================ */
body {
  margin: 0;
  background: #01010a; /* dark night sky */
  overflow-x: hidden;
  min-height: 100vh;
  color: #ffffff;
  font-family: sans-serif;
}

#nebula-canvas,
#star-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  pointer-events: none;
  display: block;
}

#nebula-canvas {
  z-index: -3;
}

.content {
  position: relative;
  z-index: 1;
  padding: 50px;
}

/* Mobile: hide starfield */
@media only screen and (max-width: 1024px) {
  #nebula-canvas,
  #star-canvas {
    display: none !important;
  }

  body,
  html {
    background: #01010a !important;
  }
}

.page .entry-title {
  display: none;
}

/* ============================
   GLASS/FROSTED EFFECT BASE
   ============================ */
.glass {
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
  color: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.glass:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.45);
}

/* ============================
   WOOCOMMERCE DARK MODE
   ============================ */
.woocommerce-cart table.shop_table thead th,
.woocommerce-cart table.shop_table tbody td,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout .shop_table,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: rgba(34, 34, 34, 0.75) !important;
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  border: 1px solid rgba(68, 68, 68, 0.5) !important;
  border-radius: 12px;
  color: #fff !important;
}

.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
  background-color: #0073e6 !important;
  color: #fff !important;
  border-radius: 6px;
  padding: 10px 18px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.woocommerce-cart .checkout-button:hover,
.woocommerce-checkout #place_order:hover {
  background-color: #005bb5 !important;
}

.woocommerce-cart table.shop_table tbody tr,
.woocommerce-cart .cart-collaterals .cart_totals table tr,
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
  border-bottom: 1px solid rgba(68, 68, 68, 0.5) !important;
}

/* ============================
   PMPRO DARK MODE
   ============================ */
.pmpro_form,
#pmpro_account,
#pmpro_checkout_box,
#pmpro_level-boxes,
.pmpro_login_wrap {
  max-width: 900px;
  margin: 30px auto;
  padding: 25px;
  background: rgba(17, 17, 17, 0.75) !important;
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
  color: #f1f1f1;
}

.pmpro_form h2,
.pmpro_form h3,
#pmpro_account h2,
#pmpro_account h3 {
  color: #fff;
  font-weight: 600;
  margin-bottom: 15px;
}

.pmpro_form h3,
#pmpro_account h3 {
  border-bottom: 2px solid rgba(51, 51, 51, 0.5);
  padding-bottom: 8px;
}

.pmpro_form p,
.pmpro_form strong,
.pmpro_form label,
#pmpro_account p,
#pmpro_account label {
  color: #ddd;
  font-size: 15px;
}

.pmpro_form input,
.pmpro_form select,
.pmpro_form textarea {
  background: rgba(34, 34, 34, 0.75) !important;
  -webkit-backdrop-filter: blur(6px) saturate(180%);
  backdrop-filter: blur(6px) saturate(180%);
  color: #f1f1f1 !important;
  border: 1px solid rgba(68, 68, 68, 0.5) !important;
  border-radius: 6px;
  padding: 8px;
  width: 100%;
  margin-bottom: 15px;
}

.pmpro_form input:focus,
.pmpro_form select:focus,
.pmpro_form textarea:focus {
  border-color: #0073e6 !important;
  outline: none;
  box-shadow: 0 0 8px #0073e6;
}

.pmpro_form input[type="submit"],
.pmpro_form .pmpro_btn,
.pmpro_form button,
.pmpro_btn.pmpro_btn-submit {
  background-color: #0073e6 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px;
  padding: 10px 18px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.pmpro_form input[type="submit"]:hover,
.pmpro_form .pmpro_btn:hover,
.pmpro_form button:hover {
  background-color: #005bb5 !important;
}

#pmpro_account table,
.pmpro_table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(26, 26, 26, 0.75) !important;
  -webkit-backdrop-filter: blur(6px) saturate(180%);
  backdrop-filter: blur(6px) saturate(180%);
  color: #f1f1f1 !important;
  border-radius: 12px;
}

#pmpro_account table th,
#pmpro_account table td,
.pmpro_table th,
.pmpro_table td {
  padding: 12px;
  border: 1px solid rgba(51, 51, 51, 0.5) !important;
  text-align: left;
  color: #f1f1f1 !important;
}

#pmpro_account table th,
.pmpro_table th {
  background: rgba(34, 34, 34, 0.85) !important;
}

/* Links */
.pmpro_form a,
#pmpro_account a {
  color: #4eaaff;
}

.pmpro_form a:hover,
#pmpro_account a:hover {
  color: #1e90ff;
}

/* Notices */
.pmpro_message,
.pmpro_error,
.pmpro_success,
.pmpro_alert {
  background: rgba(34, 34, 34, 0.85) !important;
  -webkit-backdrop-filter: blur(6px) saturate(180%);
  backdrop-filter: blur(6px) saturate(180%);
  color: #fff !important;
  border-left: 4px solid #1e90ff;
  padding: 10px 15px;
  margin-bottom: 15px;
  border-radius: 6px;
}

/* ============================
   DARK MODE TOGGLE BUTTON
   ============================ */
#oras-dark-mode-toggle {
  position: fixed;
  bottom: 1px;
  right: 10px;
  width: 60px;
  height: 60px;
  z-index: 9999;
  cursor: pointer;
}

#oras-dark-mode-toggle ._track {
  position: relative;
  width: 100%;
  height: 50%;
  border-radius: 19px;
  background: #333;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px;
  transition: all 0.3s;
}

#oras-dark-mode-toggle ._thumb {
  position: absolute;
  width: 50%;
  height: 100%;
  background: #fff;
  border-radius: 50px;
  left: 0;
  top: 0;
  transition: all 0.3s;
}

#oras-dark-mode-toggle.light ._thumb {
  left: 50%;
}

#oras-dark-mode-toggle ._icon {
  width: 24px;
  height: 24px;
  color: #fff;
  z-index: 1;
}

/* ============================
   LIGHT MODE OVERRIDES
   ============================ */
body.light-mode {
  background-color: #ffffff !important;
  color: #000000 !important;
}

body.light-mode *,
body.light-mode p,
body.light-mode span,
body.light-mode h1,
body.light-mode h2,
body.light-mode h3,
body.light-mode h4,
body.light-mode h5,
body.light-mode h6,
body.light-mode strong,
body.light-mode label,
body.light-mode a {
  color: #000000 !important;
}

body.light-mode #nebula-canvas,
body.light-mode #star-canvas {
  display: none !important;
}

/* WooCommerce light mode */
body.light-mode .woocommerce-cart table.shop_table,
body.light-mode .woocommerce-cart table.shop_table tbody td,
body.light-mode .woocommerce-cart table.shop_table thead th,
body.light-mode .woocommerce-cart .cart-collaterals,
body.light-mode .woocommerce-cart .cart-collaterals .cart_totals,
body.light-mode .woocommerce-cart .cart-collaterals .cart_totals table th,
body.light-mode .woocommerce-cart .cart-collaterals .cart_totals table td,
body.light-mode .woocommerce-checkout .shop_table,
body.light-mode .woocommerce-checkout .shop_table th,
body.light-mode .woocommerce-checkout .shop_table td,
body.light-mode .woocommerce-checkout input,
body.light-mode .woocommerce-checkout select,
body.light-mode .woocommerce-checkout textarea {
  background: rgba(255, 255, 255, 0.85) !important;
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 12px;
  color: #000 !important;
}

body.light-mode .woocommerce-cart .checkout-button,
body.light-mode .woocommerce-checkout #place_order {
  background-color: #0073e6 !important;
  color: #fff !important;
}

/* PMPro light mode */
body.light-mode .pmpro_form,
body.light-mode #pmpro_account,
body.light-mode #pmpro_checkout_box,
body.light-mode #pmpro_level-boxes,
body.light-mode .pmpro_login_wrap {
  background: rgba(255, 255, 255, 0.85) !important;
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  color: #000 !important;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

body.light-mode .pmpro_form input,
body.light-mode .pmpro_form select,
body.light-mode .pmpro_form textarea {
  background: rgba(255, 255, 255, 0.85) !important;
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #000 !important;
  border-radius: 6px;
}

body.light-mode #pmpro_account table,
body.light-mode .pmpro_table,
body.light-mode #pmpro_account table th,
body.light-mode #pmpro_account table td,
body.light-mode .pmpro_table th,
body.light-mode .pmpro_table td {
  background: rgba(245, 245, 245, 0.85) !important;
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  backdrop-filter: blur(8px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #000 !important;
  border-radius: 12px;
}

/* Links */
body.light-mode a {
  color: #0073e6 !important;
}

/* Add top padding for WooCommerce pages so header doesn't overlap */
body.woocommerce-page #primary,
body.woocommerce-page .site-main,
body.woocommerce-page .woocommerce {
  padding-top: 120px;
}

body.single-product .site-content,
body.single-product #content,
body.single-product .entry-content {
  padding-top: 100px;
}

@media (max-width: 768px) {
  body.single-product .site-content,
  body.single-product #content,
  body.single-product .entry-content {
    padding-top: 80px;
  }
}

/* Add top padding for WooCommerce pages so header doesn't overlap,
   but exclude My Account page */
body.woocommerce-page:not(.woocommerce-account) #primary,
body.woocommerce-page:not(.woocommerce-account) .site-main,
body.woocommerce-page:not(.woocommerce-account) .woocommerce {
  padding-top: 120px;
}

/* My Account page - smaller top padding */
body.woocommerce-account #primary,
body.woocommerce-account .site-main,
body.woocommerce-account .woocommerce {
  padding-top: 50px; /* adjust as needed */
}