/* Premium UI */

/* Accessibility: keep screen-reader text hidden visually (prevents rating text leaks in cards) */
.screen-reader-text{
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  white-space: nowrap;
}
.screen-reader-text:focus{
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static !important;
  width: auto;
  white-space: normal;
}

/* Header: black, white text */
.npt-header{
  position: relative;
  top: auto;
  z-index: 20;
background: var(--np-ink);
  color: #F4F1EA;
  border-bottom: 1px solid rgba(244,241,234,.10);
}

.npt-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 0;
  gap: var(--np-gap);
}

.npt-logo__text{
  font-family:"Raleway",sans-serif;
  font-size: 22px;
  letter-spacing: .2px;
  color: var(--np-bg);
}
.npt-logo img{ max-height:46px; width:auto; border-radius: 12px; }

.npt-nav{ flex:1; min-width: 0; }
.npt-menu{
  list-style:none;
  display:flex;
  gap: 10px;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:center;
  font-family:"Raleway",sans-serif;
  font-weight:800;
}
.npt-menu > li{ position:relative; }
.npt-menu > li > a{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  color: var(--np-bg);
  transition: background .2s ease, transform .15s ease;
  white-space: nowrap;
  transition: transform .16s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, opacity .22s ease;
  will-change: transform;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.npt-menu > li > a:hover{ background: rgba(244,241,234,.10); transform: translateY(-1px); }

/* Active menu item */
.npt-menu > li.current-menu-item > a,
.npt-menu > li.current-menu-ancestor > a,
.npt-menu > li.current_page_item > a,
.npt-menu > li.current_page_ancestor > a{
  background: rgba(244,241,234,.14);
  box-shadow: 0 0 0 1px rgba(244,241,234,.22) inset;
}


/* Arrow for items with children */
.npt-menu > li.menu-item-has-children > a{
  gap: 8px;
}
.npt-menu > li.menu-item-has-children > a::after{
  content: "";
  width: 16px; height: 16px;
  display:inline-block;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.9;
  transition: transform .2s ease;
}
.npt-menu > li.menu-item-has-children:hover > a::after,
.npt-menu > li.menu-item-has-children.npt-open > a::after{ transform: rotate(180deg); }

/* Dropdown: compact, minimal, vertical */
.npt-menu li.menu-item-has-children > ul{
  position:absolute;
  left:50%;
  transform: translateX(-50%) translateY(6px);
  top: calc(100% + 10px);
  width: 260px;
  background: #fff;
  color: var(--np-ink);
  border-radius: 16px;
  box-shadow: var(--np-shadow-strong);
  border: 1px solid rgba(16,16,16,.10);
  padding: 10px;
  list-style:none;
  margin:0;
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}
.npt-menu li.menu-item-has-children > ul li{ margin:0; }
.npt-menu li.menu-item-has-children > ul li a{
  display:flex;
  padding: 10px 12px;
  border-radius: 12px;
  background: transparent;
  border: 1px solid transparent;
  font-family:"Raleway",sans-serif;
  font-weight: 800;
  white-space: nowrap;
}
.npt-menu li.menu-item-has-children > ul li a:hover{
  background: var(--np-bg);
  border-color: rgba(16,16,16,.06);
}

/* Hover keeps open while cursor is on parent or submenu */
.npt-menu li.menu-item-has-children:hover > ul{
  opacity:1;
  pointer-events:auto;
  transform: translateX(-50%) translateY(0);
  animation: nptDropdownIn .18s ease-out;
}
/* Click toggle (touch devices) */
.npt-menu li.menu-item-has-children.npt-open > ul{
  opacity:1;
  pointer-events:auto;
  transform: translateX(-50%) translateY(0);
  animation: nptDropdownIn .18s ease-out;
}

/* Actions */
.npt-actions{ display:flex; align-items:center; gap: 8px; flex-shrink:0; }
.npt-action{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid rgba(244,241,234,.16);
  transition: background .2s ease, transform .15s ease;
  font-family:"Raleway",sans-serif;
  font-weight:800;
  color: var(--np-bg);
  white-space: nowrap;
}
.npt-action:hover{ background: rgba(244,241,234,.12); transform: translateY(-1px); }
.npt-action__icon{ display:inline-flex; }
.npt-cart-count{
  min-width: 22px; height: 22px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  background: var(--np-bg);
  color: var(--np-ink);
  font-size: 12px;
  font-weight: 900;
  line-height:1;
}

.npt-burger{
  display:none;
  width: 44px; height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(244,241,234,.20);
  background: rgba(244,241,234,.08);
}
.npt-burger{ display:none; width: 44px; height: 44px; border-radius: 14px; border: 1px solid rgba(244,241,234,.20); background: rgba(244,241,234,.08); padding:0; }
.npt-burger{ flex-direction:column; gap:4px; }
.npt-burger span{ display:block; width: 20px; height: 2px; background: rgba(244,241,234,.92); border-radius: 2px; }

.npt-mobile-panel{
  border-top: 1px solid rgba(244,241,234,.12);
  background: var(--np-ink);
  color: var(--np-bg);
}

.npt-mobile-panel[hidden]{ display:none !important; }
.npt-mobile-panel__inner{ padding: 12px 0 18px; }
.npt-menu--mobile{
  flex-direction:column;
  align-items:stretch;
  padding: 8px 0 10px;
  gap: 8px;
}
.npt-menu--mobile > li > a{
  justify-content:space-between;
  width:100%;
  border-radius: 14px;
  background: rgba(244,241,234,.08);
}
.npt-menu--mobile li.menu-item-has-children > ul{
  /* Mobile submenu must be collapsed by default (opened only on tap) */
  display:none;
  position:static;
  transform:none;
  width:100%;
  opacity:1;
  pointer-events:auto;
  padding: 8px 0 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.npt-menu--mobile li.menu-item-has-children.npt-open > ul{
  display:block;
  /* Override desktop dropdown transforms/animations */
  transform:none;
  animation:none;
}
.npt-menu--mobile li.menu-item-has-children > ul li a{
  background: rgba(244,241,234,.08);
  border-color: rgba(244,241,234,.14);
  color: var(--np-bg);
}
.npt-mobile-links{ display:flex; gap: 10px; flex-wrap:wrap; }
.npt-mobile-link{
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(244,241,234,.08);
  border: 1px solid rgba(244,241,234,.16);
  font-family:"Raleway",sans-serif;
  font-weight:800;
  color: var(--np-bg);
}

/* Content */
.npt-content{ padding: 26px 0 40px; }
.npt-content--page{ padding-top: 36px; }

/* Elementor fullwidth */
.npt-page-elementor-fullwidth .npt-content--page{ width:100%; }
.npt-elementor-fullwidth{ width: 100%; }

/* WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background: var(--np-ink);
  color: var(--np-bg);
  border-radius: 999px;
  padding: 12px 18px;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  border: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{ background: #000; }

.npt-wc-wrapper{ padding: 32px 0 50px; }

/* Wider nav to keep labels on one line */
.npt-wc-account{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap: 18px;
  align-items:start;
}

.npt-account-nav{
  background:#fff;
  border:1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
  padding: 12px;
}
.npt-account-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.npt-account-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 14px 16px;
  min-height: 52px;
  border-radius: 16px;
  background: var(--np-bg);
  border: 1px solid rgba(16,16,16,.06);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  line-height: 1.15;

  /* Avoid breaking into 2-3 letters */
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}
.npt-account-nav li.is-active a{ background: var(--np-blue); border-color: rgba(16,16,16,.10); }

.woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
  padding: 18px;
  min-height: 320px;
}

