/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
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: astra-child
Template: astra
*/

/* =============================================================================
   EDGE ROP DARK THEME — Complete Site Design System
   Variables · Global · Header · Footer · WooCommerce (all pages) · Forms
   ============================================================================= */

/* === 1. CSS VARIABLES ======================================================= */
:root {
  --edge-bg:         hsl(195,30%,7%);
  --edge-fg:         hsl(210,40%,96%);
  --edge-card:       hsl(200,25%,12%);
  --edge-primary:    hsl(142,69%,58%);
  --edge-primary-fg: hsl(195,30%,7%);
  --edge-secondary:  hsl(174,63%,50%);
  --edge-muted:      hsl(200,20%,16%);
  --edge-muted-fg:   hsl(215,20%,65%);
  --edge-border:     hsl(215,20%,16%);
  --edge-danger:     hsl(0,84%,60%);
  --edge-radius-sm:  6px;
  --edge-radius:     8px;
  --edge-radius-lg:  12px;
  --edge-radius-xl:  16px;
  --edge-transition: 0.15s ease;
  --edge-shadow:     0 4px 24px hsl(195 30% 4% / 0.4);
  --edge-glow:       0 0 24px hsl(142 69% 58% / 0.25);
}

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

html { scroll-behavior: smooth; }

body:not(.login) {
  background-color: var(--edge-bg) !important;
  color: var(--edge-fg) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Scrollbar */
* { scrollbar-width: thin; scrollbar-color: var(--edge-border) var(--edge-bg); }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--edge-bg); }
::-webkit-scrollbar-thumb { background: var(--edge-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--edge-muted-fg); }

/* Selection */
::selection { background: hsl(142 69% 58% / 0.2); color: var(--edge-fg); }

/* Typography */
h1, h2, h3, h4, h5, h6 { color: var(--edge-fg) !important; }
p { color: var(--edge-muted-fg); }
a { color: var(--edge-primary); transition: color var(--edge-transition); }
a:hover { color: var(--edge-secondary); }
strong, b { color: var(--edge-fg) !important; }
span { color: inherit; }

ul li, ol li { color: var(--edge-muted-fg); }

/* Labels */
label {
  color: var(--edge-muted-fg) !important;
  font-size: 13px;
  font-weight: 500;
}

/* === 3. ASTRA HEADER ======================================================== */
.site-header, #masthead, .ast-hfb-header,
.main-header-bar, .ast-mobile-header-wrap {
  background-color: var(--edge-card) !important;
  border-bottom: 1px solid var(--edge-border) !important;
  transition: background var(--edge-transition) !important;
}
.ast-header-break-point .main-header-bar { background-color: var(--edge-card) !important; }

.main-header-menu .menu-item a,
.main-header-menu .menu-item > a,
#ast-desktop-header .main-header-menu a,
.ast-header-break-point .main-navigation a {
  color: var(--edge-muted-fg) !important;
  transition: color var(--edge-transition) !important;
}
.main-header-menu .menu-item a:hover,
.main-header-menu .menu-item > a:hover { color: var(--edge-fg) !important; }

.site-title a, .ast-site-name-wrap a { color: var(--edge-fg) !important; }

.ast-mobile-header-content,
.ast-mobile-popup-drawer { background-color: var(--edge-card) !important; }

.ast-header-cta .ast-header-html .ast-header-button .button {
  background-color: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
  border-radius: var(--edge-radius) !important;
}

/* === 4. ASTRA FOOTER ======================================================== */
.site-footer, #colophon, .footer-widget-area,
.ast-footer-copyright, .ast-small-footer,
.footer-adv, .footer-adv-overlay {
  background-color: var(--edge-card) !important;
  border-top: 1px solid var(--edge-border) !important;
  color: var(--edge-muted-fg) !important;
}
.site-footer a, .ast-small-footer a, .footer-adv a { color: var(--edge-muted-fg) !important; }
.site-footer a:hover, .ast-small-footer a:hover { color: var(--edge-fg) !important; }

/* === 5. CONTENT AREAS ======================================================= */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-inner,
.entry-content, .ast-container, .page-content {
  background-color: var(--edge-bg) !important;
  color: var(--edge-fg) !important;
}
.site-content, #content, #primary, .ast-row, .ast-container {
  background-color: var(--edge-bg) !important;
}
.ast-page-builder-template .entry-content-wrap,
.ast-page-builder-template .site-content-right { background-color: var(--edge-bg) !important; }

/* Breadcrumbs */
.ast-breadcrumbs, .astra-breadcrumbs {
  background-color: var(--edge-bg) !important;
  color: var(--edge-muted-fg) !important;
}
.ast-breadcrumbs a { color: var(--edge-muted-fg) !important; }
.ast-breadcrumbs a:hover { color: var(--edge-primary) !important; }

