/**
 * Theme Name: Astra Child
 * Template: astra
 * Author: Brainstorm Force
 * Author URI: https://wpastra.com/about/
 * Description: Lightweight, customizable Astra child theme for high performance and fine‑tuned visual tweaks.
 * 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
 */

/* -------------------------------------------------------
   GLOBAL ACCESSIBILITY & FOCUS CLEANUP
------------------------------------------------------- */

/* Remove outlines/borders from focused or active elements */
a:focus,
a:active,
button:focus,
button:active,
input:focus,
input:active,
img:focus,
img:active,
.astra-icon:focus,
.your-icon-class:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  -moz-outline-style: none;
}

/* Prevent tap highlight on mobile devices */
* {
  -webkit-tap-highlight-color: transparent;
}

/* Reset button inner focus styling (Firefox-specific) */
button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner {
  border: 0;
}

/* Reset link image focus behavior */
a img {
  border: 0;
  outline: none;
  background: transparent;
  box-shadow: none;
}

/* -------------------------------------------------------
   MOBILE MENU & HEADER FIXES
------------------------------------------------------- */

/* Remove outlines from mobile menu triggers */
.ast-button-wrap .ast-mobile-menu-trigger-minimal:focus,
.ast-mobile-popup-drawer.active .menu-toggle-close:focus,
.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle,
.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle:focus,
.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle:hover {
  outline: none !important;
  border: none !important;
  border-width: 0 !important;
}

/* Style cleanup for Astra’s menu toggle */
.ast-menu-toggle {
  border: none;
}
.ast-menu-toggle:focus {
  outline: none;
}

/* -------------------------------------------------------
   SCROLL TO TOP BUTTON
------------------------------------------------------- */

/* No outline on Astra scroll-to-top button */
.ast-scroll-to-top:focus,
.ast-scroll-to-top:active {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  -moz-outline-style: none;
}

/* -------------------------------------------------------
   GLOBAL BUTTON UNIFICATION (Astra, Age Gate, WPConsent)
------------------------------------------------------- */

/* Reset & unify all Astra and plugin button styles */
.age-gate-modal .ast-button,
.age-gate-popup .ast-button,
body.age-gate-active .ast-button,
.age-gate__submit-button,
[class*="age-gate"] .ast-button,
.wpcc-button,
.wpcc-btn,
.wpcc-container .ast-button,
.wpcc-modal .wpcc-btn,
.wpcc-floating .wpcc-btn,
.wpcc-long .wpcc-btn,
button.ast-button,
a.ast-button {
  all: unset !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: clamp(120px, 40vw, 220px) !important;
  height: 48px !important;
  padding: 0 24px !important;
  line-height: 1.2 !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: 4px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: all 0.16s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  z-index: 10 !important;
  cursor: pointer !important;
}

/* Hover and focus interactions for unified buttons */
.age-gate-modal .ast-button:hover,
.age-gate-popup .ast-button:hover,
.wpcc-button:hover,
.wpcc-btn:hover,
button.ast-button:hover,
a.ast-button:hover {
  background: #111 !important;
  transform: translateY(-1px);
}

/* Active or clicked state */
.age-gate-modal .ast-button:active,
.age-gate-popup .ast-button:active,
.wpcc-button:active,
.wpcc-btn:active,
button.ast-button:active,
a.ast-button:active {
  transform: translateY(1px);
  opacity: 0.9;
}

/* Wrapper layout centers buttons in all forms/modals */
.age-gate-modal,
.age-gate-popup,
body.age-gate-active .age-gate__form,
[class*="age-gate"] .ast-button-wrapper,
.age-gate__button-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

/* Responsive adjustments for mobile screens */
@media (max-width: 768px) {
  .age-gate-modal .ast-button,
  .age-gate-popup .ast-button,
  .wpcc-button,
  .wpcc-btn,
  .wpcc-modal .wpcc-btn,
  .wpcc-floating .wpcc-btn,
  .wpcc-long .wpcc-btn {
    width: 90vw !important;
    max-width: 280px !important;
    height: 52px !important;
    font-size: 16px !important;
  }
}

/* -------------------------------------------------------
   AGE GATE VISUAL LAYOUT
------------------------------------------------------- */

/* Center loading icon */
.age-gate__loading-icon {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

/* Hide age gate loader */
.age-gate__loader {
  opacity: 0;
  visibility: hidden;
}

/* Center modal containers vertically and horizontally */
.age-gate-modal,
.age-gate-popup {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

/* -------------------------------------------------------
   WP CONSENT BANNER CUSTOMIZATION (Modal, Long, Floating)
------------------------------------------------------- */

/* Transparent / minimal consent banner backgrounds */
.wpcc-container,
.wpcc-banner,
.wpcc-modal,
.wpcc-long,
.wpcc-floating,
.cookie-notice,
#cookie-notice {
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Text color and readability for all banner modes */
.wpcc-container *,
.wpcc-banner *,
.wpcc-modal *,
.wpcc-long *,
.wpcc-floating *,
.cookie-notice *,
#cookie-notice * {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/* Optional: Subtle glassmorphic effect (uncomment to use) */
/*
.wpcc-container,
.wpcc-banner,
.wpcc-modal,
.wpcc-long,
.wpcc-floating {
  background: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(4px);
}
*/
