/*
Theme Name:  Astra Child
Description: A child theme for the Astra WordPress theme to apply custom styles and functions.
Author:      Brainstorm Force
Author URI:  https://wpastra.com/about/
Template:    astra
Version:     1.0.3
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0  Header & Navigation
2.0  WooCommerce Styles
3.0  Layout & Page Helpers
4.0  Plugin Specific Styles
5.0  Accessibility
--------------------------------------------------------------*/


/*--------------------------------------------------------------
1.0  Header & Navigation
--------------------------------------------------------------*/

/* Main header background color */
.site-header {
	background-color: #000 !important;
}

/* Ensure header menu backgrounds are black (targets original and duplicated menus) */
[id^="ast-hf-menu-1"] {
	background-color: #000 !important;
}

/* Style all menu links inside the targeted menus */
[id^="ast-hf-menu-1"] .menu-link {
	color: #fff !important;
}

/* Lighten link color on hover or for the current menu item */
[id^="ast-hf-menu-1"] .menu-link:hover,
[id^="ast-hf-menu-1"] .current-menu-item > .menu-link {
	color: #ddd !important;
}

/* Mobile & Tablet Off-Canvas Menu Link Styles */
.ast-mobile-popup-content .main-header-menu li a {
	color: #ffffff !important; /* White text */
}

/* Header "Let's Talk" button background */
.ast-builder-button-wrap.ast-builder-button-size-sm .ast-custom-button {
	background-color: #000 !important;
}

/* Mobile/Tablet: Fix "Let's Talk" button to bottom center of the screen */
@media (max-width: 1024px) {
	.ast-header-button-1 {
		position: fixed !important;
		bottom: 30px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 9999;
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}


/*--------------------------------------------------------------
2.0  WooCommerce Styles
--------------------------------------------------------------*/

/* Style the breadcrumb text and links to be white */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
	color: white !important;
}

/* Style the "Sort by" dropdown text to be white */
.woocommerce-ordering .orderby {
	color: #fff !important;
}


/*--------------------------------------------------------------
3.0  Layout & Page Helpers
--------------------------------------------------------------*/

/* A helper class to make a container fill the screen height */
.hero-fullscreen {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}


/*--------------------------------------------------------------
4.0  Plugin Specific Styles
--------------------------------------------------------------*/

/* Onetap Plugin Styles */
.onetap-site-container .onetap-title,
.onetap-site-container .onetap-desc {
	background-color: #000 !important;
}

/* UAGB Plugin: Override for outline button border */
.uagb-buttons-repeater.ast-outline-button {
	border-width: initial !important;
}


/*--------------------------------------------------------------
5.0  Accessibility
--------------------------------------------------------------*/


/* Hides elements visually while keeping them accessible to screen readers */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	display: none;
}

/* --------------------------------------------------
   Custom Contact Form Styles
   -------------------------------------------------- */
.cc-contact-form {
  max-width: 600px;
  margin: 2rem auto;
  display: grid;
  grid-gap: 1.5rem;
  font-family: inherit;
}

.cc-contact-form p {
  display: flex;
  flex-direction: column;
}

.cc-contact-form label {
  margin-bottom: 0.5rem;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.cc-contact-form input[type="text"],
.cc-contact-form input[type="email"],
.cc-contact-form textarea {
  padding: 0.75rem 1rem;
  background: #222;
  color: #eee;
  border: 1px solid #444;
  border-radius: 4px;
  font-size: 1rem;
  resize: vertical;
  transition: border-color 0.2s;
}

.cc-contact-form input:focus,
.cc-contact-form textarea:focus {
  border-color: #ffd400;
  outline: none;
}

.cc-contact-form input::placeholder,
.cc-contact-form textarea::placeholder {
  color: #999;
}

.cc-contact-form .cc-contact-errors ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  border-left: 4px solid #e74c3c;
  background: #fceaea;
}

.cc-contact-form .cc-contact-errors li {
  padding: 0.5rem 1rem;
  color: #c0392b;
}

.cc-contact-form .cc-contact-success {
  background: #2ecc71;
  color: #fff;
  padding: 1rem;
  border-radius: 4px;
  text-align: center;
}

.cc-contact-form .cc-contact-submit {
  background: #ffd400;
  color: #000;
  border: none;
  padding: 0.85rem 2rem;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
  align-self: start;
}

.cc-contact-form .cc-contact-submit:hover {
  background: #e6c000;
}

/* Header “My-Account” button: white text on black background */
.ast-header-button-2 .ast-custom-button-link  .ast-custom-button {
  background-color: #000 !important;
  color: #fff !important;
}

.ast-builder-button-wrap.ast-builder-button-size-sm .ast-custom-button{
  color: #fff !important;
	
}
/* --------------------------------------------------
   WCAG AA–friendly Login Form
   -------------------------------------------------- */
.wcaa-login-form {
  max-width: 350px;
  margin: 2rem auto;
  background: #000;              /* black background */
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.wcaa-login-form label {
  display: block;
  margin-bottom: 0.25rem;
  color: #fff;                   /* white text */
  font-weight: 600;
}

.wcaa-login-form input[type="text"],
.wcaa-login-form input[type="password"] {
  width: 100%;
  padding: 0.5rem;
  margin-bottom: 1rem;
  background: #222;              /* dark grey */
  color: #fff;                   /* white text */
  border: 1px solid #555;        /* mid grey border */
  border-radius: 4px;
}

.wcaa-login-form input:focus {
  border-color: #ffd400;         /* yellow focus */
  outline: none;
}

.wcaa-login-form input::placeholder {
  color: #ccc;                   /* light grey placeholder */
  opacity: 1;
}

.wcaa-login-form .wcaa-remember {
  margin-bottom: 1rem;
}

.wcaa-login-form .wcaa-submit {
  background: #ffd400;           /* yellow button */
  color: #000;                   /* black text */
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 4px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

.wcaa-login-form .wcaa-submit:hover,
.wcaa-login-form .wcaa-submit:focus {
  background: #e6c000;
  outline: none;
}

.wcaa-error {
  background: #fdecea;           /* light red */
  color: #9f3a3a;                /* dark red text */
  border-left: 4px solid #f5c2c7;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border-radius: 0 4px 4px 0;
}

.ast-footer-copyright a {
  text-decoration: underline!important;
}

/* This is just an example of a color change */
.ast-footer-copyright p {
  color: #767676!important; /* Changes surrounding text to a darker gray */
}

.woocommerce-js div.product .woocommerce-tabs ul.tabs li a {
    color: #fff!important;
}