/* Widgets */
.widget, .widget-area .widget {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 20px !important;
  color: var(--edge-fg) !important;
}
.widget-title, .widget .widget-title {
  color: var(--edge-fg) !important;
  border-bottom: 1px solid var(--edge-border) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}
.widget ul li { color: var(--edge-muted-fg) !important; }
.widget ul li a { color: var(--edge-muted-fg) !important; }
.widget ul li a:hover { color: var(--edge-primary) !important; }

/* Gutenberg blocks */
body:not(.page-template-page-edge-rop) .wp-block-group {
  background-color: var(--edge-bg) !important;
}

/* Pagination */
.page-numbers, .nav-links a, .woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  color: var(--edge-muted-fg) !important;
  background: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-sm) !important;
  padding: 6px 12px !important;
  transition: border-color var(--edge-transition), color var(--edge-transition) !important;
  text-decoration: none !important;
}
.page-numbers.current, .page-numbers:hover,
.woocommerce-pagination .page-numbers a:hover {
  color: var(--edge-primary) !important;
  border-color: var(--edge-primary) !important;
}

/* === 6. GLOBAL BUTTONS ====================================================== */
.button, button.button, input[type=submit],
a.button, .wp-block-button__link,
.ast-button, .ast-custom-button {
  background-color: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
  border: none !important;
  border-radius: var(--edge-radius) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  transition: filter var(--edge-transition), box-shadow var(--edge-transition) !important;
}
.button:hover, button.button:hover, input[type=submit]:hover,
a.button:hover, .wp-block-button__link:hover {
  filter: brightness(1.1) !important;
  box-shadow: var(--edge-glow) !important;
  color: var(--edge-primary-fg) !important;
}
.button.alt, a.button.alt {
  background-color: transparent !important;
  border: 1px solid var(--edge-primary) !important;
  color: var(--edge-primary) !important;
}
.button.alt:hover, a.button.alt:hover {
  background-color: hsl(142 69% 58% / 0.1) !important;
}

