/**
Theme Name: npproject
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: npproject
Template: astra
*/


.entry-title {
    font-weight: 100 !important;
    font-size: 2em;
    letter-spacing: 0.09em;
} 



#ast-scroll-top {
  margin-bottom: 2em;
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    border-radius: 2em;
}

/* =========================================
   WooCommerce Notices: base system
========================================= */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
  position: relative;
  margin: 0 0 14px;
  padding: 14px 14px 14px 44px; /* room for icon */
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  color: inherit;
  line-height: 1.45;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* left accent bar */
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-error::before {
  content: "";
  position: absolute;
  left: 35px;
  top: 12px;
  bottom: 12px;
  width: 6px;
  border-radius: 999px;
  background: rgba(0,0,0,.25);
}

/* small icon bubble */
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-error::after {
  content: "i";
  position: absolute;
  left: 22px;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 13px;
  background: rgba(0,0,0,.10);
}

/* Make links feel intentional */
.woocommerce .woocommerce-info a:not(.button),
.woocommerce .woocommerce-message a:not(.button),
.woocommerce .woocommerce-error a:not(.button) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}



/* =========================================
   Button inside notices (wc-forward)
========================================= */
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-error .button {
  margin-left: 10px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.16);
  background: rgba(0,0,0,.06);
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform .05s ease, background-color .15s ease;
}

.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-error .button:hover {
  background: rgba(0,0,0,.10);
}

.woocommerce .woocommerce-info .button:active,
.woocommerce .woocommerce-message .button:active,
.woocommerce .woocommerce-error .button:active {
  transform: translateY(1px);
}

/* Strong, visible keyboard focus */
.woocommerce .woocommerce-info a:focus-visible,
.woocommerce .woocommerce-message a:focus-visible,
.woocommerce .woocommerce-error a:focus-visible,
.woocommerce .woocommerce-info .button:focus-visible,
.woocommerce .woocommerce-message .button:focus-visible,
.woocommerce .woocommerce-error .button:focus-visible {
  outline: 3px solid rgba(0,0,0,.35);
  outline-offset: 2px;
  border-radius: 12px;
}

/* =========================================
   Type-specific polish
========================================= */
/* INFO */
.woocommerce .woocommerce-info {
  background: rgba(0, 120, 255, .08);
  border-color: rgba(0, 120, 255, .22);
}
.woocommerce .woocommerce-info::before { background: rgba(0, 120, 255, .75); }
.woocommerce .woocommerce-info::after {
  content: "i";
  background: rgba(0, 120, 255, .18);
}

/* SUCCESS */
.woocommerce .woocommerce-message {
  background: rgba(0, 160, 90, .10);
  border-color: rgba(0, 160, 90, .22);
}
.woocommerce .woocommerce-message::before { background: rgba(0, 160, 90, .75); }
.woocommerce .woocommerce-message::after {
  content: "✓";
  background: rgba(0, 160, 90, .18);
}

/* ERROR */
.woocommerce .woocommerce-error {
  background: rgba(220, 50, 50, .10);
  border-color: rgba(220, 50, 50, .24);
}
.woocommerce .woocommerce-error::before { background: rgba(220, 50, 50, .80); }
.woocommerce .woocommerce-error::after {
  content: "!";
  background: rgba(220, 50, 50, .18);
}

/* =========================================
   Mobile: keep CTA below text nicely
========================================= */
@media (max-width: 600px) {
  .woocommerce .woocommerce-info .button,
  .woocommerce .woocommerce-message .button,
  .woocommerce .woocommerce-error .button {
    margin: 10px 0 0;
    width: 100%;
    justify-content: center;
  }
}


.woocommerce-js ul.products li.product .ast-woo-product-category, .woocommerce-page ul.products li.product .ast-woo-product-category {
  opacity: 1;
  font-size: 0.8em;
}



/* === Astra submenu redesign (desktop-first) === */
:root{
  --sub-bg: #ffffff;
  --sub-border: rgba(0,0,0,.08);
  --sub-shadow: 0 18px 40px rgba(0,0,0,.12);
  --sub-radius: 14px;

  --item-radius: 10px;
  --item-pad-y: 10px;
  --item-pad-x: 12px;

  --text: #111827;
  --muted: rgba(17,24,39,.65);

  --hover-bg: rgba(0,0,0,.04);
  --active-bg: rgba(0,0,0,.06);

  --accent: #111827; /* change to your brand color if you want */
}

/* Target Astra main header nav dropdowns */
.ast-header-menu .sub-menu,
.main-header-menu .sub-menu{
  background: var(--sub-bg);
  border: 1px solid var(--sub-border);
  box-shadow: var(--sub-shadow);
  border-radius: var(--sub-radius);
  padding: 10px;
  min-width: 260px;
}