/* Footer */
.npt-footer{
  background: var(--np-ink);
  color: var(--np-bg);
  padding: 44px 0 18px;
  margin-top: 60px;
}
.npt-footer__top{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(244,241,234,.12);
}
.widget-title{
  font-family:"Raleway",sans-serif;
  font-size: 14px;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin: 0 0 12px;
  opacity: .95;
}
.npt-footer-links{
  list-style:none;
  margin:0; padding:0;
  display:flex; flex-direction:column; gap:10px;
  font-family:"Raleway",sans-serif;
  font-weight:500;
}
.npt-footer-links a{ opacity:.86; }
.npt-footer-links a:hover{ opacity:1; text-decoration: underline; text-underline-offset: 4px; }

.npt-contact-card{ display:flex; flex-direction:column; gap:10px; }
.npt-contact-row{
  display:flex; align-items:center; gap:10px;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(244,241,234,.06);
  border: 1px solid rgba(244,241,234,.10);
  font-family:"Raleway",sans-serif;
  font-weight:800;
}

.npt-footer__bottom{
  display:flex; gap: 14px;
  justify-content:space-between; align-items:center;
  padding-top: 16px;
  font-family:"Raleway",sans-serif;
  font-size: 13px;
  opacity:.88;
}
.npt-footer__legal{ text-align:right; opacity:.85; }

/* Responsive */
@media (max-width: 820px){
  .npt-footer__top{ grid-template-columns: 1fr 1fr; }
  .npt-wc-account{ grid-template-columns: 1fr; }
}
@media (max-width: 540px){
  .npt-footer__top{ grid-template-columns: 1fr; }
  .npt-footer__bottom{ flex-direction:column; align-items:flex-start; }
  .npt-footer__legal{ text-align:left; }
}


/* Dropdown animation */
@keyframes nptDropdownIn{
  from{ opacity:0; transform: translateX(-50%) translateY(10px) scale(.98); }
  to{ opacity:1; transform: translateX(-50%) translateY(0) scale(1); }
}


.npt-dot{ display:inline-block; margin: 0 8px; opacity:.75; }


/* Click feedback */
@keyframes nptTap{
  0%{ transform: translateY(0); }
  50%{ transform: translateY(-1px); }
  100%{ transform: translateY(0); }
}
.npt-menu > li.npt-clicked > a{ animation: nptTap .22s ease-out; }


/* Dropdown hover bridge to prevent closing on gap (desktop only) */
.npt-menu:not(.npt-menu--mobile) li.menu-item-has-children > ul{ position:absolute; }
.npt-menu:not(.npt-menu--mobile) li.menu-item-has-children > ul::before{ content:''; position:absolute; left:0; right:0; top:-14px; height:14px; }
/* marker */
.npt-submenu-bridge{}


/* Cart drawer (mini cart) */
.npt-drawer{ position:fixed; inset:0; z-index:1200; }
.npt-drawer[hidden]{ display:none; }
.npt-drawer__backdrop{
  position:absolute; inset:0;
  background: rgba(16,16,16,.45);
  backdrop-filter: blur(2px);
}
.npt-drawer__panel{
  position:absolute; top:0; right:0;
  height:100%;
  width:min(420px, 92vw);
  background:#fff;
  border-left: 1px solid rgba(16,16,16,.10);
  box-shadow: 0 24px 70px rgba(16,16,16,.18);
  display:flex;
  flex-direction:column;
  transform: translateX(8px);
  opacity:0;
  animation: nptDrawerIn .18s ease-out forwards;
}
@keyframes nptDrawerIn{
  to{ transform: translateX(0); opacity:1; }
}
.npt-drawer__head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 18px 12px;
  border-bottom: 1px solid rgba(16,16,16,.08);
}
.npt-drawer__title{
  margin:0;
  font-family:"Raleway",sans-serif;
  font-size: 18px;
  letter-spacing:.2px;
}
.npt-drawer__close{
  width:40px; height:40px;
  border-radius: 14px;
  border: 1px solid rgba(16,16,16,.10);
  background: var(--np-bg);
  font-size: 22px;
  line-height: 1;
  cursor:pointer;
}
.npt-mini-cart{
  padding: 14px 18px 18px;
  overflow:auto;
  height:100%;
}
.npt-mini-cart .woocommerce-mini-cart-item{
  display:grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(16,16,16,.06);
}
.npt-mini-cart a{ color: var(--np-ink); }
.npt-mini-cart .quantity{ font-family:"Raleway",sans-serif; font-weight:800; }
.npt-mini-cart .woocommerce-mini-cart__total{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(16,16,16,.08);
  font-family:"Raleway",sans-serif;
  font-weight:900;
}
.npt-mini-cart .woocommerce-mini-cart__buttons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  padding: 12px 16px;
  margin-right: 10px;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
}
.npt-mini-cart .woocommerce-mini-cart__buttons a.checkout{
  background: var(--np-ink);
  color: var(--np-bg);
}


/* WooCommerce account premium layout + override default floats */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float:none !important;
  width:auto !important;
}

.npt-account-hero{
  background: #fff;
  border: 1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
  padding: 16px 16px;
  margin: 0 0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  flex-wrap:wrap;
}
.npt-account-hero__left{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 260px;
}
.npt-account-hero__avatar{
  width:64px; height:64px;
  border-radius: 18px;
  object-fit:cover;
  border: 1px solid rgba(16,16,16,.10);
  background: var(--np-bg);
}
.npt-account-hero__kicker{
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 12px;
  letter-spacing:.5px;
  text-transform: uppercase;
  opacity:.7;
  margin-bottom: 2px;
}
.npt-account-hero__name{
  font-family:"Raleway",sans-serif;
  font-size: 20px;
  letter-spacing:.2px;
  margin-bottom: 2px;
}
.npt-account-hero__sub{
  font-family:"Raleway",sans-serif;
  font-weight: 600;
  opacity:.75;
  font-size: 13px;
}
.npt-account-hero__right{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap:wrap;
}
.npt-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(16,16,16,.10);
  background: var(--np-bg);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  white-space: nowrap;
}
.npt-chip--danger{
  background: rgba(244,67,54,.08);
  border-color: rgba(244,67,54,.18);
}