/* === 7. GLOBAL FORM INPUTS ================================================== */
input[type=text], input[type=email], input[type=password],
input[type=number], input[type=tel], input[type=url],
input[type=search], textarea, select {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  border-radius: var(--edge-radius) !important;
  font-family: 'Inter', sans-serif !important;
  box-shadow: none !important;
  transition: border-color var(--edge-transition), box-shadow var(--edge-transition) !important;
}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus,
input[type=number]:focus, input[type=tel]:focus, input[type=url]:focus,
textarea:focus, select:focus {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder {
  color: var(--edge-muted-fg) !important;
  opacity: 0.7;
}
select option {
  background-color: var(--edge-muted) !important;
  color: var(--edge-fg) !important;
}

/* === 8. WOOCOMMERCE — NOTICES =============================================== */
.woocommerce-message, .woocommerce-info {
  background-color: hsl(142 69% 58% / 0.08) !important;
  border-top: 3px solid var(--edge-primary) !important;
  border-radius: 0 0 var(--edge-radius) var(--edge-radius) !important;
  color: var(--edge-fg) !important;
}
.woocommerce-error {
  background-color: hsl(0 84% 60% / 0.08) !important;
  border-top: 3px solid var(--edge-danger) !important;
  border-radius: 0 0 var(--edge-radius) var(--edge-radius) !important;
  color: var(--edge-fg) !important;
}
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a {
  color: var(--edge-primary) !important;
}

/* === 9. WOOCOMMERCE — GENERAL WRAPPER ======================================= */
.woocommerce, .woocommerce-page,
.woocommerce-cart, .woocommerce-checkout,
.woocommerce-account {
  background-color: var(--edge-bg) !important;
  color: var(--edge-fg) !important;
}

/* === 10. WOOCOMMERCE — CART PAGE ============================================ */
/* Cart form wrapper */
.woocommerce-cart-form {
  background: transparent !important;
}

/* Main shop table — used in cart AND order review */
.woocommerce table.shop_table {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  color: var(--edge-fg) !important;
}
.woocommerce table.shop_table th {
  background-color: var(--edge-muted) !important;
  color: var(--edge-muted-fg) !important;
  border-bottom: 1px solid var(--edge-border) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 14px 20px !important;
}
.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  background-color: var(--edge-card) !important;
  padding: 16px 20px !important;
  vertical-align: middle !important;
  transition: background var(--edge-transition) !important;
}
.woocommerce table.shop_table tr:hover td {
  background-color: hsl(200 20% 16% / 0.6) !important;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce table.shop_table .product-name a { color: var(--edge-fg) !important; font-weight: 500; }
.woocommerce table.shop_table .product-name a:hover { color: var(--edge-primary) !important; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal { color: var(--edge-primary) !important; font-weight: 600; }

/* Cart product thumbnail */
.woocommerce table.shop_table .product-thumbnail img {
  border-radius: var(--edge-radius) !important;
  border: 1px solid var(--edge-border) !important;
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
}

/* Remove item (×) button */
.woocommerce table.shop_table .product-remove a.remove {
  color: var(--edge-muted-fg) !important;
  background: var(--edge-muted) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
  transition: background var(--edge-transition), color var(--edge-transition) !important;
}
.woocommerce table.shop_table .product-remove a.remove:hover {
  background: hsl(0 84% 60% / 0.15) !important;
  color: var(--edge-danger) !important;
}

/* Quantity input in cart */
.woocommerce table.shop_table .product-quantity .qty,
.woocommerce .quantity .qty {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  border-radius: var(--edge-radius) !important;
  padding: 8px 12px !important;
  width: 70px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.woocommerce .quantity .qty:focus {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
}

/* Update / coupon actions row */
.woocommerce table.shop_table td.actions {
  background-color: var(--edge-muted) !important;
  padding: 16px 20px !important;
}
.coupon { display: flex; gap: 8px; align-items: center; }
.coupon label { display: none; }
.coupon input#coupon_code {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  border-radius: var(--edge-radius) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  min-width: 200px !important;
}
.coupon input#coupon_code:focus {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
}
.coupon .button, button[name="apply_coupon"] {
  background: var(--edge-muted) !important;
  color: var(--edge-muted-fg) !important;
  border: 1px solid var(--edge-border) !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
}
.coupon .button:hover, button[name="apply_coupon"]:hover {
  border-color: var(--edge-primary) !important;
  color: var(--edge-primary) !important;
  filter: none !important;
  box-shadow: none !important;
}
button[name="update_cart"] {
  background: var(--edge-muted) !important;
  color: var(--edge-muted-fg) !important;
  border: 1px solid var(--edge-border) !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  float: right !important;
}
button[name="update_cart"]:not(:disabled):hover {
  border-color: var(--edge-primary) !important;
  color: var(--edge-primary) !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Cart totals */
.cart_totals, .woocommerce .cart_totals {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 28px !important;
}
.cart_totals h2 {
  color: var(--edge-fg) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--edge-border) !important;
}
.cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.cart_totals table th {
  background: transparent !important;
  color: var(--edge-muted-fg) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--edge-border) !important;
  width: 40% !important;
}
.cart_totals table td {
  background: transparent !important;
  color: var(--edge-fg) !important;
  border-bottom: 1px solid var(--edge-border) !important;
  padding: 12px 0 !important;
}
.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td { border-bottom: none !important; }
.cart_totals .order-total td, .cart_totals .order-total th {
  font-weight: 700 !important;
  font-size: 16px !important;
}
.cart_totals .order-total td { color: var(--edge-primary) !important; }

/* Proceed to Checkout button */
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout a.checkout-button {
  background-color: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
  border-radius: var(--edge-radius) !important;
  font-weight: 700 !important;
  border: none !important;
  padding: 14px 24px !important;
  font-size: 16px !important;
  display: block !important;
  text-align: center !important;
  transition: filter var(--edge-transition), box-shadow var(--edge-transition) !important;
  margin-top: 16px !important;
}
.wc-proceed-to-checkout .checkout-button:hover {
  filter: brightness(1.1) !important;
  box-shadow: var(--edge-glow) !important;
}

/* Cross-sells / You may also like */
.cross-sells h2, .related h2, .upsells h2 {
  color: var(--edge-fg) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}

/* Shipping calculator */
.shipping-calculator-form { margin-top: 12px; }
.shipping-calculator-form p { color: var(--edge-muted-fg) !important; font-size: 13px; }
.shipping-calculator-form .shipping-calculator-button {
  background: transparent !important;
  color: var(--edge-primary) !important;
  border: none !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  box-shadow: none !important;
  filter: none !important;
}

/* === 11. WOOCOMMERCE — CHECKOUT PAGE ======================================== */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
  color: var(--edge-fg) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  margin-bottom: 20px !important;
}

/* Billing / Shipping form section */
#customer_details {
  background: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 28px !important;
  margin-bottom: 24px !important;
}

.woocommerce-billing-fields__field-wrapper label,
.woocommerce-shipping-fields__field-wrapper label,
.woocommerce-additional-fields label,
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  color: var(--edge-muted-fg) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 6px !important;
}