/* Remove the “boxed” look Astra sometimes adds */
.ast-header-menu .sub-menu li,
.main-header-menu .sub-menu li{
  border: 0 !important;
}

/* Links */
.ast-header-menu .sub-menu a.menu-link,
.main-header-menu .sub-menu a.menu-link{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  padding: var(--item-pad-y) var(--item-pad-x);
  border-radius: var(--item-radius);
  line-height: 1.2;
  transition: background-color .18s ease, transform .18s ease;
}

/* Hover */
.ast-header-menu .sub-menu a.menu-link:hover,
.main-header-menu .sub-menu a.menu-link:hover{
  background: var(--hover-bg);
  transform: translateX(2px);
}

/* Current item */
.ast-header-menu .sub-menu .current-menu-item > a,
.main-header-menu .sub-menu .current-menu-item > a{
  background: var(--active-bg);
  font-weight: 600;
}

/* Your SVG arrow icon: make it smaller + softer by default */
.ast-header-menu .sub-menu .ast-icon,
.main-header-menu .sub-menu .ast-icon{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .55;
  transition: opacity .18s ease, transform .18s ease;
}
.ast-header-menu .sub-menu a:hover .ast-icon,
.main-header-menu .sub-menu a:hover .ast-icon{
  opacity: 1;
  transform: rotate(-90deg);
}

/* Nested submenu (level 2) panel */
.ast-header-menu .sub-menu .sub-menu,
.main-header-menu .sub-menu .sub-menu{
  padding: 10px;
  border-radius: calc(var(--sub-radius) - 2px);
  min-width: 240px;
}

/* Add a subtle label style for items that have children */
.ast-header-menu .sub-menu .menu-item-has-children > a,
.main-header-menu .sub-menu .menu-item-has-children > a{
  font-weight: 600;
}

/* Replace Astra's default "dropdown arrow" look (keep it, but align nicely) */
.ast-header-menu .dropdown-menu-toggle,
.main-header-menu .dropdown-menu-toggle{
  margin-left: auto;
  opacity: .6;
}
.ast-header-menu .menu-item-has-children:hover > a .dropdown-menu-toggle,
.main-header-menu .menu-item-has-children:hover > a .dropdown-menu-toggle{
  opacity: 1;
}

/* Improve focus for accessibility (keyboard) */
.ast-header-menu .sub-menu a:focus-visible,
.main-header-menu .sub-menu a:focus-visible{
  outline: 2px solid rgba(17,24,39,.35);
  outline-offset: 2px;
}

/* Optional: tighten spacing for mobile flyout menus */
@media (max-width: 921px){
  .ast-header-menu .sub-menu,
  .main-header-menu .sub-menu{
    box-shadow: none;
    border-radius: 12px;
  }
  .ast-header-menu .sub-menu a.menu-link,
  .main-header-menu .sub-menu a.menu-link{
    transform: none !important;
  }

  .woocommerce .woocommerce-info a:not(.button), .woocommerce .woocommerce-message a:not(.button), .woocommerce .woocommerce-error a:not(.button) {

font-size: smaller;
}
}
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block{
  display:none !important;
}



.ast-builder-grid-row.ast-grid-center-col-layout
 {
    grid-template-columns: 1fr auto;
}

.ast-desktop .ast-primary-header-bar.main-header-bar, .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar {
    padding-left: 0px;
    padding-right: 0px;
}










/* ── Sticky filter sidebar ───────────────────────────────────────────────────
 *
 * .widget-area.secondary is the tall flex column that holds .sidebar-main.
 * We make .sidebar-main sticky so the filters follow the user while scrolling
 * through the product grid.
 *
 * Requirements for sticky to work (all confirmed):
 *  ✅ No overflow:hidden on any ancestor
 *  ✅ Parent (.widget-area.secondary) is taller than the sticky child
 *  ✅ .ast-container is a flex row (sidebar + main content side by side)
 *
 * ─────────────────────────────────────────────────────────────────────────── */

.widget-area.secondary {
    /* Ensure the sidebar column participates in the flex row correctly */
    align-self: flex-start; /* prevents it from stretching to full content height */
    position: sticky;
    top: 0;                 /* sticks to top of viewport; adjust if you have a fixed header */
}

/* If Astra adds a fixed header, offset by its height so the sidebar
   doesn't slide under it. Check your header height and adjust this value. */
/* .widget-area.secondary {
    top: 80px;
} */


/* ── Mobile: sidebar becomes a normal block, no sticky ──────────────────── */
/* Astra collapses the sidebar to a separate row on mobile, so sticky
   would just stick at the top of a short block — not useful. */
@media (max-width: 921px) {
    .widget-area.secondary {
        position: static;
    }
}