.npt-account-grid{
  display:flex;
  gap: 18px;
  align-items:flex-start;
}
.npt-account-nav{ flex: 0 0 360px; }
.woocommerce-MyAccount-content{ flex: 1 1 auto; }

/* Account nav buttons: centered, no truncation, wrap by words if needed */
.npt-account-nav a{
  justify-content:center;
  text-align:center;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

/* Tables and forms premium */
.woocommerce-account table.shop_table{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(16,16,16,.08);
}
.woocommerce-account table.shop_table th{
  background: var(--np-bg);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
}
.woocommerce-account table.shop_table td{
  font-family:"Raleway",sans-serif;
  font-weight: 700;
}

@media (max-width: 980px){
  .npt-account-grid{ flex-direction:column; }
  .npt-account-nav{ flex: 1 1 auto; width:100%; }
}



/* ===== Full width layout ===== */
.npt-content{ width:100%; }
.npt-elementor-fullwidth{ width:100%; }

/* ===== Premium My Account ===== */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float:none !important;
  width:auto !important;
}

.npt-account{
  padding: 22px 0 46px;
}

.npt-account__shell{
  width: 100%;
  display:grid;
  grid-template-columns: 360px 1fr;
  gap: 18px;
  align-items:start;
}

.npt-account__sidebar,
.npt-account__main-inner{
  background:#fff;
  border: 1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
}

.npt-account__sidebar{
  padding: 16px;
  position: sticky;
  top: 18px;
}

.npt-account__user{
  display:flex;
  gap: 12px;
  align-items:center;
  padding: 12px;
  border-radius: 16px;
  background: var(--np-bg);
  border: 1px solid rgba(16,16,16,.06);
}

.npt-account__avatar{
  width: 54px;
  height: 54px;
  border-radius: 16px;
  object-fit: cover;
  border: 1px solid rgba(16,16,16,.10);
  background: #fff;
}

.npt-account__kicker{
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 12px;
  letter-spacing:.45px;
  text-transform: uppercase;
  opacity:.7;
  margin-bottom: 2px;
}

.npt-account__name{
  font-family:"Raleway",sans-serif;
  font-size: 18px;
  letter-spacing:.2px;
  line-height:1.1;
  margin-bottom: 2px;
}

.npt-account__email{
  font-family:"Raleway",sans-serif;
  font-weight: 700;
  font-size: 12px;
  opacity:.75;
}

.npt-account__quick{
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
  margin: 12px 0 10px;
}

.npt-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(16,16,16,.10);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  white-space: nowrap;
}

.npt-pill--danger{
  background: rgba(244,67,54,.08);
  border-color: rgba(244,67,54,.18);
}

.npt-account__nav{
  margin-top: 12px;
}

.npt-account__nav .woocommerce-MyAccount-navigation{
  margin:0;
}

.npt-account__nav .woocommerce-MyAccount-navigation ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.npt-account__nav .woocommerce-MyAccount-navigation li{
  margin:0;
}

.npt-account__nav .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 14px 14px;
  border-radius: 16px;
  background: var(--np-bg);
  border: 1px solid rgba(16,16,16,.06);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  line-height: 1.15;

  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}

.npt-account__nav .woocommerce-MyAccount-navigation li.is-active a,
.npt-account__nav .woocommerce-MyAccount-navigation a:hover{
  background: rgba(173,204,233,.55);
  border-color: rgba(16,16,16,.08);
  transform: translateY(-1px);
}

.npt-account__main-inner{
  padding: 18px;
  min-height: 420px;
}

/* Dashboard tiles */
.npt-account-tiles{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.npt-tile{
  display:block;
  border-radius: 18px;
  background: var(--np-bg);
  border: 1px solid rgba(16,16,16,.06);
  padding: 16px;
  box-shadow: 0 16px 40px rgba(16,16,16,.06);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.npt-tile:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 60px rgba(16,16,16,.10);
  opacity:.98;
}

.npt-tile__t{
  font-family:"Raleway",sans-serif;
  font-size: 16px;
  margin-bottom: 6px;
  color: var(--np-ink);
}

.npt-tile__d{
  font-family:"Raleway",sans-serif;
  font-weight: 650;
  font-size: 13px;
  opacity:.78;
  margin-bottom: 10px;
}

.npt-tile__go{
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 12px;
  letter-spacing:.35px;
  text-transform: uppercase;
  opacity:.75;
}

@media (max-width: 980px){
  .npt-account__shell{
    grid-template-columns: 1fr;
  }
  .npt-account__sidebar{
    position: relative;
    top: auto;
  }
  .npt-account-tiles{
    grid-template-columns: 1fr;
  }
}


/* Compact icon actions */
.npt-action--wishlist,
.npt-action--cart{
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  justify-content: center;
  gap: 0;
}
.npt-action--wishlist .npt-action__icon svg,
.npt-action--cart .npt-action__icon svg{
  width: 18px;
  height: 18px;
  display:block;
}
.npt-action--account .npt-action__icon svg{
  width: 20px;
  height: 20px;
}

/* Badge counters */
.npt-wishlist-count,
.npt-cart-count{
  position:absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: var(--np-bg);
  color: var(--np-ink);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 11px;
  line-height: 1;
  border: 1px solid rgba(244,241,234,.22);
}

@media (max-width: 1024px){
  .npt-footer__top{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
}
@media (max-width: 640px){
  .npt-footer__top{ grid-template-columns: 1fr; gap: 22px; }
}


/* Unicode heart icon */
.npt-heart-icon{
  display:inline-block;
  font-size: 18px;
  line-height: 1;
  transform: translateY(1px);
}


/* Header layout fixes (v1.1.5.3) */
.npt-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--np-gap);
}