.woocommerce .form-row input.input-text,
.woocommerce .form-row textarea,
.woocommerce .form-row select {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  border-radius: var(--edge-radius) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  transition: border-color var(--edge-transition), box-shadow var(--edge-transition) !important;
}
.woocommerce .form-row input.input-text:focus,
.woocommerce .form-row textarea:focus,
.woocommerce .form-row select:focus {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
  outline: none !important;
}

.woocommerce-input-wrapper .description,
.form-row .description {
  color: var(--edge-muted-fg) !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

.woocommerce-additional-fields__field-wrapper textarea {
  color: var(--edge-fg) !important;
}

/* Order review (right column) */
#order_review, .woocommerce-checkout-payment {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 28px !important;
}

.woocommerce-checkout-review-order-table {
  background: transparent !important;
  border-color: var(--edge-border) !important;
  width: 100% !important;
}
.woocommerce-checkout-review-order-table th {
  background: transparent !important;
  color: var(--edge-muted-fg) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--edge-border) !important;
}
.woocommerce-checkout-review-order-table td {
  color: var(--edge-fg) !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--edge-border) !important;
  background: transparent !important;
}
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  font-weight: 700 !important;
  font-size: 15px !important;
  border-bottom: none !important;
}
.woocommerce-checkout-review-order-table .order-total td { color: var(--edge-primary) !important; }

/* Payment methods */
.woocommerce-checkout-payment .payment_methods {
  list-style: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--edge-border) !important;
  padding-bottom: 20px !important;
}
.woocommerce-checkout-payment .payment_methods li {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius) !important;
  margin-bottom: 8px !important;
  padding: 14px 16px !important;
  list-style: none !important;
  transition: border-color var(--edge-transition) !important;
}
.woocommerce-checkout-payment .payment_methods li:hover {
  border-color: hsl(215 20% 28%) !important;
}
.woocommerce-checkout-payment .payment_methods li label {
  color: var(--edge-fg) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  margin: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.woocommerce-checkout-payment .payment_methods li input[type=radio] {
  accent-color: var(--edge-primary) !important;
  margin-right: 10px !important;
}
.woocommerce-checkout-payment .payment_box {
  background-color: hsl(195 30% 9%) !important;
  border-radius: var(--edge-radius) !important;
  padding: 14px 16px !important;
  margin-top: 10px !important;
  color: var(--edge-muted-fg) !important;
  font-size: 13px !important;
}
.woocommerce-checkout-payment .payment_box p { color: var(--edge-muted-fg) !important; }

/* Place order */
#place_order {
  background-color: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
  border: none !important;
  border-radius: var(--edge-radius) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 28px !important;
  width: 100% !important;
  display: block !important;
  transition: filter var(--edge-transition), box-shadow var(--edge-transition) !important;
}
#place_order:hover {
  filter: brightness(1.1) !important;
  box-shadow: var(--edge-glow) !important;
}

/* Required field marker */
.woocommerce form .form-row .required { color: var(--edge-danger) !important; }

/* === 12. SELECT2 (WooCommerce country/state dropdowns) ====================== */
.select2-container--default .select2-selection--single {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius) !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  transition: border-color var(--edge-transition) !important;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--edge-fg) !important;
  padding-left: 14px !important;
  line-height: normal !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--edge-muted-fg) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--edge-muted-fg) transparent transparent transparent !important;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--edge-muted-fg) transparent !important;
}
.select2-dropdown {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius) !important;
  box-shadow: var(--edge-shadow) !important;
}
.select2-search--dropdown .select2-search__field {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  border-radius: var(--edge-radius-sm) !important;
  padding: 8px 12px !important;
}
.select2-results__option {
  color: var(--edge-muted-fg) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  transition: background var(--edge-transition) !important;
}
.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted.select2-results__option--selectable {
  background-color: hsl(142 69% 58% / 0.12) !important;
  color: var(--edge-fg) !important;
}
.select2-results__option[aria-selected=true] {
  background-color: hsl(142 69% 58% / 0.08) !important;
  color: var(--edge-primary) !important;
}

/* === 13. WOOCOMMERCE — ORDER RECEIVED (Thank You) Page ====================== */
.woocommerce-order { color: var(--edge-fg) !important; }

.woocommerce-order .woocommerce-notice {
  background: hsl(142 69% 58% / 0.08) !important;
  border: 1px solid hsl(142 69% 58% / 0.2) !important;
  border-radius: var(--edge-radius) !important;
  padding: 14px 20px !important;
  color: var(--edge-fg) !important;
  margin-bottom: 24px !important;
  font-size: 15px !important;
}

.woocommerce-order ul.order_details {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  background: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  overflow: hidden !important;
}
.woocommerce-order ul.order_details li {
  flex: 1 !important;
  padding: 20px 24px !important;
  border-right: 1px solid var(--edge-border) !important;
  border-bottom: none !important;
  color: var(--edge-muted-fg) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.woocommerce-order ul.order_details li:last-child { border-right: none !important; }
.woocommerce-order ul.order_details li strong {
  display: block !important;
  color: var(--edge-fg) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-top: 6px !important;
}

.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
  color: var(--edge-fg) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  margin-bottom: 20px !important;
}

.woocommerce-customer-details address {
  background: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 20px 24px !important;
  color: var(--edge-muted-fg) !important;
  font-style: normal !important;
  line-height: 1.7 !important;
}
.woocommerce-customer-details address p { color: var(--edge-muted-fg) !important; }

/* === 14. WOOCOMMERCE — MY ACCOUNT ========================================== */
/* Remove default flex that causes layout breakage */
.woocommerce-account .woocommerce { background: transparent !important; }

.woocommerce-MyAccount-navigation {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  overflow: hidden !important;
  padding: 8px !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-MyAccount-navigation ul li { border-bottom: none !important; }
.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: var(--edge-radius) !important;
  color: var(--edge-muted-fg) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: background var(--edge-transition), color var(--edge-transition) !important;
  text-decoration: none !important;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background-color: var(--edge-muted) !important;
  color: var(--edge-fg) !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
  background-color: hsl(142 69% 58% / 0.12) !important;
  color: var(--edge-primary) !important;
}