/* Header hardening (v1.1.5.4): prevents any overlap even if plugins inject styles */
.npt-header .npt-header__inner{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.npt-header .npt-brand{
  max-width: 280px;
  overflow:hidden;
}
.npt-header .npt-brand a,
.npt-header .custom-logo-link{
  max-width:100%;
}
.npt-header .npt-logo__text{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Hide WP menu item descriptions (they create ugly second lines like “•” or tooltips) */
.npt-header .menu-item-description,
.npt-header .description{
  display:none !important;
}

/* Brand/logo: keep predictable width so it never overlaps the menu */
.npt-brand{ flex: 0 0 auto; display:flex; align-items:center; min-width: 0; }
.custom-logo-link{ display:inline-flex; align-items:center; }
.custom-logo-link img,
.npt-logo img{ max-height:46px; width:auto; max-width: 190px; border-radius: 12px; }

/* Main nav stays in the middle and can shrink safely */
.npt-nav{ flex: 1 1 0; min-width: 0; display:flex; justify-content:center; overflow: visible; }
.npt-menu{ flex-wrap: nowrap; justify-content:center; }
.npt-menu > li{ flex: 0 0 auto; }
.npt-menu, .npt-menu li{ list-style: none !important; }
.npt-menu li::marker{ content: ''; }

/* If there isn't enough room (small laptops), switch to burger + mobile panel */
@media (max-width: 1180px){
  .npt-nav{ display:none; }
  .npt-burger{ display:inline-flex; align-items:center; justify-content:center; }
  .npt-menu{ gap: 8px; }
  .npt-menu > li > a{ padding: 9px 10px; font-size: 14px; }
  .npt-actions .npt-action__label{ display:none; }
}
@media (max-width: 640px){
  .npt-actions .npt-action--account{ padding: 8px 10px; }
}

/* Prevent accidental wrap/overlap on very wide custom logos */
@media (min-width: 1181px){
  .custom-logo-link img,
  .npt-logo img{ max-width: 240px; }
}
/* Remove any accidental separators */
.npt-menu > li::before,
.npt-menu > li::after{
  content: none !important;
}

/* Mega dropdown for Assortment */
.npt-menu li.npt-mega-parent > ul{
  left: 50%;
  top: calc(100% + 12px);
  transform: translateX(-50%) translateY(16px);
  width: min(920px, calc(100vw - 48px));
  padding: 16px;
  border-radius: 18px;
  background: rgba(16,16,16,.78);
  box-shadow: 0 18px 60px rgba(0,0,0,.32);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(244,241,234,.16);
  color: var(--np-bg);
}
.npt-menu li.npt-mega-parent > ul{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.npt-menu li.npt-mega-parent > ul li a{
  padding: 0;
  border: 0;
  background: transparent;
}
.npt-mega-card{
  position: relative;
  overflow:hidden;
  border-radius: 18px;
  min-height: 122px;
  padding: 16px 16px 14px;
  background: rgba(244,241,234,.08);
  border: 1px solid rgba(244,241,234,.16);
  box-shadow: 0 0 0 1px rgba(0,0,0,.04) inset;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.npt-mega-card::before{
  content:'';
  position:absolute; inset:0;
  background: var(--npt-mega-img) center right / cover no-repeat;
  opacity: .55;
  filter: saturate(1.02);
}
.npt-mega-card::after{
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(16,16,16,.78) 0%, rgba(16,16,16,.62) 52%, rgba(16,16,16,.15) 82%, rgba(16,16,16,0) 100%);
}
.npt-mega-card__content{ position:relative; z-index:1; max-width: 68%; }
.npt-mega-card__title{
  font-family:"Raleway",sans-serif;
  font-size: 20px;
  line-height: 1.05;
  color: rgba(16,16,16,.92);
  margin: 0 0 6px;
}
.npt-mega-card__sub{
  font-family:"Raleway",sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: rgba(16,16,16,.72);
  margin:0;
}
.npt-mega-card__badge{
  position:absolute;
  left: 12px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 18px;
}
@media (max-width: 980px){
  .npt-menu li.npt-mega-parent > ul{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .npt-menu li.npt-mega-parent > ul{ grid-template-columns: 1fr; }
}

/* Mega card (dark dropdown) */
.npt-menu li.npt-mega-parent > ul .npt-mega-card{
  background: rgba(244,241,234,.08);
  border: 1px solid rgba(244,241,234,.16);
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset;
}
.npt-menu li.npt-mega-parent > ul .npt-mega-card::after{
  background: linear-gradient(90deg, rgba(16,16,16,.92) 0%, rgba(16,16,16,.70) 55%, rgba(16,16,16,.25) 80%, rgba(16,16,16,0) 100%);
}
.npt-menu li.npt-mega-parent > ul .npt-mega-card__title{ color: var(--np-bg); }
.npt-menu li.npt-mega-parent > ul .npt-mega-card__sub{ color: rgba(244,241,234,.78); }
.npt-menu li.npt-mega-parent > ul .npt-mega-card__badge{
  background: rgba(244,241,234,.14);
  border: 1px solid rgba(244,241,234,.22);
  color: var(--np-bg);
}


/* =============================
   Assortment dropdown (v1.1.5.6)
   - Premium minimalist pills
   - No extra background behind buttons
   - Bottom-to-top motion
   ============================= */

/* Hide any native submenu under "Ассортимент" on desktop (we render our own fixed dropdown). */
@media (min-width: 1181px){
  .npt-menu > li.npt-assortment > ul[data-npt-assortment-native="1"]{ display:none !important; }
}

/* Safety: if any old mega styles remain in cache, neutralize them. */
@media (min-width: 1181px){
  .npt-menu > li.npt-mega-parent > ul{ display:none !important; }
}

.npt-assortment-dd{
  position: fixed;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
}
.npt-assortment-dd.is-open{ pointer-events: auto; }

/* Transparent wrapper: no big plate behind the buttons */
.npt-assortment-dd__panel{
  position: fixed;
  width: 310px;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 140px);
  overflow: auto;
  padding: 14px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(16,16,16,.10);
  box-shadow: var(--np-shadow-strong);

  opacity: 0;
  transform: translateY(14px);
  transition: opacity .18s ease, transform .18s ease;
}
.npt-assortment-dd.is-open .npt-assortment-dd__panel{
  opacity: 1;
  transform: translateY(0);
}

/* "Все товары" CTA inside assortment dropdown */
.npt-assortment-dd__all{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--np-ink);
  color: var(--np-bg);
  font-family: "Raleway", sans-serif;
  font-weight: 900;
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 16px 40px rgba(16,16,16,.16);
  transition: transform .16s ease, opacity .16s ease;
  margin-bottom: 10px;
}
.npt-assortment-dd__all:hover{ transform: translateY(-1px); opacity:.96; }

/* Simple premium list (as in screenshot) */
.npt-assortment-dd__item{
  display:block;
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  margin: 0;
  background: transparent;
  border: 1px solid transparent;
  color: #101010;
  font-family: "Raleway", sans-serif;
  font-weight: 900;
  font-size: 14px;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.npt-assortment-dd__item:hover{
  background: var(--np-bg);
  border-color: rgba(16,16,16,.06);
}

.npt-assortment-dd__item:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(16,16,16,.12), 0 18px 44px rgba(16,16,16,.14);
}

/* Slightly tighter on small screens */
@media (max-width: 640px){
  .npt-assortment-dd__panel{ width: 220px; padding: 4px; }
  .npt-assortment-dd__item{ font-size: 13px; padding: 9px 11px; }
}

/* =============================
   Account auth dropdown (v1.1.5.6)
   - Premium compact login/register panel under "Личный кабинет"
   ============================= */

.npt-auth-dd{
  position: fixed;
  inset: 0;
  z-index: 1100;
  pointer-events: none;
}
.npt-auth-dd.is-open{ pointer-events: auto; }

.npt-auth-dd__backdrop{
  position:absolute;
  inset:0;
  background: transparent;
}

.npt-auth-dd__panel{
  position: fixed;
  width: 420px;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 120px);
  overflow: auto;
  padding: 18px;
  border-radius: 22px;

  background: rgba(16,16,16,.78);
  border: 1px solid rgba(244,241,234,.18);
  box-shadow: 0 22px 80px rgba(0,0,0,.38);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  opacity: 0;
  transform: translateY(14px);
  transition: opacity .18s ease, transform .18s ease;
}
.npt-auth-dd.is-open .npt-auth-dd__panel{
  opacity: 1;
  transform: translateY(0);
}

.npt-auth-dd__close{
  position:absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(244,241,234,.16);
  background: rgba(244,241,234,.08);
  color: var(--np-bg);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.npt-auth-dd__close:hover{ border-color: rgba(249,179,74,.75); }

.npt-auth{ color: var(--np-bg); }
.npt-auth__head{ margin-bottom: 12px; }
.npt-auth__brand{
  font-family: "Raleway", sans-serif;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: .2px;
}
.npt-auth__sub{
  margin-top: 4px;
  opacity: .85;
  font-family: "Raleway", sans-serif;
  font-weight: 600;
  font-size: 13px;
}

.npt-auth__tabs{
  display:flex;
  gap: 6px;
  padding: 6px;
  border-radius: 16px;
  background: rgba(244,241,234,.08);
  border: 1px solid rgba(244,241,234,.14);
  margin: 10px 0 14px;
}

.npt-auth__tab{
  flex: 1;
  padding: 10px 12px;
  border-radius: 12px;
  border: 0;
  background: transparent;
  color: var(--np-bg);
  font-family: "Raleway", sans-serif;
  font-weight: 900;
  cursor:pointer;
}
.npt-auth__tab.is-active{
  background: var(--np-accent);
  color: var(--np-ink);
}

/* Toggle WooCommerce forms inside template */
.npt-auth[data-tab="login"] .woocommerce-form-register{ display:none !important; }
.npt-auth[data-tab="register"] .woocommerce-form-login{ display:none !important; }

/* Make Woo markup look premium */
.npt-auth-dd .woocommerce form{
  margin: 0;
  border: 0 !important;
  padding: 0 !important;
}
.npt-auth-dd .woocommerce form .form-row{
  margin-bottom: 12px;
}
.npt-auth-dd .woocommerce label{
  color: rgba(244,241,234,.85);
  font-weight: 700;
  font-family: "Raleway", sans-serif;
}

.npt-auth-dd input[type="text"],
.npt-auth-dd input[type="email"],
.npt-auth-dd input[type="password"],
.npt-auth-dd input[type="tel"],
.npt-auth-dd select,
.npt-auth-dd textarea{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(244,241,234,.18);
  background: rgba(0,0,0,.24);
  color: var(--np-bg);
  outline: none;
}
.npt-auth-dd input:focus,
.npt-auth-dd select:focus,
.npt-auth-dd textarea:focus{
  border-color: rgba(249,179,74,.85);
  box-shadow: 0 0 0 3px rgba(249,179,74,.18);
}

.npt-auth-dd .woocommerce button.button,
.npt-auth-dd .woocommerce input.button,
.npt-auth-dd button[type="submit"]{
  width: 100%;
  padding: 12px 14px;
  border-radius: 16px;
  border: 0;
  background: var(--np-accent);
  color: var(--np-ink);
  font-family: "Raleway", sans-serif;
  font-weight: 900;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
}
.npt-auth-dd .woocommerce button.button:hover{ transform: translateY(-1px); opacity: .95; }

.npt-auth-dd .woocommerce a{ color: rgba(244,241,234,.92); }
.npt-auth-dd .woocommerce a:hover{ color: var(--np-accent); }

/* Woo messages in dropdown */
.npt-auth-dd .woocommerce-error,
.npt-auth-dd .woocommerce-message,
.npt-auth-dd .woocommerce-info{
  margin: 10px 0 0;
  border-radius: 14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(244,241,234,.14);
  color: var(--np-bg);
}

@media (max-width: 640px){
  .npt-auth-dd__panel{ width: 100%; max-width: calc(100vw - 16px); padding: 16px; }
}


/* =============================
   Auth on /my-account/ (logged out)
   - Same premium look as dropdown
   ============================= */

.npt-auth--page{
  width: min(520px, calc(100vw - 24px));
  margin: 28px auto;
  padding: 22px;
  border-radius: 26px;
  background: rgba(16,16,16,.80);
  border: 1px solid rgba(244,241,234,.18);
  box-shadow: 0 22px 80px rgba(0,0,0,.22);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  color: #F4F1EA;
}

.npt-auth--page .npt-auth__brand{ color:#F4F1EA; }
.npt-auth--page .npt-auth__sub{ color: rgba(244,241,234,.82); }

.npt-auth--page .npt-auth__tabs{
  background: rgba(244,241,234,.08);
  border: 1px solid rgba(244,241,234,.14);
}
.npt-auth--page .npt-auth__tab{ color:#F4F1EA; }
.npt-auth--page .npt-auth__tab.is-active{
  background: var(--np-accent);
  color: var(--np-ink);
}

.npt-auth--page .woocommerce form{ margin:0; }
.npt-auth--page .woocommerce form{
  border: 0 !important;
  padding: 0 !important;
}
.npt-auth--page .woocommerce form .form-row{ margin-bottom: 12px; }
.npt-auth--page .woocommerce label{
  color: rgba(244,241,234,.86);
  font-weight: 700;
  font-family: "Raleway", sans-serif;
}

.npt-auth--page input[type="text"],
.npt-auth--page input[type="email"],
.npt-auth--page input[type="password"],
.npt-auth--page input[type="tel"],
.npt-auth--page select,
.npt-auth--page textarea{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(244,241,234,.18);
  background: rgba(0,0,0,.24);
  color: #F4F1EA;
  outline: none;
}
.npt-auth--page input:focus,
.npt-auth--page select:focus,
.npt-auth--page textarea:focus{
  border-color: rgba(249,179,74,.85);
  box-shadow: 0 0 0 3px rgba(249,179,74,.18);
}

.npt-auth--page .woocommerce button.button,
.npt-auth--page .woocommerce input.button,
.npt-auth--page button[type="submit"]{
  width: 100%;
  padding: 12px 14px;
  border-radius: 16px;
  border: 0;
  background: var(--np-accent);
  color: var(--np-ink);
  font-family: "Raleway", sans-serif;
  font-weight: 900;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease, box-shadow .22s ease;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.npt-auth--page .woocommerce button.button:hover{
  transform: translateY(-1px);
  opacity: .96;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.npt-auth--page .woocommerce a{ color: rgba(244,241,234,.92); }
.npt-auth--page .woocommerce a:hover{ color: var(--np-accent); }

.npt-auth--page .woocommerce-error,
.npt-auth--page .woocommerce-message,
.npt-auth--page .woocommerce-info{
  margin: 12px 0 0;
  border-radius: 14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(244,241,234,.14);
  color: #F4F1EA;
}


/* =============================
   Mobile menu safety (v1.1.5.12)
   Fix: desktop mega-menu styles (.npt-mega-parent) were overriding
   the mobile collapse rules, causing the Assortment submenu to open
   immediately (overlaying the menu) and being hard to close.
   On mobile/tablet we force submenus to be collapsed by default and
   only expanded via the .npt-open class set by JS on tap.
   ============================= */
@media (max-width: 1180px){
  /* Always collapse child UL by default, regardless of mega styles */
  .npt-menu--mobile li.npt-mega-parent > ul,
  .npt-menu--mobile li.menu-item-has-children.npt-mega-parent > ul{
    display: none !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 8px 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    /* If any desktop grid sneaks in */
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  /* Expand only on explicit tap */
  .npt-menu--mobile li.npt-mega-parent.npt-open > ul,
  .npt-menu--mobile li.menu-item-has-children.npt-mega-parent.npt-open > ul{
    display: block !important;
  }
}



/* Header search row + catalog drawer (v1.1.6) */
.npt-header-search{
  background: var(--np-ink);
  border-top: 1px solid rgba(244,241,234,.10);
}
.npt-header-search__inner{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 10px 0 14px;
}

/* Catalog button (left) */
.npt-cat-btn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(244,241,234,.55);
  background: transparent;
  color: var(--np-bg);
  cursor:pointer;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  letter-spacing: .1px;
  transition: transform .16s ease, background .18s ease, border-color .18s ease;
  white-space: nowrap;
}
.npt-cat-btn:hover{
  background: rgba(244,241,234,.10);
  transform: translateY(-1px);
  border-color: rgba(244,241,234,.75);
}
.npt-cat-btn__icon svg{ display:block; }

/* Search form */
.npt-search{
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display:flex;
  align-items:center;
  gap: 10px;
}
.npt-search__input{
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 44px 0 16px;
  border-radius: 14px;
  border: 1px solid rgba(244,241,234,.75);
  background: transparent;
  color: #fff;
  outline: none;
  font-family:"Raleway",sans-serif;
  font-weight: 700;
}
.npt-search__input::placeholder{
  color: rgba(255,255,255,.70);
}
.npt-search__btn{
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: rgba(244,241,234,.10);
  color: #fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: background .18s ease, transform .15s ease, border-color .18s ease;
}
.npt-search__btn:hover{
  background: rgba(244,241,234,.16);
  border-color: rgba(244,241,234,.22);
  transform: translateY(-50%) translateY(-1px);
}
.npt-search__btn-ico svg{ display:block; }

/* Live results dropdown */
.npt-search__dd{
  position:absolute;
  left:0;
  right:0;
  top: calc(100% + 10px);
  background: rgba(16,16,16,.98);
  border: 1px solid rgba(244,241,234,.45);
  border-radius: 16px;
  box-shadow: var(--np-shadow-strong);
  overflow:hidden;
  z-index: 60;
}
.npt-search__dd a{ text-decoration:none; }
.npt-search__dd-head{
  padding: 10px 14px;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  color: rgba(255,255,255,.84);
  border-bottom: 1px solid rgba(244,241,234,.12);
}
.npt-search__dd-item{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(244,241,234,.10);
  color: #fff;
}
.npt-search__dd-item:hover{
  background: rgba(244,241,234,.08);
}
.npt-search__dd-item:last-child{ border-bottom: 0; }
.npt-search__dd-thumb{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
  background: rgba(255,255,255,.06);
  flex: 0 0 auto;
}
.npt-search__dd-meta{
  min-width: 0;
  flex: 1 1 auto;
}
.npt-search__dd-title{
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.npt-search__dd-price{
  margin-top: 2px;
  font-family:"Raleway",sans-serif;
  font-weight: 800;
  font-size: 13px;
  color: rgba(255,255,255,.82);
}
.npt-search__dd-all{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  color: #fff;
  background: rgba(244,241,234,.10);
}
.npt-search__dd-all:hover{
  background: rgba(244,241,234,.16);
}
.npt-search__dd-empty{
  padding: 14px;
  color: rgba(255,255,255,.78);
  font-family:"Raleway",sans-serif;
  font-weight: 800;
}

/* Catalog drawer */
.npt-catalog-drawer{
  position: fixed;
  inset: 0;
  z-index: 90;
}
.npt-catalog-drawer__overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}
.npt-catalog-drawer__panel{
  position:absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: min(420px, 94vw);
  background: #0f0f0f;
  color: #fff;
  border-right: 1px solid rgba(244,241,234,.14);
  padding: 0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow: var(--np-shadow-strong);
  transform: translateX(-18px);
}
.npt-catalog-drawer[hidden] .npt-catalog-drawer__panel{
  transform: translateX(-18px);
}
.npt-catalog-drawer__head{
  position: sticky;
  top: 0;
  z-index: 2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: calc(14px + env(safe-area-inset-top)) 16px 12px;
  background: #0f0f0f;
  border-bottom: 1px solid rgba(244,241,234,.14);
}
.npt-catalog-drawer__title{
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.15;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.npt-catalog-drawer__close{
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 12px;
  border: 1px solid rgba(244,241,234,.22);
  background: rgba(244,241,234,.08);
  color: #fff;
  cursor:pointer;
  font-size: 24px;
  line-height: 1;
}

@media (max-width: 380px){
  .npt-catalog-drawer__panel{ width: 100vw; }
  .npt-catalog-drawer__head{ padding-left: 14px; padding-right: 14px; }
}

/* Category list inside drawer */
.npt-cat-list,
.npt-cat-list ul{
  list-style:none;
  padding:0;
  margin:0;
}

.npt-catalog-drawer__panel > .npt-cat-list{
  padding: 14px 16px 18px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 380px){
  .npt-catalog-drawer__panel > .npt-cat-list{ padding-left: 14px; padding-right: 14px; }
}

.npt-cat-item--main{ margin: 0; }

.npt-cat-mainrow{
  display:flex;
  box-sizing: border-box;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(244,241,234,.18);
  background: rgba(244,241,234,.07);
  color:#fff;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: .2px;
}

.npt-cat-main__link{
  display:flex;
  align-items:center;
  flex: 1;
  min-width: 0;
  padding-right: 8px;
  color:#fff;
  text-decoration:none;
}

.npt-cat-main__toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 38px;
  width: 38px;
  height: 34px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(244,241,234,.12);
  background: rgba(244,241,234,.04);
  color:#fff;
  cursor:pointer;
}

.npt-cat-item--main + .npt-cat-item--main{ margin-top: 10px; }

.npt-cat-mainrow:hover{
  background: rgba(244,241,234,.10);
  border-color: rgba(244,241,234,.24);
}

.npt-cat-main__chev{
  opacity: .9;
  font-size: 22px;
  transform: translateY(-1px);
  transition: transform .18s ease;
}

.npt-cat-item--main.is-open .npt-cat-mainrow{
  background: rgba(244,241,234,.12);
  border-color: rgba(244,241,234,.28);
}

.npt-cat-item--main.is-open .npt-cat-main__chev{
  transform: rotate(180deg);
}

.npt-cat-sub{
  margin: 8px 0 0 0;
  padding-left: 12px;
  border-left: 1px solid rgba(244,241,234,.14);
}

.npt-cat-sub__item{ margin: 6px 0; }

.npt-cat-sub__link{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 12px;
  color:#fff;
  text-decoration:none;
  border: 1px solid transparent;
  font-family:"Raleway",sans-serif;
  font-weight: 800;
  opacity: .92;
}

.npt-cat-sub__link:hover{
  border-color: rgba(244,241,234,.18);
  background: rgba(244,241,234,.08);
  opacity: 1;
}

/* Subcategory row with its own toggle button (for nested levels) */
.npt-cat-subrow{
  display:flex;
  align-items:center;
  gap: 8px;
}
.npt-cat-subrow .npt-cat-sub__link{
  flex: 1 1 auto;
  min-width: 0;
}
.npt-cat-sub__toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 38px;
  width: 38px;
  height: 34px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(244,241,234,.12);
  background: rgba(244,241,234,.04);
  color:#fff;
  cursor:pointer;
}

/* Nested chevrons: default DOWN, rotate UP only when opened */
.npt-cat-sub__toggle .npt-cat-main__chev{
  transform: translateY(-1px) rotate(0deg) !important;
}
li.has-children.is-open > .npt-cat-subrow .npt-cat-main__chev{
  transform: translateY(-1px) rotate(180deg) !important;
}

/* grandchildren */
.npt-cat-sub--lvl2{
  margin-top: 6px;
  padding-left: 10px;
  border-left: 1px dashed rgba(244,241,234,.14);
}
.npt-cat-sub__item--lvl2 .npt-cat-sub__link{
  padding: 8px 10px;
  font-weight: 700;
  opacity: .86;
}

/* Responsive */
@media (max-width: 640px){
  .npt-header-search__inner{ gap: 10px; padding: 10px 0 12px; }
  .npt-cat-btn{ padding: 10px 12px; gap: 8px; }
  .npt-cat-btn__text{ display:none; }
  .npt-search__input{ height: 42px; }

  /* Catalog drawer: larger tap targets on mobile */
  .npt-cat-main__toggle,
  .npt-cat-sub__toggle{
    width: 44px;
    height: 42px;
    flex-basis: 44px;
  }
  .npt-cat-main__chev{ font-size: 24px; }
  .npt-cat-sub{ padding-left: 10px; }
}

/* =========================================
   Favorites (Избранное) — premium page
   ========================================= */
.npt-content--favorites{ padding: 26px 0 64px; }

.npt-favorites-hero{
  background: linear-gradient(180deg, rgba(16,16,16,.95), rgba(16,16,16,.86));
  color: var(--np-bg);
  border: 1px solid rgba(244,241,234,.16);
  border-radius: var(--np-radius);
  box-shadow: 0 24px 70px rgba(16,16,16,.22);
  padding: 18px 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 16px;
  flex-wrap:wrap;
}
.npt-favorites-hero__kicker{
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  letter-spacing:.9px;
  text-transform:uppercase;
  opacity:.88;
  font-size: 12px;
}
.npt-favorites-hero__title{
  margin: 8px 0 6px;
  font-family:"Raleway",sans-serif;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.1;
}
.npt-favorites-hero__sub{
  margin:0;
  font-family:"Raleway",sans-serif;
  font-weight: 700;
  opacity:.9;
}
.npt-favorites-hero__right{
  display:flex;
  align-items:center;
  gap: 12px;
}
.npt-favorites-badge{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(244,241,234,.18);
  background: rgba(244,241,234,.06);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
}
.npt-favorites-badge__icon{ font-size: 16px; color: var(--np-accent); }
.npt-favorites-badge__count{ font-size: 14px; }

.npt-favorites-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--np-accent);
  color: var(--np-ink);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  border: 1px solid rgba(16,16,16,.10);
}

.npt-favorites-card{
  margin-top: 16px;
  background:#fff;
  border: 1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
  padding: 18px;
}

.npt-empty-state{
  border-radius: var(--np-radius);
  background: radial-gradient(1200px 200px at 20% 0%, rgba(173,204,233,.45), rgba(255,255,255,0)),
              radial-gradient(900px 180px at 90% 10%, rgba(249,179,74,.28), rgba(255,255,255,0));
  border: 1px dashed rgba(16,16,16,.18);
  padding: 22px 18px;
  text-align:center;
}
.npt-empty-state__icon{
  width: 56px; height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 18px;
  background: rgba(16,16,16,.06);
  border: 1px solid rgba(16,16,16,.10);
  font-size: 22px;
  margin-bottom: 12px;
  color: var(--np-accent);
}
.npt-empty-state__title{
  font-family:"Raleway",sans-serif;
  font-size: 18px;
  margin: 0 0 6px;
}
.npt-empty-state__text{
  margin: 0 auto;
  max-width: 560px;
  font-family:"Raleway",sans-serif;
  font-weight: 700;
  opacity: .85;
}
.npt-empty-state__actions{
  margin-top: 14px;
  display:flex;
  justify-content:center;
  gap: 10px;
  flex-wrap:wrap;
}

.npt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(16,16,16,.12);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
}
.npt-btn--dark{ background: var(--np-ink); color: var(--np-bg); border-color: rgba(16,16,16,.10); }
.npt-btn--ghost{ background: transparent; color: var(--np-ink); }

.npt-favorites-reco{ margin-top: 18px; }
.npt-favorites-reco__title{
  margin: 0 0 12px;
  font-family:"Raleway",sans-serif;
  font-size: 18px;
}

/* Make shortcode product grids feel more premium within favorites */
.npt-content--favorites .woocommerce ul.products,
.npt-content--favorites ul.products{
  margin: 0;
  padding: 0;
  list-style: none;

  /* force compact responsive grid (prevents 1 huge stretched card) */
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

.npt-content--favorites .woocommerce ul.products li.product,
.npt-content--favorites ul.products li.product{
  border-radius: var(--np-radius);
  overflow:hidden;
}

/* Compact card sizing inside Favorites */
.npt-content--favorites .woocommerce ul.products li.product img,
.npt-content--favorites ul.products li.product img{
  height: 170px;
}

.npt-content--favorites .woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size: 16px;
}

.npt-content--favorites .woocommerce ul.products li.product .price{
  font-size: 16px;
}

@media (max-width: 640px){
  .npt-content--favorites .woocommerce ul.products,
  .npt-content--favorites ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .npt-content--favorites .woocommerce ul.products li.product img,
  .npt-content--favorites ul.products li.product img{
    height: 140px;
  }
}

@media (max-width: 380px){
  .npt-content--favorites .woocommerce ul.products,
  .npt-content--favorites ul.products{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .npt-favorites-card{ padding: 14px; }
  .npt-favorites-hero{ padding: 16px 14px; }
}


/* =========================================
   My Account — Addresses premium alignment
   ========================================= */
.woocommerce-account .woocommerce-Addresses{
  /* WooCommerce may apply floats to child columns; force grid layout */
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 12px;
  align-items: stretch;
}
.woocommerce-account .woocommerce-Addresses.u-columns,
.woocommerce-account .woocommerce-Addresses.woocommerce-Addresses--2-col{
  width: 100% !important;
  float: none !important;
  clear: both;
}
.woocommerce-account .woocommerce-Address{
  background:#fff;
  border: 1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
  padding: 18px;
  display:flex;
  flex-direction:column;
  min-height: 240px;

  /* reset classic Woo columns */
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  max-width: none !important;
}

/* Extra safety: some Woo themes use these column classes */
.woocommerce-account .woocommerce-Address.u-column1,
.woocommerce-account .woocommerce-Address.u-column2,
.woocommerce-account .woocommerce-Address.col-1,
.woocommerce-account .woocommerce-Address.col-2{
  float: none !important;
  width: auto !important;
}

/* reset any remaining column helpers that can break alignment */
.woocommerce-account .woocommerce-Addresses.u-columns,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2{
  float: none !important;
  width: auto !important;
}

.woocommerce-account .woocommerce-Addresses::after{ content:none !important; }
.woocommerce-account .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address-title h2{
  margin:0;
  font-family:"Raleway",sans-serif;
  font-size: 20px;
  letter-spacing:.1px;
}
.woocommerce-account .woocommerce-Address-title a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(16,16,16,.06);
  border: 1px solid rgba(16,16,16,.12);
  font-family:"Raleway",sans-serif;
  font-weight: 900;
  white-space: nowrap;
}
.woocommerce-account .woocommerce-Address-title a:hover{
  background: rgba(16,16,16,.08);
}
.woocommerce-account .woocommerce-Address address{
  margin:0;
  font-style:normal;
  font-family:"Raleway",sans-serif;
  font-weight: 700;
  opacity: .9;
  line-height: 1.5;
  padding-top: 6px;
  flex: 1 1 auto;
}
.woocommerce-account .woocommerce-Address .woocommerce-address-fields,
.woocommerce-account .woocommerce-Address .woocommerce-address-fields__field-wrapper{
  flex: 1 1 auto;
}

/* Address edit form page spacing */
.woocommerce-account .woocommerce-address-fields{
  background:#fff;
  border: 1px solid rgba(16,16,16,.08);
  border-radius: var(--np-radius);
  box-shadow: var(--np-shadow);
  padding: 18px;
}
.woocommerce-account .woocommerce-address-fields .button{
  border-radius: 999px;
  padding: 12px 16px;
  font-family:"Raleway",sans-serif;
  font-weight: 900;
}

@media (max-width: 820px){
  .woocommerce-account .woocommerce-Addresses{ grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-Address{ min-height: auto; }
}

/* FIX14-CATALOG */

/* Drawer panel should never overflow viewport */
#npt-catalog-drawer .npt-drawer__panel,
#npt-catalog-drawer .npt-drawer__content,
.npt-catalog-drawer__panel{
  box-sizing: border-box !important;
  max-width: min(420px, calc(100vw - 16px)) !important;
  width: min(420px, calc(100vw - 16px)) !important;
  margin: 0 !important;
  left: 8px !important;
  transform: none !important;
  right: auto !important;
  overflow: hidden !important;
}

/* Closed/open states: avoid negative offsets that push under the edge */
#npt-catalog-drawer[hidden] .npt-drawer__panel,
#npt-catalog-drawer[hidden] .npt-drawer__content{
  transform: translateX(-110%) !important;
}
#npt-catalog-drawer:not([hidden]) .npt-drawer__panel,
#npt-catalog-drawer:not([hidden]) .npt-drawer__content{
  transform: translateX(0) !important;
}

/* Align category rows: text left, toggle button fixed */
.npt-catalog a,
.npt-catalog .npt-cat-row,
.npt-catalog .npt-catalog-row,
.npt-catalog .npt-catalog-item,
.npt-catalog .npt-catalog__item,
.npt-catalog .npt-catalog__link{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.npt-catalog .npt-cat-row__title,
.npt-catalog .npt-catalog__title,
.npt-catalog .npt-catalog-item__title{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-right: 8px !important;
}

.npt-catalog .npt-cat-row__btn,
.npt-catalog .npt-catalog__toggle,
.npt-catalog .npt-catalog-item__btn,
.npt-catalog button{
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  margin-left: 0 !important;
}
/* END-FIX14-CATALOG */

/* FIX15-CATALOG */
/* Reduce inner gutter so list doesn't look shifted */
#npt-catalog-drawer .npt-catalog,
#npt-catalog-drawer .npt-drawer__content{
  padding-left: 8px !important;
  padding-right: 8px !important;
}


/* FIX16-CATALOG-EDGE */
#npt-catalog-drawer .npt-drawer__panel,
#npt-catalog-drawer .npt-drawer__content{
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: auto !important;
  max-width: min(440px, 100vw) !important;
  width: min(440px, 100vw) !important;
}
#npt-catalog-drawer .npt-drawer__panel{
  border-radius: 16px !important;
}
#npt-catalog-drawer .npt-catalog,
#npt-catalog-drawer .npt-drawer__content{
  padding-left: 12px !important;
  padding-right: 12px !important;
}
/* Ensure list doesn't get clipped by scrollbar on small screens */
#npt-catalog-drawer .npt-drawer__content{
  overflow-x: hidden !important;
}
/* END-FIX16-CATALOG-EDGE */



/* FIX17-CATALOG-EDGE-ALIGN */
#npt-catalog-drawer .npt-drawer__panel,
#npt-catalog-drawer .npt-drawer__content,
.npt-catalog-drawer__panel,
.npt-drawer--catalog .npt-drawer__panel{
  left: 0 !important;
  right: auto !important;
  margin: 0 !important;
  width: min(420px, 100vw) !important;
  max-width: 100vw !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* keep comfortable inner spacing without shifting the whole panel */
#npt-catalog-drawer .npt-drawer__panel .npt-catalog,
#npt-catalog-drawer .npt-drawer__content .npt-catalog{
  padding-left: 12px !important;
  padding-right: 12px !important;
}



/* Header mobile polish */
@media (max-width: 540px){
  .npt-header__inner{ padding: 10px 0; gap: 10px; }
  .npt-logo__text{ font-size: 18px; }
  .npt-logo img{ max-height:40px; }
  .npt-actions{ gap: 8px; }
  .npt-burger{ width: 42px; height: 42px; border-radius: 12px; }
}
@media (max-width: 380px){
  .npt-logo__text{ font-size: 16px; }
  .npt-actions .npt-action{ width: 40px; height: 40px; }
  .npt-burger{ width: 40px; height: 40px; }
}