.woocommerce-MyAccount-content {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 28px 32px !important;
  color: var(--edge-fg) !important;
}
.woocommerce-MyAccount-content h2 {
  color: var(--edge-fg) !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  margin-bottom: 20px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
.woocommerce-MyAccount-content h3 { color: var(--edge-fg) !important; }
.woocommerce-MyAccount-content p { color: var(--edge-muted-fg) !important; line-height: 1.6 !important; }
.woocommerce-MyAccount-content strong { color: var(--edge-fg) !important; }
.woocommerce-MyAccount-content a { color: var(--edge-primary) !important; }
.woocommerce-MyAccount-content li { color: var(--edge-muted-fg) !important; }

/* Account tables (orders list, downloads) */
.woocommerce-MyAccount-content table,
.woocommerce-orders-table, .my_account_orders {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
}
.woocommerce-MyAccount-content table th,
.woocommerce-orders-table th, .my_account_orders th {
  background-color: var(--edge-muted) !important;
  color: var(--edge-muted-fg) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  border-color: var(--edge-border) !important;
}
.woocommerce-MyAccount-content table td,
.woocommerce-orders-table td, .my_account_orders td {
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  background: transparent !important;
  font-size: 14px !important;
  border-color: var(--edge-border) !important;
  transition: background var(--edge-transition) !important;
}
.woocommerce-MyAccount-content table tr:hover td,
.woocommerce-orders-table tr:hover td {
  background-color: var(--edge-muted) !important;
}
.woocommerce-MyAccount-content table tr:last-child td { border-bottom: none !important; }

/* Order status badge */
.woocommerce-MyAccount-content mark.order-status,
.woocommerce-order-status {
  background-color: hsl(142 69% 58% / 0.1) !important;
  color: var(--edge-primary) !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Account: notices */
.woocommerce-MyAccount-content .woocommerce-notice,
.woocommerce-MyAccount-content .woocommerce-message {
  background-color: hsl(142 69% 58% / 0.08) !important;
  border: 1px solid hsl(142 69% 58% / 0.2) !important;
  border-radius: var(--edge-radius) !important;
  padding: 14px 18px !important;
  color: var(--edge-fg) !important;
  margin-bottom: 20px !important;
}

/* Account: edit address / edit account form */
.woocommerce-address-fields fieldset,
.woocommerce-EditAccountForm fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-MyAccount-content fieldset legend {
  color: var(--edge-fg) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  width: 100% !important;
  margin-bottom: 16px !important;
}

/* === 15. WOOCOMMERCE — PRODUCT PAGE ========================================= */
.woocommerce div.product, .single-product .product {
  background-color: var(--edge-bg) !important;
}
.woocommerce div.product .product_title {
  color: var(--edge-fg) !important;
}
.woocommerce div.product .price,
.woocommerce div.product p.price {
  color: var(--edge-primary) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .product_meta {
  color: var(--edge-muted-fg) !important;
}
.woocommerce div.product .product_meta span { color: var(--edge-muted-fg) !important; }
.woocommerce div.product .product_meta a { color: var(--edge-primary) !important; }

/* Product tabs */
.woocommerce-tabs ul.tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 -1px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  display: flex !important;
  gap: 4px !important;
}
.woocommerce-tabs ul.tabs li {
  border: 1px solid transparent !important;
  border-bottom: none !important;
  border-radius: var(--edge-radius) var(--edge-radius) 0 0 !important;
  transition: all var(--edge-transition) !important;
}
.woocommerce-tabs ul.tabs li a {
  color: var(--edge-muted-fg) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 10px 18px !important;
  display: block !important;
  text-decoration: none !important;
  transition: color var(--edge-transition) !important;
}
.woocommerce-tabs ul.tabs li a:hover { color: var(--edge-fg) !important; }
.woocommerce-tabs ul.tabs li.active {
  border-color: var(--edge-border) !important;
  background: var(--edge-card) !important;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--edge-primary) !important; }

.woocommerce-tabs .panel {
  background: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-top: none !important;
  border-radius: 0 0 var(--edge-radius-lg) var(--edge-radius-lg) !important;
  padding: 24px !important;
  color: var(--edge-muted-fg) !important;
}
.woocommerce-tabs .panel h2 {
  color: var(--edge-fg) !important;
  font-size: 16px !important;
  margin-bottom: 16px !important;
}
.woocommerce-tabs .panel p { color: var(--edge-muted-fg) !important; }
.woocommerce-tabs .panel table th { color: var(--edge-muted-fg) !important; background: var(--edge-muted) !important; }
.woocommerce-tabs .panel table td { color: var(--edge-fg) !important; border-color: var(--edge-border) !important; }

/* Reviews */
#reviews { color: var(--edge-fg) !important; }
#reviews h2 { color: var(--edge-fg) !important; }
#reviews .comment { border-bottom: 1px solid var(--edge-border) !important; padding-bottom: 20px !important; margin-bottom: 20px !important; }
#reviews .comment .meta { color: var(--edge-muted-fg) !important; font-size: 13px !important; }
#reviews .description p { color: var(--edge-muted-fg) !important; }

/* === 16. WOOCOMMERCE — SHOP / ARCHIVE ======================================= */
.woocommerce ul.products li.product {
  background-color: var(--edge-card) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  padding: 16px !important;
  transition: border-color var(--edge-transition), transform var(--edge-transition), box-shadow var(--edge-transition) !important;
}
.woocommerce ul.products li.product:hover {
  border-color: hsl(142 69% 58% / 0.3) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px hsl(195 30% 4% / 0.3) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 { color: var(--edge-fg) !important; }
.woocommerce ul.products li.product .price { color: var(--edge-primary) !important; font-weight: 700; }
.woocommerce ul.products li.product .button {
  background-color: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
}

/* === 17. WOOCOMMERCE — MY ACCOUNT LOGIN (Custom form) ======================= */
.woocommerce-account .woocommerce { padding: 0 !important; max-width: 100% !important; }

.besomi-login-container {
  display: flex;
  min-height: calc(100vh - 80px);
  background: var(--edge-bg);
}
.besomi-login-left {
  flex: 1;
  background: linear-gradient(135deg, var(--edge-card) 0%, hsl(200,28%,9%) 100%);
  border-right: 1px solid var(--edge-border);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 48px;
}
.besomi-login-content { max-width: 360px; }
.besomi-login-content h1 {
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 700 !important;
  color: var(--edge-fg) !important;
  margin-bottom: 20px !important;
  line-height: 1.25 !important;
}
.besomi-login-content p { color: var(--edge-muted-fg) !important; font-size: 15px !important; line-height: 1.7 !important; }

.besomi-login-right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 48px;
  background: var(--edge-bg);
}
.besomi-login-card { width: 100%; max-width: 380px; }
.besomi-login-card h2 { font-size: 24px !important; font-weight: 700 !important; color: var(--edge-fg) !important; margin-bottom: 32px !important; }

/* Floating label inputs */
.besomi-login-card .input-group { position: relative; margin-bottom: 20px; }
.besomi-login-card .input-group input[type=text],
.besomi-login-card .input-group input[type=password] {
  width: 100% !important;
  padding: 20px 16px 8px !important;
  background: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: 10px !important;
  color: var(--edge-fg) !important;
  font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  transition: border-color var(--edge-transition), box-shadow var(--edge-transition) !important;
  box-shadow: none !important;
}
.besomi-login-card .input-group input:focus {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
  outline: none !important;
}
.besomi-login-card .input-group label {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 14px !important;
  color: var(--edge-muted-fg) !important;
  pointer-events: none !important;
  transition: all 0.15s ease !important;
  font-weight: 400 !important;
  margin: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.besomi-login-card .input-group input:focus ~ label,
.besomi-login-card .input-group input:not(:placeholder-shown) ~ label {
  top: 11px !important;
  transform: none !important;
  font-size: 10px !important;
  color: var(--edge-primary) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.besomi-login-btn {
  width: 100% !important;
  padding: 14px !important;
  background: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  cursor: pointer !important;
  transition: filter var(--edge-transition), box-shadow var(--edge-transition) !important;
  margin-top: 8px !important;
}
.besomi-login-btn:hover { filter: brightness(1.08) !important; box-shadow: var(--edge-glow) !important; }
.besomi-extra-links { margin-top: 20px !important; text-align: center !important; }
.besomi-extra-links a { color: var(--edge-muted-fg) !important; font-size: 13px !important; text-decoration: none !important; }
.besomi-extra-links a:hover { color: var(--edge-primary) !important; }

@media (max-width: 768px) {
  .besomi-login-container { flex-direction: column; }
  .besomi-login-left { padding: 40px 24px; border-right: none; border-bottom: 1px solid var(--edge-border); min-height: auto; }
  .besomi-login-right { padding: 40px 24px; }
}

/* === 18. FORMIDABLE FORMS =================================================== */
.with_frm_style, .frm_forms {
  font-family: 'Inter', sans-serif !important;
  color: var(--edge-fg) !important;
}

/* Labels */
.with_frm_style .frm_primary_label,
.with_frm_style label.frm_primary_label,
.frm_forms .frm_primary_label {
  color: var(--edge-muted-fg) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* All inputs */
.with_frm_style input[type=text],
.with_frm_style input[type=email],
.with_frm_style input[type=number],
.with_frm_style input[type=tel],
.with_frm_style input[type=url],
.with_frm_style input[type=search],
.with_frm_style textarea,
.with_frm_style select,
.frm_forms input[type=text],
.frm_forms input[type=email],
.frm_forms input[type=number],
.frm_forms textarea,
.frm_forms select {
  background-color: var(--edge-muted) !important;
  border: 1px solid var(--edge-border) !important;
  color: var(--edge-fg) !important;
  border-radius: var(--edge-radius) !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  transition: border-color var(--edge-transition), box-shadow var(--edge-transition) !important;
  box-shadow: none !important;
}
.with_frm_style input:focus, .with_frm_style textarea:focus, .with_frm_style select:focus,
.frm_forms input:focus, .frm_forms textarea:focus, .frm_forms select:focus {
  border-color: var(--edge-primary) !important;
  box-shadow: 0 0 0 3px hsl(142 69% 58% / 0.12) !important;
  outline: none !important;
}
.with_frm_style input::placeholder, .with_frm_style textarea::placeholder {
  color: var(--edge-muted-fg) !important;
  opacity: 0.6 !important;
}
.with_frm_style select, .frm_forms select {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7f8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 36px !important;
}
.with_frm_style select option, .frm_forms select option {
  background-color: var(--edge-muted) !important;
  color: var(--edge-fg) !important;
}

/* Radio & checkbox as selection cards */
.with_frm_style .frm_radio, .with_frm_style .frm_checkbox { margin-bottom: 6px !important; }
.with_frm_style .frm_radio label,
.with_frm_style .frm_checkbox label,
.frm_forms .frm_radio label,
.frm_forms .frm_checkbox label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: var(--edge-radius) !important;
  border: 1px solid var(--edge-border) !important;
  background: var(--edge-muted) !important;
  color: var(--edge-fg) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  transition: border-color var(--edge-transition), background var(--edge-transition) !important;
  margin-bottom: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.with_frm_style .frm_radio label:hover, .with_frm_style .frm_checkbox label:hover {
  border-color: var(--edge-primary) !important;
  background: hsl(142 69% 58% / 0.06) !important;
}
.with_frm_style input[type=radio]:checked + label,
.with_frm_style input[type=checkbox]:checked + label,
.frm_forms input[type=radio]:checked + label {
  border-color: var(--edge-primary) !important;
  background: hsl(142 69% 58% / 0.08) !important;
  color: var(--edge-fg) !important;
}
.with_frm_style input[type=radio],
.with_frm_style input[type=checkbox] {
  accent-color: var(--edge-primary) !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

/* File upload / Dropzone */
.with_frm_style input[type=file], .frm_forms input[type=file] {
  background: var(--edge-muted) !important;
  border: 1px dashed var(--edge-border) !important;
  border-radius: var(--edge-radius) !important;
  color: var(--edge-muted-fg) !important;
  padding: 12px !important;
}
.frm_dropzone, .dz-default {
  background: var(--edge-muted) !important;
  border: 2px dashed var(--edge-border) !important;
  border-radius: var(--edge-radius-lg) !important;
  color: var(--edge-muted-fg) !important;
  transition: border-color var(--edge-transition) !important;
}
.frm_dropzone:hover, .frm_dropzone.dz-drag-hover {
  border-color: var(--edge-primary) !important;
  background: hsl(142 69% 58% / 0.04) !important;
}
.dz-message { color: var(--edge-muted-fg) !important; }

/* Section headings */
.with_frm_style .frm_section_heading h3, .frm_section_heading h3 {
  color: var(--edge-fg) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--edge-border) !important;
  margin-bottom: 18px !important;
}

/* Repeater rows */
.with_frm_style .frm_repeat_sec, .frm_repeat_sec {
  background: hsl(195 30% 9%) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius) !important;
  padding: 20px !important;
  margin-bottom: 12px !important;
  transition: border-color var(--edge-transition) !important;
}
.with_frm_style .frm_repeat_sec:hover, .frm_repeat_sec:hover {
  border-color: hsl(215 20% 22%) !important;
}

/* Repeater buttons */
.frm_add_field_row {
  background-color: var(--edge-muted) !important;
  color: var(--edge-primary) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-sm) !important;
  padding: 7px 16px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  font-family: 'Inter', sans-serif !important;
  transition: background var(--edge-transition), border-color var(--edge-transition) !important;
}
.frm_add_field_row:hover {
  background-color: hsl(142 69% 58% / 0.12) !important;
  border-color: var(--edge-primary) !important;
}
.frm_remove_field_row {
  background-color: var(--edge-muted) !important;
  color: var(--edge-muted-fg) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius-sm) !important;
  padding: 7px 16px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: background var(--edge-transition), color var(--edge-transition) !important;
}
.frm_remove_field_row:hover {
  background-color: hsl(0 84% 60% / 0.1) !important;
  color: var(--edge-danger) !important;
  border-color: hsl(0 84% 60% / 0.3) !important;
}

/* Submit */
.with_frm_style .frm_submit button,
.with_frm_style .frm_submit input[type=submit],
.frm_forms .frm_submit button,
.frm_forms .frm_submit input[type=submit] {
  background-color: var(--edge-primary) !important;
  color: var(--edge-primary-fg) !important;
  border: none !important;
  border-radius: var(--edge-radius) !important;
  padding: 12px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  cursor: pointer !important;
  transition: filter var(--edge-transition), box-shadow var(--edge-transition) !important;
}
.with_frm_style .frm_submit button:hover,
.frm_forms .frm_submit button:hover,
.with_frm_style .frm_submit input[type=submit]:hover {
  filter: brightness(1.08) !important;
  box-shadow: var(--edge-glow) !important;
}

/* Multi-page prev button */
.frm_prev_page {
  background-color: var(--edge-muted) !important;
  color: var(--edge-muted-fg) !important;
  border: 1px solid var(--edge-border) !important;
  border-radius: var(--edge-radius) !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: color var(--edge-transition), border-color var(--edge-transition) !important;
}
.frm_prev_page:hover { color: var(--edge-fg) !important; border-color: var(--edge-muted-fg) !important; }

/* Validation messages */
.frm_error { color: var(--edge-danger) !important; font-size: 12px !important; margin-top: 4px !important; }
.frm_required { color: var(--edge-danger) !important; }
.frm_description { color: var(--edge-muted-fg) !important; font-size: 12px !important; line-height: 1.5 !important; }
.frm_description p { color: var(--edge-muted-fg) !important; font-size: 12px !important; }

.frm_error_style {
  background-color: hsl(0 84% 60% / 0.08) !important;
  border: 1px solid hsl(0 84% 60% / 0.3) !important;
  border-radius: var(--edge-radius) !important;
  padding: 12px 16px !important;
  color: var(--edge-danger) !important;
  margin-bottom: 16px !important;
}
.frm_success_style {
  background-color: hsl(142 69% 58% / 0.08) !important;
  border: 1px solid hsl(142 69% 58% / 0.3) !important;
  border-radius: var(--edge-radius) !important;
  padding: 12px 16px !important;
  color: var(--edge-primary) !important;
  margin-bottom: 16px !important;
}

/* Progress bar */
.frm_page_bar { background: var(--edge-muted) !important; border-radius: 20px !important; height: 6px !important; }
.frm_bar_goal { background: var(--edge-primary) !important; border-radius: 20px !important; }

/* === 19. SMOOTH GLOBAL TRANSITIONS ========================================== */
a, button, .button, input, select, textarea,
.woocommerce ul.products li.product,
.frm_repeat_sec, .frm_radio label, .frm_checkbox label {
  transition: all var(--edge-transition);
}

/* Fade-in animation for page content */
@keyframes edgeFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce,
.woocommerce-MyAccount-content,
.frm_forms { animation: edgeFadeIn 0.3s ease both; }
.woocommerce-account .woocommerce-Message--info .button.wc-forward { display: none !important; }
.woocommerce-account .woocommerce-info a.wc-forward { display: none !important; }
