/*!
Theme Name: nicesolution
Theme URI: http://underscores.me/
Author: grit-digital
Author URI: https://gritservice.ru/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: nicesolution
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

nicesolution is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a,
a:link,
a:visited,
a:hover,
a:focus,
a:active {
  color: inherit;
}

a:focus {
  outline: none;
}

a:focus-visible {
  outline: 2px solid rgba(161, 211, 38, 0.65);
  outline-offset: 3px;
}

a:hover,
a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
/* button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
} */

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li {
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }

  .main-navigation ul {
    display: flex;
  }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Blog single: make next/prev blocks look clean */
body.single-post .post-navigation .nav-links {
  gap: 14px;
}

body.single-post .post-navigation .nav-previous a,
body.single-post .post-navigation .nav-next a {
  display: block;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #fff;
  text-decoration: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

body.single-post .post-navigation .nav-previous a:hover,
body.single-post .post-navigation .nav-next a:hover {
  border-color: rgba(161, 211, 38, 0.45);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

body.single-post .post-navigation .nav-subtitle {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(15, 23, 42, 0.45);
  margin-bottom: 6px;
}

body.single-post .post-navigation .nav-title {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
}

/* Knowledge base archive pagination */
/* Unified pagination for category archives */
.ns-kb-archive .navigation.pagination,
body.category .navigation.pagination {
  margin-top: 28px;
}

.ns-kb-archive .navigation.pagination .nav-links,
body.category .navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  align-items: center;
}

.ns-kb-archive .navigation.pagination .page-numbers,
body.category .navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #fff;
  color: rgba(15, 23, 42, 0.8);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease, background 150ms ease;
}

.ns-kb-archive .navigation.pagination .page-numbers:hover,
body.category .navigation.pagination .page-numbers:hover {
  border-color: rgba(161, 211, 38, 0.5);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.ns-kb-archive .navigation.pagination .page-numbers.current,
body.category .navigation.pagination .page-numbers.current {
  background: #a1d326;
  border-color: rgba(161, 211, 38, 0.55);
  color: #0a0f1a;
  box-shadow: 0 12px 30px rgba(161, 211, 38, 0.25);
}

.ns-kb-archive .navigation.pagination .page-numbers.dots,
body.category .navigation.pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  min-width: auto;
  padding: 0 6px;
}

.ns-kb-archive .navigation.pagination .page-numbers.prev,
.ns-kb-archive .navigation.pagination .page-numbers.next,
body.category .navigation.pagination .page-numbers.prev,
body.category .navigation.pagination .page-numbers.next {
  padding: 0 16px;
}

/* WooCommerce catalog pagination — same look as blog pagination */
.woocommerce-pagination {
  margin-top: 28px;
}

.woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  list-style: none;
}

.woocommerce-pagination ul.page-numbers li::before {
  content: none;
}

.woocommerce-pagination ul.page-numbers li .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #fff;
  color: rgba(15, 23, 42, 0.8);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease, background 150ms ease;
}

.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
  border-color: rgba(161, 211, 38, 0.5);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.woocommerce-pagination ul.page-numbers li .page-numbers.current {
  background: #a1d326;
  border-color: rgba(161, 211, 38, 0.55);
  color: #0a0f1a;
  box-shadow: 0 12px 30px rgba(161, 211, 38, 0.25);
}

.woocommerce-pagination ul.page-numbers li .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  min-width: auto;
  padding: 0 6px;
}

.woocommerce-pagination ul.page-numbers li .page-numbers.prev,
.woocommerce-pagination ul.page-numbers li .page-numbers.next {
  padding: 0 16px;
}

/* Sticky TOC on blog single */
.ns-toc {
  position: sticky;
  top: calc(var(--site-header-height, 80px) + 20px);
}

.ns-toc__inner {
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  max-height: calc(100vh - (var(--site-header-height, 80px) + 60px));
  overflow: auto;
}

.ns-toc__title {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ns-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ns-toc__list li a {
  display: block;
  color: rgba(15, 23, 42, 0.75);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.35;
  transition: color 150ms ease;
}

.ns-toc__list li a:hover {
  color: #86b01b;
}

.ns-toc__list li.is-h3 a {
  padding-left: 14px;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.62);
  position: relative;
}

/* Offset anchor targets under sticky header */
body.single-post .entry-content.ns-prose h2,
body.single-post .entry-content.ns-prose h3 {
  scroll-margin-top: calc(var(--site-header-height, 80px) + 20px);
}

.ns-toc__list li.is-h3 a::before {
  content: none;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.ns-prose {
  --ns-lime: #a1d326;
  --ns-text: #0f172a;
  --ns-muted: rgba(15, 23, 42, 0.72);
  --ns-border: rgba(15, 23, 42, 0.12);
  --ns-bg: rgba(15, 23, 42, 0.03);
  color: var(--ns-muted);
  font-size: 16px;
  line-height: 1.75;
}

.ns-prose > *:first-child {
  margin-top: 0;
}

.ns-prose > *:last-child {
  margin-bottom: 0;
}

.ns-prose p {
  margin: 0 0 16px;
}

.ns-prose strong,
.ns-prose b {
  color: var(--ns-text);
  font-weight: 700;
}

.ns-prose a {
  color: var(--ns-text);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--ns-lime) 65%, transparent);
  text-underline-offset: 3px;
}

.ns-prose a:hover {
  color: var(--ns-lime);
}

/* Contacts page (page ID 128): links inside the contacts cards */
body.page-id-128 .entry-content a:hover,
body.page-id-128 main#primary.site-main a:hover {
  color: #a1d326;
}

.ns-prose h2,
.ns-prose h3,
.ns-prose h4,
.ns-prose h5,
.ns-prose h6 {
  color: var(--ns-text);
  line-height: 1.25;
  margin: 28px 0 14px;
  letter-spacing: -0.01em;
}

.ns-prose h2 {
  font-size: 28px;
  font-weight: 600;
}

.ns-prose h3 {
  font-size: 22px;
  font-weight: 600;
}

.ns-prose h4 {
  font-size: 18px;
  font-weight: 600;
}

.ns-prose h5 {
  font-size: 16px;
  font-weight: 700;
}

.ns-prose h6 {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(15, 23, 42, 0.82);
}

.ns-prose ul,
.ns-prose ol {
  margin: 0 0 16px;
  padding-left: 0;
  margin-left: 20px;
}

.ns-prose li {
  margin: 6px 0;
}

.ns-prose ul,
.ns-prose ol {
  list-style: none;
}

.ns-prose ul li,
.ns-prose ol li {
  position: relative;
  padding-left: 20px;
}

.ns-prose ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ns-lime);
  box-shadow: 0 6px 16px rgba(161, 211, 38, 0.25);
}

.ns-prose ol {
  counter-reset: ns-item;
}

.ns-prose ol li {
  counter-increment: ns-item;
}

.ns-prose ol li::before {
  content: counter(ns-item) ".";
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  text-align: left;
  color: var(--ns-lime);
  font-weight: 800;
}

.ns-prose hr {
  border: 0;
  border-top: 1px solid var(--ns-border);
  margin: 28px 0;
}

.ns-prose blockquote {
  margin: 20px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--ns-lime);
  background: var(--ns-bg);
  border-radius: 12px;
}

.ns-prose blockquote p {
  margin: 0;
}

.ns-prose code {
  font-size: 0.95em;
  padding: 0.15em 0.35em;
  border-radius: 8px;
  background: var(--ns-bg);
  border: 1px solid var(--ns-border);
  color: rgba(15, 23, 42, 0.9);
}

.ns-prose pre {
  padding: 16px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.92);
  color: rgba(255, 255, 255, 0.92);
  overflow: auto;
  margin: 0 0 16px;
}

.ns-prose pre code {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

.ns-prose img {
  max-width: 100%;
  height: auto;
}

.ns-prose figure {
  margin: 0 0 16px;
}

.ns-prose figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.6);
}

.ns-prose .wp-block-table {
  margin: 0 0 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ns-prose .wp-block-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 560px;
  border: 1px solid var(--ns-border);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.ns-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 16px;
}

.ns-prose table th,
.ns-prose table td {
  border: 1px solid var(--ns-border);
  padding: 6px 7px;
  vertical-align: top;
}

.ns-prose table th {
  background: rgba(15, 23, 42, 0.04);
  color: var(--ns-text);
  font-weight: 700;
}

.ns-prose table tr:nth-child(even) td {
  background: rgba(15, 23, 42, 0.015);
}

.ns-prose .wp-block-image {
  margin: 0 0 16px;
}

.ns-prose .alignwide,
.ns-prose .alignfull {
  width: 100%;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

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

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;

  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;

  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* Hide scrollbar for horizontal sliders from markup.html */
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* .bg-brand-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(161 211 38 / var(--tw-bg-opacity, 1));
}

.from-brand-lime {
  --tw-gradient-from: #a1d326 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(161 211 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-brand-cyan {
  --tw-gradient-to: #01b0e9 var(--tw-gradient-to-position);
}

.bg-brand-lime\/15 {
    background-color: rgb(161 211 38 / 0.15);
}

.text-brand-lime {
    --tw-text-opacity: 1;
    color: rgb(161 211 38 / var(--tw-text-opacity, 1));
} */

*,
::before,
::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
} /* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */
*,
::after,
::before {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}
::after,
::before {
  --tw-content: "";
}
:host,
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-family: Inter, sans-serif;
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  line-height: inherit;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  text-decoration: inherit;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
pre,
samp {
  font-family:
    ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button,
select {
  text-transform: none;
}
button,
input:where([type="button"]),
input:where([type="reset"]),
input:where([type="submit"]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none;
}
progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
menu,
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
dialog {
  padding: 0;
}
textarea {
  resize: vertical;
}
input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
[role="button"],
button {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
  display: block;
  vertical-align: middle;
}
img,
video {
  max-width: 100%;
  height: auto;
}
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.invisible {
  visibility: hidden;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.inset-0 {
  inset: 0px;
}
.-bottom-\[30\%\] {
  bottom: -30%;
}
.-left-\[10\%\] {
  left: -10%;
}
.-right-1 {
  right: -0.25rem;
}
.-right-12 {
  right: -3rem;
}
.-right-\[20\%\] {
  right: -20%;
}
.-top-1 {
  top: -0.25rem;
}
.-top-12 {
  top: -3rem;
}
.-top-\[20\%\] {
  top: -20%;
}
.left-0 {
  left: 0px;
}
.left-4 {
  left: 1rem;
}
.left-\[20\%\] {
  left: 20%;
}
.right-0 {
  right: 0px;
}
.right-6 {
  right: 1.5rem;
}
.top-0 {
  top: 0px;
}
.top-4 {
  top: 1rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[10\%\] {
  top: 10%;
}
.top-\[calc\(100\%-0\.5rem\)\] {
  top: calc(100% - 0.5rem);
}
.right-4 {
  right: 1rem;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[110\] {
  z-index: 110;
}
.z-\[90\] {
  z-index: 90;
}
.z-\[120\] {
  z-index: 120;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.mt-2 {
  margin-top: 0.5rem;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Ensure consistent 2-line excerpts on article cards */
.ns-article-excerpt {
  /* Robust 2-line clamp across browsers */
  line-height: 1.45;
  max-height: calc(1.45em * 2);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[60\%\] {
  height: 60%;
}
.h-\[70\%\] {
  height: 70%;
}
.h-full {
  height: 100%;
}
.min-h-\[350px\] {
  min-height: 350px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-64 {
  width: 16rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[50\%\] {
  width: 50%;
}
.w-\[60\%\] {
  width: 60%;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-max {
  width: max-content;
}
.min-w-\[260px\] {
  min-width: 260px;
}
.min-w-\[300px\] {
  min-width: 300px;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.translate-y-2 {
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-3 {
  --tw-rotate: 3deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.resize-none {
  resize: none;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start {
  scroll-snap-align: start;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-x-4 {
  column-gap: 1rem;
}
.gap-y-4 {
  row-gap: 1rem;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 0.75rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.5rem;
}
.border {
  border-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-brand-lime\/20 {
  border-color: rgb(161 211 38 / 0.2);
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-200\/70 {
  border-color: rgb(226 232 240 / 0.7);
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-900 {
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#070b14\] {
  --tw-bg-opacity: 1;
  background-color: rgb(7 11 20 / var(--tw-bg-opacity, 1));
}
.bg-\[\#070b14\]\/95 {
  background-color: rgb(7 11 20 / 0.95);
}
.bg-\[\#86b01b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(134 176 27 / var(--tw-bg-opacity, 1));
}
.bg-brand-cyan\/15 {
  background-color: rgb(1 176 233 / 0.15);
}
.bg-brand-cyan\/25 {
  background-color: rgb(1 176 233 / 0.25);
}
.bg-brand-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(161 211 38 / var(--tw-bg-opacity, 1));
}
.bg-brand-lime\/10 {
  background-color: rgb(161 211 38 / 0.1);
}
.bg-brand-lime\/15 {
  background-color: rgb(161 211 38 / 0.15);
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/95 {
  background-color: rgb(15 23 42 / 0.95);
}
.bg-slate-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-slate-950\/80 {
  background-color: rgb(2 6 23 / 0.8);
}
.bg-slate-950\/95 {
  background-color: rgb(2 6 23 / 0.95);
}
.bg-transparent {
  background-color: transparent;
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-black\/20 {
  --tw-gradient-from: rgb(0 0 0 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brand-cyan\/20 {
  --tw-gradient-from: rgb(1 176 233 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(1 176 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brand-lime {
  --tw-gradient-from: #a1d326 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(161 211 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900\/90 {
  --tw-gradient-from: rgb(15 23 42 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-slate-900\/30 {
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops:
    var(--tw-gradient-from),
    rgb(15 23 42 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-brand-cyan {
  --tw-gradient-to: #01b0e9 var(--tw-gradient-to-position);
}
.to-brand-lime\/20 {
  --tw-gradient-to: rgb(161 211 38 / 0.2) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text;
}
.object-cover {
  object-fit: cover;
}
.p-2 {
  padding: 0.5rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-32 {
  padding-top: 8rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-8 {
  padding-top: 2rem;
}
.font-outfit {
  font-family: Outfit, sans-serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.uppercase {
  text-transform: uppercase;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-tighter {
  letter-spacing: -0.05em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-\[\#86b01b\] {
  --tw-text-opacity: 1;
  color: rgb(134 176 27 / var(--tw-text-opacity, 1));
}
.text-brand-cyan {
  --tw-text-opacity: 1;
  color: rgb(1 176 233 / var(--tw-text-opacity, 1));
}
.text-brand-lime {
  --tw-text-opacity: 1;
  color: rgb(161 211 38 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.underline {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(161\2c 211\2c 38\2c 0\.2\)\] {
  --tw-shadow: 0 0 30px rgba(161, 211, 38, 0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(161\2c 211\2c 38\2c 0\.8\)\] {
  --tw-shadow: 0 0 8px rgba(161, 211, 38, 0.8);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow:
    0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:
    0 20px 25px -5px var(--tw-shadow-color),
    0 8px 10px -6px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.shadow-brand-lime\/20 {
  --tw-shadow-color: rgb(161 211 38 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-200\/40 {
  --tw-shadow-color: rgb(226 232 240 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-200\/50 {
  --tw-shadow-color: rgb(226 232 240 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
    var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate)
    var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[120px\] {
  --tw-blur: blur(120px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
    var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate)
    var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[130px\] {
  --tw-blur: blur(130px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
    var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate)
    var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[140px\] {
  --tw-blur: blur(140px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
    var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate)
    var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-lg {
  --tw-blur: blur(16px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
    var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate)
    var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}
.backdrop-blur-2xl {
  --tw-backdrop-blur: blur(40px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property:
    color,
    background-color,
    border-color,
    fill,
    stroke,
    -webkit-text-decoration-color;
  transition-property:
    color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property:
    color,
    background-color,
    border-color,
    text-decoration-color,
    fill,
    stroke,
    -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.selection\:bg-brand-lime\/30 *::selection {
  background-color: rgb(161 211 38 / 0.3);
}
.selection\:text-slate-900 *::selection {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.selection\:bg-brand-lime\/30::selection {
  background-color: rgb(161 211 38 / 0.3);
}
.selection\:text-slate-900::selection {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.placeholder\:text-white\/40::placeholder {
  color: rgb(255 255 255 / 0.4);
}
.hover\:border-\[\#86b01b\]\/40:hover {
  border-color: rgb(134 176 27 / 0.4);
}
.hover\:border-\[\#A1D326\]\/50:hover {
  border-color: rgb(161 211 38 / 0.5);
}
.hover\:border-brand-lime:hover {
  --tw-border-opacity: 1;
  border-color: rgb(161 211 38 / var(--tw-border-opacity, 1));
}
.hover\:border-brand-lime\/30:hover {
  border-color: rgb(161 211 38 / 0.3);
}
.hover\:border-white\/40:hover {
  border-color: rgb(255 255 255 / 0.4);
}
.hover\:bg-\[\#86b01b\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(134 176 27 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brand-lime\/10:hover {
  background-color: rgb(161 211 38 / 0.1);
}
.hover\:bg-brand-lime\/20:hover {
  background-color: rgb(161 211 38 / 0.2);
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-slate-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.hover\:text-\[\#709516\]:hover {
  --tw-text-opacity: 1;
  color: rgb(112 149 22 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#86b01b\]:hover {
  --tw-text-opacity: 1;
  color: rgb(134 176 27 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-lime:hover {
  --tw-text-opacity: 1;
  color: rgb(161 211 38 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.hover\:shadow-\[0_0_40px_rgba\(161\2c 211\2c 38\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 40px rgba(161, 211, 38, 0.4);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.hover\:shadow-xl:hover {
  --tw-shadow:
    0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:
    0 20px 25px -5px var(--tw-shadow-color),
    0 8px 10px -6px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.hover\:shadow-brand-lime\/10:hover {
  --tw-shadow-color: rgb(161 211 38 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-brand-lime\/5:hover {
  --tw-shadow-color: rgb(161 211 38 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-slate-200\/40:hover {
  --tw-shadow-color: rgb(226 232 240 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.focus\:border-brand-lime:focus {
  --tw-border-opacity: 1;
  border-color: rgb(161 211 38 / var(--tw-border-opacity, 1));
}
.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
    var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
    calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:
    var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-brand-lime:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(161 211 38 / var(--tw-ring-opacity, 1));
}
.group\/nav:hover .group-hover\/nav\:visible {
  visibility: visible;
}
.group\/nav:hover .group-hover\/nav\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/nav:hover .group-hover\/nav\:-rotate-180 {
  --tw-rotate: -180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:gap-3 {
  gap: 0.75rem;
}
.group:hover .group-hover\:border-\[\#86b01b\] {
  --tw-border-opacity: 1;
  border-color: rgb(134 176 27 / var(--tw-border-opacity, 1));
}
.group:hover .group-hover\:bg-brand-lime\/20 {
  background-color: rgb(161 211 38 / 0.2);
}
.group\/nav:hover .group-hover\/nav\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#86b01b\] {
  --tw-text-opacity: 1;
  color: rgb(134 176 27 / var(--tw-text-opacity, 1));
}
.group\/nav:hover .group-hover\/nav\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:shadow-lg {
  --tw-shadow:
    0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:
    0 10px 15px -3px var(--tw-shadow-color),
    0 4px 6px -4px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.peer:checked ~ .peer-checked\:border-brand-lime {
  --tw-border-opacity: 1;
  border-color: rgb(161 211 38 / var(--tw-border-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-brand-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(161 211 38 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:opacity-100 {
  opacity: 1;
}
@media (min-width: 640px) {
  .sm\:mb-14 {
    margin-bottom: 3.5rem;
  }
  .sm\:block {
    display: block;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:h-14 {
    height: 3.5rem;
  }
  .sm\:h-44 {
    height: 11rem;
  }
  .sm\:h-full {
    height: 100%;
  }
  .sm\:w-1\/2 {
    width: 50%;
  }
  .sm\:w-\[280px\] {
    width: 280px;
  }
  .sm\:w-\[350px\] {
    width: 350px;
  }
  .sm\:min-w-\[280px\] {
    min-width: 280px;
  }
  .sm\:min-w-\[350px\] {
    min-width: 350px;
  }
  .sm\:max-w-sm {
    max-width: 24rem;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:gap-3 {
    gap: 0.75rem;
  }
  .sm\:gap-6 {
    gap: 1.5rem;
  }
  .sm\:p-2\.5 {
    padding: 0.625rem;
  }
  .sm\:p-6 {
    padding: 1.5rem;
  }
  .sm\:p-8 {
    padding: 2rem;
  }
  .sm\:pl-2 {
    padding-left: 0.5rem;
  }
  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 768px) {
  .md\:right-10 {
    right: 2.5rem;
  }
  .md\:top-10 {
    top: 2.5rem;
  }
  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .md\:row-span-2 {
    grid-row: span 2 / span 2;
  }
  .md\:mt-32 {
    margin-top: 8rem;
  }
  .md\:min-h-\[420px\] {
    min-height: 420px;
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:p-12 {
    padding: 3rem;
  }
  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .md\:px-24 {
    padding-left: 6rem;
    padding-right: 6rem;
  }
  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1024px) {
  .lg\:relative {
    position: relative;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:hidden {
    display: none;
  }
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:gap-24 {
    gap: 6rem;
  }
  .lg\:border-transparent {
    border-color: transparent;
  }
  .lg\:bg-transparent {
    background-color: transparent;
  }
  .lg\:p-16 {
    padding: 4rem;
  }
  .lg\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
  .lg\:pb-32 {
    padding-bottom: 8rem;
  }
  .lg\:pt-16 {
    padding-top: 4rem;
  }
  .lg\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
  .lg\:backdrop-blur-none {
    --tw-backdrop-blur: ;
    -webkit-backdrop-filter: var(--tw-backdrop-blur)
      var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
      var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate)
      var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
      var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
      var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
      var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
      var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
      var(--tw-backdrop-sepia);
  }
}
@media (min-width: 1280px) {
  .xl\:flex {
    display: flex;
  }
  .xl\:gap-10 {
    gap: 2.5rem;
  }
  .xl\:text-8xl {
    font-size: 6rem;
    line-height: 1;
  }
}

.container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
  padding-left: 30px;
  padding-right: 30px;
}

/* Nested containers should not double inner padding */
.container .container {
  padding-left: 0;
  padding-right: 0;
}

/* Responsive container padding: 767px and below */
@media (max-width: 767px) {
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* Front page hero: reduce top whitespace below lg (<= 1023px) */
@media (max-width: 1023px) {
  body.front-page .ns-hero .container {
    padding-top: 96px !important;
  }
  body.front-page .ns-hero .max-w-4xl {
    padding-top: 0 !important;
  }
}

.site-header-nav {
  transform: translateY(0);
  transition:
    transform 240ms ease,
    background-color 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease,
    opacity 240ms ease;
  will-change: transform;
}

.site-header-nav.is-hidden {
  transform: translateY(-110%);
}

/* Header icon links: force white (override base <a> colors) */
.site-header-nav .ns-header-social a,
.site-header-nav .ns-header-social a:visited,
.site-header-nav a.ns-account-btn,
.site-header-nav a.ns-account-btn:visited,
.site-header-nav a.ns-cart-btn,
.site-header-nav a.ns-cart-btn:visited {
  color: #ffffff !important;
}

/* Header contact links: solid white (override global link inherit); hover keeps brand lime */
.site-header-nav a[href^='tel:'],
.site-header-nav a[href^='mailto:'],
.site-header-nav a[href^='tel:']:visited,
.site-header-nav a[href^='mailto:']:visited {
  color: #ffffff !important;
}

.site-header-nav a[href^='tel:']:hover,
.site-header-nav a[href^='mailto:']:hover,
.site-header-nav a[href^='tel:']:focus-visible,
.site-header-nav a[href^='mailto:']:focus-visible {
  color: #a1d326 !important;
}

#mobile-menu a[href^='tel:'],
#mobile-menu a[href^='mailto:'],
#mobile-menu a[href^='tel:']:visited,
#mobile-menu a[href^='mailto:']:visited {
  color: #ffffff !important;
}

#mobile-menu a[href^='tel:']:hover,
#mobile-menu a[href^='mailto:']:hover,
#mobile-menu a[href^='tel:']:focus-visible,
#mobile-menu a[href^='mailto:']:focus-visible {
  color: #a1d326 !important;
}

body.home .site-header-nav.is-scrolled,
body.front-page .site-header-nav.is-scrolled {
  background: rgba(7, 11, 20, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* Fix: prevent right-side white strip on the front page (horizontal overflow) */
html.ns-front-page {
  overflow-x: hidden !important;
}

body:not(.home):not(.front-page) {
  padding-top: var(--site-header-height, 0px);
}

/* Mobile burger menu: typography + spacing */
#mobile-menu ul.ns-mobile-menu-list,
#mobile-menu ul.ns-mobile-menu-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#mobile-menu ul.ns-mobile-menu-list > li > a {
  display: block;
  padding: 10px 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  transition: color 180ms ease;
}

#mobile-menu ul.ns-mobile-menu-list > li > a:hover {
  color: #a1d326;
}

#mobile-menu ul.ns-mobile-menu-list > li > ul {
  margin-top: 6px;
  padding-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

#mobile-menu ul.ns-mobile-menu-list li li > a {
  display: block;
  padding: 8px 0;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 180ms ease;
}

#mobile-menu ul.ns-mobile-menu-list li li > a:hover {
  color: rgba(255, 255, 255, 0.88);
}

/* Cart page (WooCommerce) - site style */
body.woocommerce-cart main#primary.site-main {
  padding-top: 28px;
  padding-bottom: 64px;
}

/* WooCommerce page title (Cart/Checkout/Account pages rendered as WP pages) */
.ns-woo-page-header {
  padding-top: 22px;
  padding-bottom: 10px;
}

.ns-woo-page-header .entry-title {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0f172a;
  margin: 0;
  line-height: 1.15;
  font-size: 38px;
}

.ns-breadcrumbs {
  margin: 14px 0;
}

#breadcrumbs {
  margin: 0;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.6);
  line-height: 1.4;
}

#breadcrumbs a {
  color: rgba(15, 23, 42, 0.75);
  text-decoration: none;
  font-weight: 500;
}

#breadcrumbs a:hover {
  text-decoration: underline;
}

#breadcrumbs .separator {
  padding: 0 8px;
  color: rgba(15, 23, 42, 0.35);
}

#breadcrumbs .breadcrumb_last {
  color: #0f172a;
  font-weight: 700;
}

@media (max-width: 640px) {
  .ns-woo-page-header .entry-title {
    font-size: 30px;
  }
}

body.woocommerce-cart .ns-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
  gap: 28px;
  align-items: start;
}

@media (max-width: 1024px) {
  body.woocommerce-cart .ns-cart-layout {
    grid-template-columns: 1fr;
  }
}

/* Sticky summary block on cart */
body.woocommerce-cart .cart-collaterals {
  position: sticky;
  top: calc(var(--site-header-height, 0px) + 24px);
  align-self: start;
}

body.woocommerce-cart table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 16px;
  overflow: hidden;
  table-layout: fixed;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.75);
  vertical-align: middle;
}

body.woocommerce-cart table.shop_table thead th {
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, 0.55);
  background: #ffffff;
}

body.woocommerce-cart table.shop_table.cart th.product-thumbnail,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
  width: 10%;
}

body.woocommerce-cart table.shop_table.cart th.product-name,
body.woocommerce-cart table.shop_table.cart td.product-name {
  width: 40%;
}

body.woocommerce-cart table.shop_table tbody tr:last-child td {
  border-bottom: 0;
}

body.woocommerce-cart a {
  color: inherit;
}

body.woocommerce-cart td.product-name a {
  color: #0f172a;
  font-weight: 500;
  text-decoration: none;
}

body.woocommerce-cart td.product-name a:hover {
  text-decoration: underline;
}

body.woocommerce-cart td.product-thumbnail img {
  border-radius: 12px;
  background: #f1f5f9;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal {
  white-space: nowrap;
  font-weight: 600;
  color: #0f172a;
}

body.woocommerce-cart a.remove {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.04);
  color: rgba(15, 23, 42, 0.7) !important;
  text-decoration: none;
}

body.woocommerce-cart a.remove:hover {
  background: rgba(239, 68, 68, 0.12);
  color: rgb(239, 68, 68) !important;
}

body.woocommerce-cart .quantity input.qty {
  width: 84px;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  padding: 10px 12px;
  font-weight: 500;
  color: #0f172a;
}

body.woocommerce-cart .actions .button,
body.woocommerce-cart button.button,
body.woocommerce-cart a.button {
  border-radius: 12px;
}

body.woocommerce-cart button[name="update_cart"] {
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(226, 232, 240, 0.9);
  color: rgba(15, 23, 42, 0.88);
  font-weight: 600;
  padding: 12px 14px;
}

body.woocommerce-cart button[name="update_cart"]:hover {
  background: rgba(15, 23, 42, 0.06);
}

body.woocommerce-cart .cart_totals {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
}

body.woocommerce-cart .cart_totals table.shop_table {
  border: 0;
  border-radius: 0;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  padding: 10px 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  font-size: 13px;
  color: rgba(15, 23, 42, 0.7);
}

body.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
body.woocommerce-cart .cart_totals table.shop_table tr:last-child td {
  border-bottom: 0;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
  padding-top: 16px;
  font-weight: 700;
  color: #0f172a;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  border-radius: 12px;
  background: #a1d326;
  border: 1px solid rgba(161, 211, 38, 0.4);
  color: #0a0f1a;
  font-weight: 700;
  padding: 14px 16px;
  text-decoration: none;
  display: block;
  text-align: center;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  filter: brightness(1.02);
}

body.woocommerce-cart .cart_totals .woocommerce-Price-amount.amount {
  font-size: 24px;
  font-weight: 800;
  color: #0f172a;
}

/* Checkout page (WooCommerce) - site style */
body.woocommerce-checkout main#primary.site-main {
  padding-top: 28px;
  padding-bottom: 72px;
}

body.woocommerce-checkout .ns-checkout-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  gap: 28px;
  align-items: start;
}

@media (max-width: 1024px) {
  body.woocommerce-checkout .ns-checkout-container {
    grid-template-columns: 1fr;
  }
}

body.woocommerce-checkout .ns-checkout-container #customer_details {
  grid-column: 1;
  grid-area: auto;
}

body.woocommerce-checkout .ns-checkout-container #order_review_heading {
  grid-area: auto;
}

body.woocommerce-checkout .ns-checkout-container #order_review {
  grid-column: 2;
  grid-area: auto;
}

/* Keep col-2 visible: it contains order notes (wishes). */

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading {
  font-family: Outfit, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: #0f172a;
  font-weight: 600;
  letter-spacing: -0.02em;
}

body.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: Outfit, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: #0f172a;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-size: 16px;
  margin: 18px 0 14px;
}

body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  margin-top: 0;
}

body.woocommerce-checkout #order_review_heading {
  margin: 6px 0 8px;
  font-size: 18px;
}

body.woocommerce-checkout .woocommerce-billing-fields h3 {
  font-size: 16px;
  margin: 0 0 14px;
}

/* Fields */
body.woocommerce-checkout .woocommerce-checkout #customer_details input.input-text,
body.woocommerce-checkout .woocommerce-checkout #customer_details input,
body.woocommerce-checkout .woocommerce-checkout #customer_details select,
body.woocommerce-checkout .woocommerce-checkout #customer_details textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  padding: 12px 12px;
  background: #fff;
  color: #0f172a;
  font-weight: 500;
  outline: none;
}

body.woocommerce-checkout .woocommerce-checkout #customer_details label {
  display: block;
  margin: 0 0 8px;
  font-size: 13px;
  color: rgba(15, 23, 42, 0.7);
  font-weight: 600;
}

body.woocommerce-checkout .woocommerce-checkout #customer_details .ns-checkbox-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
  font-weight: 600;
}

body.woocommerce-checkout .woocommerce-checkout #customer_details p.form-row {
  margin: 0 0 14px;
}

body.woocommerce-checkout .woocommerce-account-fields {
  margin-top: 6px;
  padding-top: 18px;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

body.woocommerce-checkout .ns-create-account-row {
  margin-bottom: 14px !important;
}

body.woocommerce-checkout .woocommerce-account-fields .create-account .form-row {
  margin-bottom: 14px;
}

body.woocommerce-checkout #customer_details .ns-checkbox-text {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.72);
  line-height: 1.55;
  font-weight: 600;
}

body.woocommerce-checkout .woocommerce-shipping-fields .ns-checkbox-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
  cursor: pointer !important;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
}

body.woocommerce-checkout .woocommerce-shipping-fields .ns-checkbox-text {
  font-size: 14px;
  line-height: 1.55;
}

/* Order review card */
body.woocommerce-checkout #order_review {
  margin-top: 0;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  position: sticky;
  top: calc(var(--site-header-height, 80px) + 20px);
  align-self: start;
}

body.woocommerce-checkout #order_review table.shop_table {
  margin: 0;
  border: 0;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  padding: 10px 0;
  font-size: 13px;
}

body.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child td {
  border-bottom: 0;
}

/* Totals - final total more prominent */
body.woocommerce-checkout #order_review .order-total td .woocommerce-Price-amount.amount,
body.woocommerce-checkout #order_review .order-total td .woocommerce-Price-amount {
  font-size: 26px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}

body.woocommerce-checkout #order_review .order-total td {
  white-space: nowrap;
  text-align: right;
}

/* Place order button */
body.woocommerce-checkout #place_order {
  width: 100%;
  border-radius: 12px;
  background: #a1d326;
  border: 1px solid rgba(161, 211, 38, 0.4);
  color: #0a0f1a;
  font-weight: 800;
  padding: 14px 16px;
}

body.woocommerce-checkout #place_order:hover {
  filter: brightness(1.02);
}

/* Notices wrapper когда он прямой потомок .woocommerce (вне нашего .container) */
.woocommerce > .woocommerce-notices-wrapper {
  padding-left: 30px;
  padding-right: 30px;
  box-sizing: border-box;
}

/* WooCommerce notices (errors/info/success) */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
  color: rgba(15, 23, 42, 0.82);
  font-weight: 500;
  line-height: 1.5;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

/* Buttons: use regular font weight site-wide */
button,
.button,
a.button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wc-block-components-button,
.wp-element-button {
  font-weight: 400 !important;
}

.woocommerce-error {
  border-color: rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.06);
  color: #ffffff;
}

.woocommerce-message {
  border-color: rgba(161, 211, 38, 0.45);
  background: rgba(161, 211, 38, 0.12);
  color: #ffffff;
}

.woocommerce-info {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.08);
  color: rgba(30, 58, 138, 0.95);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  display: none;
}

.woocommerce-error li {
  margin: 0;
}

/* Prevent checkbox shrinking in flex layouts */
.woocommerce-form__input-checkbox {
  flex-shrink: 0;
}

/* My Account (WooCommerce) - site style */
body.woocommerce-account main#primary.site-main {
  padding-top: 28px;
  padding-bottom: 72px;
}

body.woocommerce-account .ns-account-container {
  padding-top: 0;
}

body.woocommerce-account .ns-myaccount-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

/* Logged-out: auth card wrapper (login/register) */
body.woocommerce-account .ns-auth-card {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 22px 22px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

/* One-column auth (login only): centered ~50% width */
body.woocommerce-account .ns-auth-card.ns-auth-card--single {
  width: min(45%, 680px);
  margin-left: auto;
  margin-right: auto;
}

/* Two-column auth (login + register): full width */
body.woocommerce-account .ns-auth-card.ns-auth-card--split {
  width: min(100%, 980px);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  body.woocommerce-account .ns-myaccount-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.woocommerce-account .ns-auth-card {
    padding: 18px 16px;
  }

  body.woocommerce-account .ns-auth-card.ns-auth-card--single {
    width: 100%;
  }
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  position: sticky;
  top: calc(var(--site-header-height, 80px) + 20px);
  align-self: start;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

@media (max-width: 900px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
  }
}

@media (max-width: 1023px) {
  body.woocommerce-account .ns-myaccount-layout {
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 10px;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 130px;
    flex: 0 0 130px;
    max-width: 130px;
  }
}

/* My Account: mobile — одна колонка: сначала табы, затем контент */
@media (max-width: 640px) {
  body.woocommerce-account .ns-myaccount-layout {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 16px;
    align-items: stretch;
  }

  body.woocommerce-account .ns-myaccount-layout .woocommerce-MyAccount-navigation {
    grid-row: 1;
    width: 100%;
    max-width: none;
    flex: none;
  }

  body.woocommerce-account .ns-myaccount-layout .woocommerce-MyAccount-content.ns-myaccount-content {
    grid-row: 2;
    min-width: 0;
  }
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  color: rgba(15, 23, 42, 0.78);
  background: rgba(15, 23, 42, 0.02);
  border: 1px solid rgba(226, 232, 240, 0.85);
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(148, 163, 184, 0.6);
  color: #0f172a;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current='page'] {
  background: rgba(161, 211, 38, 0.16);
  border-color: rgba(161, 211, 38, 0.55);
  color: #0f172a;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 20px 22px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
  min-width: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content a {
  color: rgba(15, 23, 42, 0.9);
  text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content a:hover {
  color: #86b01b;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content h3 {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin-top: 0;
  margin-bottom: 14px;
}

/* My Account forms (Login/Register/Edit) */
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content form {
  margin: 0;
}

body.woocommerce-account .ns-auth-card h2 {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  color: #0f172a;
  letter-spacing: -0.02em;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 14px;
}

/* Split auth: visually separate login and register into 2 blocks */
body.woocommerce-account .ns-auth-card.ns-auth-card--split {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

body.woocommerce-account .ns-auth-card.ns-auth-card--split #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

@media (max-width: 900px) {
  body.woocommerce-account .ns-auth-card.ns-auth-card--split #customer_login {
    grid-template-columns: 1fr;
  }
}

body.woocommerce-account .ns-auth-card.ns-auth-card--split .u-column1,
body.woocommerce-account .ns-auth-card.ns-auth-card--split .u-column2 {
  margin: 0;
  float: none;
  width: auto;
}

body.woocommerce-account .ns-auth-card.ns-auth-card--split .ns-auth-section {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 22px 22px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

@media (max-width: 900px) {
  body.woocommerce-account .ns-auth-card.ns-auth-card--split .ns-auth-section {
    padding: 18px 16px;
  }
}

body.woocommerce-account .ns-auth-card .form-row,
body.woocommerce-account .ns-auth-card .woocommerce-form-row {
  margin: 0 0 12px;
}

body.woocommerce-account .ns-auth-card label {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
}

body.woocommerce-account .ns-auth-card input[type='text'],
body.woocommerce-account .ns-auth-card input[type='email'],
body.woocommerce-account .ns-auth-card input[type='password'] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #fff;
  padding: 12px 12px;
  font-weight: 600;
  color: #0f172a;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

/* Labels above fields for both login + password */
body.woocommerce-account .ns-auth-card form.woocommerce-form-login .woocommerce-form-row--wide label {
  display: block;
  width: 100%;
}

body.woocommerce-account .ns-auth-card form.woocommerce-form-login .woocommerce-form-row--wide input {
  width: 100%;
}

body.woocommerce-account .ns-auth-card input:focus {
  border-color: rgba(161, 211, 38, 0.75);
  box-shadow: 0 0 0 4px rgba(161, 211, 38, 0.18);
}

body.woocommerce-account .ns-auth-card .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
  margin: 0;
}

body.woocommerce-account .ns-auth-card .woocommerce-form__input-checkbox {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 6px;
  accent-color: #a1d326;
}

body.woocommerce-account .ns-auth-card .woocommerce-LostPassword {
  margin: 10px 0 0;
}

body.woocommerce-account .ns-auth-card .woocommerce-LostPassword a {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
}

/* Register helper text (password link message) */
body.woocommerce-account .ns-auth-section--register .woocommerce-form-register > p {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(15, 23, 42, 0.55);
}

/* Auth layout: remember-me + submit button */
body.woocommerce-account .ns-auth-card form.woocommerce-form-login .form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

body.woocommerce-account .ns-auth-card form.woocommerce-form-login .form-row .woocommerce-form-login__rememberme {
  flex: 0 0 auto;
  min-width: 0;
}

body.woocommerce-account .ns-auth-card form.woocommerce-form-login .form-row .woocommerce-form-login__submit {
  width: 100%;
  min-width: 0;
  border-radius: 16px;
  padding: 14px 18px;
  font-size: 15px;
  font-weight: 800;
}

@media (max-width: 520px) {
  body.woocommerce-account .ns-auth-card form.woocommerce-form-login .form-row .woocommerce-form-login__rememberme {
    min-width: 0;
  }

  body.woocommerce-account .ns-auth-card form.woocommerce-form-login .form-row .woocommerce-form-login__submit {
    width: 100%;
    min-width: 0;
  }
}

body.woocommerce-account .ns-auth-card button.button,
body.woocommerce-account .ns-auth-card a.button,
body.woocommerce-account .ns-auth-card .woocommerce-button,
body.woocommerce-account .ns-auth-card .woocommerce-Button {
  width: 100%;
  justify-content: center;
}

/* Ensure "Log in" button is green */
body.woocommerce-account .ns-auth-card .woocommerce-form-login__submit {
  background: #a1d326;
  border: 1px solid rgba(161, 211, 38, 0.45);
  color: #0a0f1a !important;
}

/* Register button in site style */
body.woocommerce-account .ns-auth-section--register .woocommerce-form-register__submit {
  background: #a1d326;
  border: 1px solid rgba(161, 211, 38, 0.45);
  color: #0a0f1a !important;
  border-radius: 16px;
  padding: 14px 18px;
  font-size: 15px;
  font-weight: 800;
  width: 100%;
  justify-content: center;
}

body.woocommerce-account .ns-auth-section--register .woocommerce-form-register__submit:hover {
  filter: brightness(1.02);
}

/* Consent checkbox + text */
body.woocommerce-account .ns-auth-section--register .ns-auth-consent-row {
  margin-top: 10px;
  margin-bottom: 12px;
}

body.woocommerce-account .ns-auth-section--register .ns-auth-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  cursor: pointer;
}

body.woocommerce-account .ns-auth-section--register .ns-auth-consent__text {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(15, 23, 42, 0.68);
  font-weight: 600;
}

body.woocommerce-account .ns-auth-section--register .ns-auth-consent__link {
  text-decoration: underline;
  color: rgba(15, 23, 42, 0.85);
  transition: color 0.18s ease;
  margin: 0 0.25em;
}

body.woocommerce-account .ns-auth-section--register .ns-auth-consent__link:hover {
  color: #86b01b;
}

body.woocommerce-account .ns-auth-section--register .ns-auth-consent .woocommerce-form__input-checkbox {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 6px;
  accent-color: #a1d326;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .u-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

@media (max-width: 900px) {
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .u-columns {
    grid-template-columns: 1fr;
  }
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .u-column1,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .u-column2 {
  background: rgba(248, 250, 252, 0.6);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 18px 18px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .u-column1 h2,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .u-column2 h2 {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 14px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .form-row,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-form-row {
  margin: 0 0 12px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content label {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .required {
  color: #f43c33;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content input[type='text'],
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content input[type='email'],
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content input[type='password'],
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content input[type='tel'],
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content textarea,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #fff;
  padding: 12px 12px;
  font-weight: 600;
  color: #0f172a;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content input:focus,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content textarea:focus,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content select:focus {
  border-color: rgba(161, 211, 38, 0.75);
  box-shadow: 0 0 0 4px rgba(161, 211, 38, 0.18);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
  margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-form__input-checkbox {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 6px;
  accent-color: #a1d326;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-LostPassword {
  margin: 10px 0 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-LostPassword a {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.72);
}

/* Buttons & links inside account */
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content button.button,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content a.button,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-button,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  background: #a1d326;
  border: 1px solid rgba(161, 211, 38, 0.45);
  color: #0a0f1a !important;
  font-weight: 800;
  padding: 12px 14px;
  text-decoration: none;
  cursor: pointer;
  transition: filter 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content button.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content a.button:hover,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-button:hover,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-Button:hover {
  filter: brightness(1.02);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-pagination {
  margin-top: 28px;
}

/* Orders table */
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.my_account_orders,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  margin: 0;
  text-align: left;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table th,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table thead th {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: rgba(15, 23, 42, 0.6);
  background: rgba(248, 250, 252, 0.9);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tbody tr:nth-child(even) td,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tbody tr:nth-child(even) th {
  background: rgba(248, 250, 252, 0.75);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tbody tr:last-child td,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tbody tr:last-child th {
  border-bottom: none;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  font-weight: 800;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
  padding: 8px 10px;
  border-radius: 10px;
  font-weight: 800;
}

@media (max-width: 600px) {
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table thead {
    display: none;
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table,
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tbody,
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tr,
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table td,
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table th {
    display: block;
    width: 100%;
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tr {
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table tbody tr:last-child {
    border-bottom: none;
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table td,
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table th {
    border: 0;
    padding: 8px 12px;
    background: transparent !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table td::before {
    content: attr(data-title) ': ';
    display: inline-block;
    font-weight: 800;
    color: rgba(15, 23, 42, 0.55);
    margin-right: 6px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    padding-top: 10px;
  }
}

@media (max-width: 767px) {
  table.shop_table_responsive tbody th {
    display: block !important;
    width: 100%;
  }
}

/* My Account — просмотр заказа (view-order): статус, таблица, адреса, загрузки */
body.woocommerce-view-order .woocommerce-MyAccount-content.ns-myaccount-content > p:first-of-type {
  margin: 0 0 22px;
  padding: 16px 18px;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(15, 23, 42, 0.82);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content mark.order-number,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content mark.order-date,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content mark.order-status {
  background: rgba(161, 211, 38, 0.22);
  color: #0f172a;
  padding: 2px 8px;
  border-radius: 8px;
  font-weight: 700;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-downloads,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-details,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details {
  margin: 0 0 22px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-downloads:last-child,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-details:last-child,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details:last-child {
  margin-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-downloads__title {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 14px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-details {
  min-width: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details.order_details,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-downloads {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  margin: 0;
  text-align: left;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details th,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details td,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-downloads th,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-downloads td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  font-size: 14px;
  vertical-align: top;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details thead th,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-downloads thead th {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: rgba(15, 23, 42, 0.6);
  background: rgba(248, 250, 252, 0.9);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tbody tr:nth-child(even) td,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tbody tr.product-purchase-note td,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-downloads tbody tr:nth-child(even) td {
  background: rgba(248, 250, 252, 0.55);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tbody tr:last-child td,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-downloads tbody tr:last-child td {
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tfoot th,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tfoot td {
  background: rgba(248, 250, 252, 0.65);
  font-weight: 600;
  color: rgba(15, 23, 42, 0.78);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tfoot tr.order_total th,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details tfoot tr.order_total td {
  background: rgba(161, 211, 38, 0.12);
  font-weight: 800;
  font-size: 15px;
  color: #0f172a;
  border-bottom: none;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details .product-name a {
  font-weight: 700;
  color: #0f172a;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details .product-name .product-quantity {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.55);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details .wc-item-meta {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(15, 23, 42, 0.58);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details .wc-item-meta li {
  margin: 0 0 4px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details .order-actions--heading {
  width: 30%;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details td .order-actions-button {
  margin: 0 8px 8px 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details {
  padding: 18px 20px;
  background: rgba(248, 250, 252, 0.5);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details .woocommerce-column__title {
  font-size: 16px;
  margin: 0 0 12px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details address {
  font-style: normal;
  line-height: 1.6;
  color: rgba(15, 23, 42, 0.82);
  margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details--phone,
body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-customer-details--email {
  margin: 10px 0 0;
  font-size: 14px;
  color: rgba(15, 23, 42, 0.75);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

@media (max-width: 640px) {
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-OrderUpdates {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-OrderUpdate {
  margin: 0;
  padding: 0;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-OrderUpdate-meta {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: rgba(15, 23, 42, 0.5);
  margin: 0 0 8px;
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-OrderUpdate-description {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(15, 23, 42, 0.82);
}

body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-OrderUpdate-inner {
  padding: 14px 16px;
}

@media (max-width: 640px) {
  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content .woocommerce-order-details {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-left: -4px;
    margin-right: -4px;
    padding-left: 4px;
    padding-right: 4px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content.ns-myaccount-content table.woocommerce-table--order-details.order_details {
    min-width: 100%;
  }
}

/* Single product (WooCommerce) - site style */
body.single-product main#primary.site-main {
  padding-top: 28px;
  padding-bottom: 72px;
}

body.single-product main#primary.site-main div.product {
  display: block;
  position: relative;
}

/* Галерея + summary в одном ряду — sticky ограничен этим блоком и не наезжает на табы ниже */
body.single-product main#primary.site-main div.product .ns-product-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 40px;
  align-items: start;
  position: relative;
  width: 100%;
}

/* Sale badge — loop + single product */
body.woocommerce-active ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product,
body.tax-product_attribute ul.products li.product {
  position: relative;
}

span.onsale {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 15;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 8px;
  background: #a1d326;
  color: #0a0f1a;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
  pointer-events: none;
  min-width: 0;
  max-width: calc(100% - 20px);
  text-align: center;
}

/* Product tag labels (метки) — single gallery */
.ns-product-labels {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  z-index: 12;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  align-items: flex-start;
  pointer-events: none;
}

.ns-product-label {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  background: #a1d326;
  color: #0a0f1a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.ns-product-label--hit {
  background: #ffb020;
  color: #3a2800;
  text-shadow: none;
}

.ns-product-label--new {
  background: #099925;
  color: #fff;
}

.ns-product-label--default {
  background: rgba(15, 23, 42, 0.78);
  color: #fff;
}

/* Скидка в том же ряду, что и метки тегов (разметка из nicesolution_get_product_tag_labels_html) */
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery
  .ns-product-labels
  span.onsale {
  position: static;
  top: auto;
  right: auto;
  left: auto;
  z-index: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f43c33 !important;
  color: #fff !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: none;
  text-align: center;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
  pointer-events: none;
}

@media (max-width: 1024px) {
  body.single-product main#primary.site-main div.product .ns-product-main-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery {
  position: relative;
  width: auto;
  min-width: 0;
  max-width: 100%;
  float: none;
  margin: 0;
  overflow: hidden;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery
  > .ns-product-labels {
  top: 14px;
  left: 14px;
  right: auto;
  max-width: calc(100% - 28px);
  z-index: 20;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery__wrapper {
  border-radius: 18px;
  overflow: hidden;
  background: #f8fafc;
  border: 1px solid rgba(226, 232, 240, 0.9);
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery
  .flex-viewport {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery
  .flex-viewport
  .woocommerce-product-gallery__wrapper {
  border-radius: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-gallery__wrapper
  img {
  display: block;
  width: 100%;
  height: auto;
}

body.single-product main#primary.site-main div.product .summary {
  width: auto;
  float: none;
  margin: 0;
  padding: 22px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

@media (min-width: 1025px) {
  body.single-product main#primary.site-main div.product .summary.entry-summary {
    position: sticky;
    top: calc(var(--site-header-height, 80px) + 20px);
    align-self: start;
  }
}

body.single-product main#primary.site-main div.product .product_title {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0f172a;
  margin: 0 0 12px;
  line-height: 1.15;
  font-size: 34px;
}

@media (max-width: 640px) {
  body.single-product main#primary.site-main div.product .product_title {
    font-size: 28px;
  }
}

body.single-product main#primary.site-main div.product p.price .ns-price-vat,
body.single-product main#primary.site-main div.product span.price .ns-price-vat {
  font-size: 0.5em;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.5);
  white-space: nowrap;
  margin-left: 0.4em;
  vertical-align: middle;
  line-height: 1.2;
}

body.single-product main#primary.site-main div.product p.price,
body.single-product main#primary.site-main div.product span.price {
  font-size: 26px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 16px;
}

/* Как в краткой карточке: старая цена (зачёркивание) + акционная */
body.single-product
  main#primary.site-main
  div.product
  .summary
  .price
  del,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .woocommerce-variation-price
  .price
  del {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: rgba(15, 23, 42, 0.45);
}

body.single-product
  main#primary.site-main
  div.product
  .summary
  .price
  del
  .woocommerce-Price-amount,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .woocommerce-variation-price
  .price
  del
  .woocommerce-Price-amount {
  color: inherit;
}

body.single-product
  main#primary.site-main
  div.product
  .summary
  .price
  del::after,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .woocommerce-variation-price
  .price
  del::after {
  content: '';
  position: absolute;
  left: -2px;
  bottom: 0.08em;
  width: calc(100% + 6px);
  height: 2px;
  background: #f43c33;
  transform: rotate(-22deg);
  transform-origin: left bottom;
  pointer-events: none;
}

body.single-product
  main#primary.site-main
  div.product
  .summary
  .price
  ins,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .woocommerce-variation-price
  .price
  ins {
  text-decoration: none;
  background: none;
}

body.single-product
  main#primary.site-main
  div.product
  .summary
  .price
  ins,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .price
  ins
  .woocommerce-Price-amount,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .woocommerce-variation-price
  .price
  ins,
body.single-product
  main#primary.site-main
  div.product
  .summary
  .woocommerce-variation-price
  .price
  ins
  .woocommerce-Price-amount {
  color: #f43c33 !important;
  font-weight: 600;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-product-details__short-description {
  color: rgba(15, 23, 42, 0.72);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 18px;
}

body.single-product main#primary.site-main div.product form.cart {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin: 18px 0 14px;
}

body.single-product main#primary.site-main div.product form.cart .quantity {
  margin: 0;
}

body.single-product
  main#primary.site-main
  div.product
  form.cart
  .quantity
  input.qty {
  width: 46px;
  height: 54px;
  border-radius: 0;
  border: 1px solid rgba(226, 232, 240, 0.9);
  padding: 0 10px;
  font-weight: 400;
  color: #0f172a;
}

/* Quantity +/- buttons */
body.woocommerce-active .quantity {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body.woocommerce-active .quantity .ns-qty-btn {
  width: 50px;
  height: 54px;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #ffffff;
  color: rgba(15, 23, 42, 0.85);
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.16s ease;
}

body.woocommerce-active .quantity .ns-qty-btn:hover {
  background: rgba(161, 211, 38, 0.12);
  border-color: rgba(161, 211, 38, 0.35);
  color: #0f172a;
}

body.woocommerce-active .quantity .ns-qty-btn:active {
  transform: scale(0.98);
}

/* Quantity control (green segmented) — everywhere except cart/checkout */
body.woocommerce-active:not(.woocommerce-checkout) .quantity {
  gap: 0;
  border: 1px solid rgba(161, 211, 38, 0.35);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(161, 211, 38, 0.12);
}

body.woocommerce-active:not(.woocommerce-checkout) .quantity .ns-qty-btn {
  border: 0;
  border-radius: 0;
  background: #a1d326;
  color: #0f172a;
  width: 54px;
  height: 54px;
  font-size: 22px;
  box-shadow: none;
}

body.woocommerce-active:not(.woocommerce-checkout) .quantity .ns-qty-btn:hover {
  background: #86b01b;
  border-color: transparent;
  color: #0f172a;
  transform: none;
}

body.woocommerce-active:not(.woocommerce-checkout) .quantity .ns-qty-btn:active {
  transform: none;
}

body.woocommerce-active:not(.woocommerce-checkout) .quantity {
	height: 54px;
}

.woocommerce-variation-add-to-cart {
	display: flex;
    align-items: center;
    gap: 10px;
}

body.woocommerce-active:not(.woocommerce-checkout) .quantity input.qty {
  height: 54px;
  width: 76px;
  border: 0;
  border-left: 1px solid rgba(161, 211, 38, 0.35);
  border-right: 1px solid rgba(161, 211, 38, 0.35);
  border-radius: 0;
  background: transparent;
  text-align: center;
  padding: 0 10px;
  font-weight: 500;
  color: #0f172a;
}

body.woocommerce-active:not(.woocommerce-checkout) .quantity input.qty:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(161, 211, 38, 0.28);
}

/* Cart table: product name column width */
body.woocommerce-cart table.shop_table.cart th.product-name,
body.woocommerce-cart table.shop_table.cart td.product-name {
  width: 30%;
}

/* Cart table: make remove column 2x smaller */
body.woocommerce-cart table.shop_table.cart th.product-remove,
body.woocommerce-cart table.shop_table.cart td.product-remove {
  width: 5%;
  padding-left: 8px;
  padding-right: 8px;
}

/* Cart table: make price column 2x smaller */
body.woocommerce-cart table.shop_table.cart th.product-price,
body.woocommerce-cart table.shop_table.cart td.product-price {
  width: 8%;
  padding-left: 10px;
  padding-right: 10px;
}

body.woocommerce-cart table.shop_table.cart th.product-subtotal,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
  width: 14%;
  padding-left: 10px;
  padding-right: 10px;
}

/* Cart table: center quantity control inside cell */
body.woocommerce-cart table.shop_table.cart th.product-quantity,
body.woocommerce-cart table.shop_table.cart td.product-quantity {
  text-align: center;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item.cart_item {
    display: block;
    margin-bottom: 20px;
  }

  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item.cart_item:last-of-type {
    margin-bottom: 0;
  }

  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item.cart_item td {
    width: 100% !important;
    padding: 10px;
    text-align: end;
  }

  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item.cart_item td.product-remove::before {
    content: attr(data-title) ': ';
    display: inline-block !important;
    float: left;
  }

  body.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item.cart_item td.product-thumbnail::before {
    content: none !important;
    display: none !important;
  }
}

/* Cart page: make qty control smaller (proportional) */
body.woocommerce-cart .quantity {
  border-radius: 12px;
}

body.woocommerce-cart .quantity .ns-qty-btn {
  width: 44px !important;
  height: 44px !important;
  font-size: 20px;
}

body.woocommerce-cart .quantity input.qty {
  box-sizing: border-box;
  height: 44px !important;
  width: 62px !important;
  padding: 0 8px !important;
  font-weight: 500;
}

body.woocommerce-active .quantity input.qty {
  appearance: textfield;
}

body.woocommerce-active .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-active .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.single-product
  main#primary.site-main
  div.product
  button.single_add_to_cart_button,
body.single-product main#primary.site-main div.product a.button {
  border-radius: 12px;
}

body.single-product
  main#primary.site-main
  div.product
  button.single_add_to_cart_button {
  background: #a1d326;
  border: 1px solid rgba(161, 211, 38, 0.45);
  color: #0a0f1a;
  padding: 14px 18px;
  font-weight: 400;
}

body.single-product
  main#primary.site-main
  div.product
  button.single_add_to_cart_button:hover {
  background: #86b01b;
  filter: none;
}

body.single-product main#primary.site-main div.product .product_meta {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  color: rgba(15, 23, 42, 0.6);
  font-size: 12px;
}

body.single-product main#primary.site-main div.product .woocommerce-tabs {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 26px;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  ul.tabs {
  display: flex;
  gap: 10px;
  padding: 0;
  margin: 0 0 14px;
  border: 0;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  ul.tabs::before {
  display: none;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  ul.tabs
  li {
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #ffffff;
  border-radius: 0.5rem;
  margin: 0;
  padding: 0;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  ul.tabs
  li
  a {
  display: block;
  padding: 10px 14px;
  color: rgba(15, 23, 42, 0.75);
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  ul.tabs
  li.active {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(148, 163, 184, 0.6);
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  ul.tabs
  li.active
  a {
  color: #0f172a;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  .panel {
  margin: 0;
  padding: 18px 18px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: #ffffff;
  color: rgba(15, 23, 42, 0.78);
  line-height: 1.75;
}

/* Таб «Описание» — подзаголовки в контенте товара */
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  #tab-description
  h2 {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0f172a;
  line-height: 1.3;
  margin: 1.35em 0 0.55em;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  #tab-description
  h2:first-child {
  margin-top: 0;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  #tab-description
  h3 {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: rgba(15, 23, 42, 0.92);
  line-height: 1.35;
  margin: 1.15em 0 0.45em;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  #tab-description
  h3:first-child {
  margin-top: 0;
}

/* Таб «Детали» — таблица атрибутов */
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  overflow: hidden;
  background: #f8fafc;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes th,
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes td {
  text-align: left;
  vertical-align: top;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes tr:last-child th,
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes tr:last-child td {
  border-bottom: none;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes th {
  font-weight: 600;
  color: rgba(15, 23, 42, 0.55);
  width: 36%;
  max-width: 240px;
  background: rgba(255, 255, 255, 0.72);
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes td {
  color: #0f172a;
  font-weight: 500;
  background: #fff;
}

body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes tbody tr:nth-child(even) th,
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes tbody tr:nth-child(even) td,
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes
  > tr:nth-child(even)
  th,
body.single-product
  main#primary.site-main
  div.product
  .woocommerce-tabs
  table.woocommerce-product-attributes.shop_attributes
  > tr:nth-child(even)
  td {
  background: rgba(241, 245, 249, 0.65);
}

@media (max-width: 560px) {
  body.single-product
    main#primary.site-main
    div.product
    .woocommerce-tabs
    table.woocommerce-product-attributes.shop_attributes {
    border-radius: 10px;
    font-size: 13px;
  }

  body.single-product
    main#primary.site-main
    div.product
    .woocommerce-tabs
    table.woocommerce-product-attributes.shop_attributes th,
  body.single-product
    main#primary.site-main
    div.product
    .woocommerce-tabs
    table.woocommerce-product-attributes.shop_attributes td {
    display: block;
    width: 100%;
    max-width: none;
    padding: 10px 14px;
  }

  body.single-product
    main#primary.site-main
    div.product
    .woocommerce-tabs
    table.woocommerce-product-attributes.shop_attributes th {
    padding-bottom: 4px;
    border-bottom: none;
    background: rgba(255, 255, 255, 0.95);
  }

  body.single-product
    main#primary.site-main
    div.product
    .woocommerce-tabs
    table.woocommerce-product-attributes.shop_attributes td {
    padding-top: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  }

  body.single-product
    main#primary.site-main
    div.product
    .woocommerce-tabs
    table.woocommerce-product-attributes.shop_attributes tr:last-child td {
    border-bottom: none;
  }
}

body.single-product main#primary.site-main .related.products,
body.single-product main#primary.site-main .up-sells.products {
  margin-top: 34px;
  width: 100%;
}

body.single-product main#primary.site-main .related.products > h2,
body.single-product main#primary.site-main .up-sells.products > h2 {
  font-family:
    Outfit,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0f172a;
  font-size: 22px;
  margin: 0 0 16px;
}

body.single-product main#primary.site-main ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 1024px) {
  body.single-product main#primary.site-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  body.single-product main#primary.site-main ul.products {
    grid-template-columns: 1fr;
  }
}

body.single-product main#primary.site-main ul.products > li.product {
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.04);
}

/* Related products cards should match shop/popular (no inner padding wrapper) */
body.single-product main#primary.site-main .related.products ul.products > li.product.ns-popular-card {
  padding: 0;
  border: 1px solid rgba(226, 232, 240, 0.7);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: none;
}

body.single-product main#primary.site-main ul.products > li.product a {
  text-decoration: none;
}

body.single-product main#primary.site-main ul.products > li.product a img {
  border-radius: 14px;
  background: #f8fafc;
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 12px;
}

/* Related products on single: use the same card media as shop/popular */
body.single-product main#primary.site-main .related.products ul.products > li.product.ns-popular-card .ns-popular-card__media {
  aspect-ratio: 1 / 1;
  height: auto;
  padding: 0;
  background: #f8fafc;
}

body.single-product main#primary.site-main .related.products ul.products > li.product.ns-popular-card .ns-popular-card__media-link {
  position: absolute;
  inset: 0;
}

body.single-product main#primary.site-main .related.products ul.products > li.product.ns-popular-card img.ns-popular-card__img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  margin: 0 !important;
  background: transparent;
  border-radius: 0;
}

body.single-product
  main#primary.site-main
  ul.products
  > li.product
  .woocommerce-loop-product__title {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
  margin: 0 0 10px;
}

body.single-product main#primary.site-main ul.products > li.product .price {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 12px;
}

body.single-product main#primary.site-main ul.products > li.product a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(226, 232, 240, 0.9);
  color: rgba(15, 23, 42, 0.86);
  padding: 12px 14px;
  font-weight: 600;
}

/* Related products use the same card template as shop; keep "Add to cart" green there */
body.single-product main#primary.site-main ul.products > li.product.ns-popular-card .ns-popular-card__footer a.button {
  border: none;
  background: #a1d326;
  color: #0f172a !important;
  box-shadow: 0 1px 2px rgba(161, 211, 38, 0.2);
}

body.single-product
  main#primary.site-main
  ul.products
  > li.product.ns-popular-card
  .ns-popular-card__footer
  a.button:hover {
  background: #86b01b;
  color: #0f172a !important;
}

body.single-product
  main#primary.site-main
  ul.products
  > li.product
  a.button:hover {
  background: rgba(15, 23, 42, 0.06);
}

/* Shop / Related products grid override (WooCommerce default widths) */
body.woocommerce-active main#primary.site-main ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid !important;
  gap: 18px;
}

body.woocommerce-active main#primary.site-main ul.products.columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.woocommerce-active main#primary.site-main ul.products.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.woocommerce-active main#primary.site-main ul.products.columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.woocommerce-active main#primary.site-main ul.products.columns-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

@media (max-width: 1279px) {
  body.woocommerce-active main#primary.site-main ul.products.columns-4,
  body.woocommerce-active main#primary.site-main ul.products.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
	
}

@media (max-width: 1024px) {
  body.woocommerce-active main#primary.site-main ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.woocommerce-active main#primary.site-main ul.products.columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  body.woocommerce-active main#primary.site-main ul.products.columns-4 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.woocommerce-active main#primary.site-main ul.products {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

body.woocommerce-active main#primary.site-main ul.products > li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* Product loop card — same look as "Популярные товары" on front page */
.ns-popular-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.7);
  border-radius: 1rem;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ns-popular-card:hover {
  border-color: rgba(161, 211, 38, 0.5);
  box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(161, 211, 38, 0.08);
}

.ns-popular-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  width: 100%;
  flex-shrink: 0;
  background: #f8fafc;
  border-bottom: 1px solid #f1f5f9;
  overflow: hidden;
}

.ns-popular-card__media-link {
  display: block;
  position: absolute;
  inset: 0;
}

.ns-popular-card__img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  margin: 0 !important;
  transition: transform 0.5s ease;
}

.ns-popular-card:hover .ns-popular-card__img {
  transform: scale(1.05);
}

.ns-popular-card__media-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent);
  pointer-events: none;
  z-index: 1;
}

/* Скидка + метки — один блок, сверху справа */
.ns-popular-card__badges {
  position: absolute;
  top: 10px;
  right: 10px;
  left: 10px;
  z-index: 12;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: flex-start;
  align-content: flex-start;
  pointer-events: none;
}

/* Только внутри карточки каталога — иначе тот же класс на single (sale flash) ломает position:absolute у .onsale */
.ns-popular-card__badges .onsale,
.ns-popular-card__badges .ns-popular-card__badge {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #fff !important;
  text-align: center;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
  max-width: 100%;
  pointer-events: none;
}

.ns-popular-card__badges .onsale,
.ns-popular-card__badges .ns-popular-card__badge--sale {
  background: #f43c33 !important;
  border: none;
}

.ns-popular-card__badges .ns-popular-card__badge--new {
  background: #099925 !important;
}

.ns-popular-card__badges .ns-popular-card__badge--hit {
  background: #ffb020 !important;
  color: #fff !important;
  text-shadow: none;
}

.ns-popular-card__badges .ns-popular-card__badge--default {
  background: rgba(15, 23, 42, 0.78) !important;
}

.ns-popular-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 1.25rem;
}

.ns-popular-card__title {
  font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: #0f172a;
  letter-spacing: -0.025em;
  margin: 0 0 0.25rem;
  line-height: 1.3;
}

/* Article card title (category pages + home knowledge base slider) */
.ns-article-card__title {
  font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.95rem !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

.ns-popular-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.ns-popular-card:hover .ns-popular-card__title a {
  color: #86b01b;
}

.ns-popular-card__excerpt {
  font-size: 0.875rem;
  color: #64748b;
  font-weight: 300;
  line-height: 1.6;
  margin: 0 0 1.5rem;
  flex-grow: 1;
}

.ns-popular-card__footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: auto;
  flex-direction: column;
}

.ns-popular-card__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

/* WooCommerce adds "Просмотр корзины" link after AJAX add-to-cart */
.ns-popular-card__actions a.added_to_cart.wc-forward,
.woocommerce ul.products a.added_to_cart.wc-forward {
  display: none !important;
}

/* Floating mini cart: we use the WooCommerce Mini Cart block drawer, keep source hidden */
.ns-floating-mini-cart-source {
  /* Visually hide but keep in DOM for WooCommerce Blocks initialization.
   * Fixed near the FAB so returning focus after closing the drawer does not
   * scroll the page to the document top (absolute top:0 caused jump). */
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  left: auto !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  padding: 0 !important;
  border: 0 !important;
  margin: -1px !important;
  pointer-events: none !important;
}

.ns-floating-mini-cart-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 20;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.ns-floating-mini-cart-toggle.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ns-floating-mini-cart-toggle__icon {
  font-size: 20px;
  line-height: 1;
}

.ns-floating-mini-cart-toggle__count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #a1d326;
  color: #0f172a;
  font-weight: 700;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  border: 1px solid rgba(226, 232, 240, 0.9);
}

/* WooCommerce Blocks mini cart drawer (right panel) */
.wc-block-components-drawer__screen-overlay {
  background: rgba(15, 23, 42, 0.35) !important;
}

.wc-block-components-drawer__content {
  background: #ffffff !important;
  color: rgba(15, 23, 42, 0.78);
  border-left: 1px solid rgba(15, 23, 42, 0.08);
}

/* Mini cart drawer: remove blue focus outline/ring */
.wc-block-components-drawer__content:focus,
.wc-block-components-drawer__content:focus-visible,
.wc-block-components-drawer__content *:focus,
.wc-block-components-drawer__content *:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Header */
.wc-block-mini-cart__title {
  color: #0f172a !important;
  font-weight: 500;
  letter-spacing: -0.01em;
}

@media (max-width: 1024px) {
  .wc-block-mini-cart__title,
  .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-label-block,
  .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block {
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
  }
}

.wc-block-mini-cart__close-button,
.wc-block-components-drawer__close {
  color: rgba(15, 23, 42, 0.6) !important;
}

.wc-block-mini-cart__close-button:hover,
.wc-block-components-drawer__close:hover {
  color: #0f172a !important;
}

/* Items list */
.wc-block-mini-cart__items,
.wc-block-mini-cart-items {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.wc-block-mini-cart__items .wc-block-mini-cart__item,
.wc-block-mini-cart-items .wc-block-mini-cart-item {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.wc-block-mini-cart__items a,
.wc-block-mini-cart-items a {
  color: rgba(15, 23, 42, 0.92) !important;
  text-decoration: none;
}

.wc-block-mini-cart__items a:hover,
.wc-block-mini-cart-items a:hover {
  color: #a1d326 !important;
}

.wc-block-mini-cart__quantity-badge,
.wc-block-mini-cart-item__quantity-badge {
  background: #a1d326 !important;
  color: #0a0f1a !important;
  font-weight: 800;
  border: 1px solid rgba(15, 23, 42, 0.1);
}

.wc-block-mini-cart__item-price,
.wc-block-mini-cart-item__total-price,
.wc-block-mini-cart-item__price {
  color: rgba(15, 23, 42, 0.75) !important;
  font-weight: 500;
}

.wc-block-mini-cart__item-remove-link,
.wc-block-cart-item__remove-link,
.wc-block-mini-cart-item__remove-link {
  color: rgba(15, 23, 42, 0.5) !important;
}

.wc-block-mini-cart__item-remove-link:hover,
.wc-block-cart-item__remove-link:hover,
.wc-block-mini-cart-item__remove-link:hover {
  color: #f43c33 !important;
}

/* Totals */
.wc-block-mini-cart__footer,
.wc-block-mini-cart__footer .wc-block-components-totals-item__label,
.wc-block-mini-cart__footer .wc-block-components-totals-item__value {
  color: rgba(15, 23, 42, 0.78) !important;
}

.wc-block-mini-cart__footer {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

/* Mini cart totals: hide description row */
.wc-block-mini-cart__footer .wc-block-components-totals-item__description {
  display: none !important;
}

/* Mini cart prices: sale styling same as product cards */
.wc-block-mini-cart__footer del,
.wc-block-mini-cart__items del,
.wc-block-mini-cart-items del {
  position: relative;
  display: inline-block;
  text-decoration: none !important;
  color: rgba(15, 23, 42, 0.45) !important;
}

.wc-block-mini-cart__footer del .woocommerce-Price-amount,
.wc-block-mini-cart__items del .woocommerce-Price-amount,
.wc-block-mini-cart-items del .woocommerce-Price-amount {
  color: inherit !important;
}

.wc-block-mini-cart__footer del::after,
.wc-block-mini-cart__items del::after,
.wc-block-mini-cart-items del::after {
  content: "";
  position: absolute;
  left: -2px;
  bottom: 0.08em;
  width: calc(100% + 6px);
  height: 2px;
  background: #f43c33;
  transform: rotate(-22deg);
  transform-origin: left bottom;
  pointer-events: none;
}

.wc-block-mini-cart__footer ins,
.wc-block-mini-cart__items ins,
.wc-block-mini-cart-items ins {
  text-decoration: none !important;
  background: none !important;
}

.wc-block-mini-cart__footer ins,
.wc-block-mini-cart__footer ins .woocommerce-Price-amount,
.wc-block-mini-cart__items ins,
.wc-block-mini-cart__items ins .woocommerce-Price-amount,
.wc-block-mini-cart-items ins,
.wc-block-mini-cart-items ins .woocommerce-Price-amount {
  color: #f43c33 !important;
  font-weight: 600;
}

/* Buttons */
.wc-block-mini-cart__footer .wc-block-components-button,
.wc-block-mini-cart__footer a.wc-block-components-button {
  border-radius: 12px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
}

/* Primary (Checkout) */
.wc-block-mini-cart__footer .wc-block-components-button.wp-element-button,
.wc-block-mini-cart__footer .wc-block-components-button.contained {
  background: #a1d326 !important;
  color: #0a0f1a !important;
  border: 1px solid rgba(161, 211, 38, 0.6) !important;
  box-shadow: 0 18px 40px rgba(161, 211, 38, 0.18);
}

.wc-block-mini-cart__footer .wc-block-components-button.wp-element-button:hover,
.wc-block-mini-cart__footer .wc-block-components-button.contained:hover {
  transform: translateY(-1px);
  background: #b7e83a !important;
  border-color: rgba(161, 211, 38, 0.55) !important;
}

/* Secondary (View cart) */
.wc-block-mini-cart__footer .wc-block-components-button.outlined,
.wc-block-mini-cart__footer .wc-block-components-button.is-secondary {
  background: transparent !important;
  color: #0f172a !important;
  border: 1px solid rgba(15, 23, 42, 0.16) !important;
}

.wc-block-mini-cart__footer .wc-block-components-button.outlined:hover,
.wc-block-mini-cart__footer .wc-block-components-button.is-secondary:hover {
  border-color: rgba(161, 211, 38, 0.6) !important;
  color: #a1d326 !important;
}

/* Mini cart buttons: match site style */
.wc-block-mini-cart__footer a.wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__footer a.wc-block-mini-cart__footer-cart.is-style-outline {
  background: transparent !important;
  color: #0f172a !important;
  border: 1px solid rgba(161, 211, 38, 0.75) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.wc-block-mini-cart__footer a.wc-block-mini-cart__footer-cart:hover,
.wc-block-mini-cart__footer a.wc-block-mini-cart__footer-cart.is-style-outline:hover {
  background: #a1d326 !important;
  border-color: rgba(161, 211, 38, 0.6) !important;
  color: #0f172a !important;
}

/* Empty state */
.wc-block-mini-cart__empty-cart-wrapper,
.wc-block-mini-cart__empty-cart {
  color: rgba(15, 23, 42, 0.62) !important;
}

/* Mini cart empty state: "Start shopping" button as site green button */
.wc-block-mini-cart__shopping-button.wc-block-components-button.wp-element-button,
.wp-block-woocommerce-mini-cart-shopping-button-block .wc-block-mini-cart__shopping-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 14px !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1.25rem !important;
  font-weight: 600 !important;
  background: #a1d326 !important;
  color: #0f172a !important;
  border: 1px solid rgba(161, 211, 38, 0.6) !important;
  box-shadow: 0 1px 2px rgba(161, 211, 38, 0.2) !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.16s ease;
}

.wc-block-mini-cart__shopping-button.wc-block-components-button.wp-element-button:hover,
.wp-block-woocommerce-mini-cart-shopping-button-block .wc-block-mini-cart__shopping-button:hover {
  background: #86b01b !important;
  border-color: rgba(161, 211, 38, 0.55) !important;
  transform: translateY(-1px);
}

/* "Подробнее" — прозрачная, зелёная граница, при hover как "В корзину" */
.ns-popular-card__actions .ns-popular-card__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  border-radius: 0.5rem;
  border: 1px solid rgba(161, 211, 38, 0.75);
  background: transparent;
  color: #0f172a !important;
  text-decoration: none;
  box-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.ns-popular-card__actions .ns-popular-card__more:hover {
  background: #a1d326;
  border-color: rgba(161, 211, 38, 0.6);
  color: #0f172a !important;
}

/* Quick buy button (plugin): style like "Подробнее" */
.ns-popular-card__actions a.wc-buy-now-btn-archive,
.woocommerce ul.products li.product .ns-popular-card__actions a.wc-buy-now-btn-archive,
.woocommerce ul.products li.product a.wc-buy-now-btn-archive {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  border-radius: 0.5rem;
  border: 1px solid rgba(161, 211, 38, 0.75) !important;
  background: transparent !important;
  color: #0f172a !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.ns-popular-card__actions a.wc-buy-now-btn-archive:hover,
.woocommerce ul.products li.product .ns-popular-card__actions a.wc-buy-now-btn-archive:hover,
.woocommerce ul.products li.product a.wc-buy-now-btn-archive:hover {
  background: #a1d326 !important;
  border-color: rgba(161, 211, 38, 0.6) !important;
  color: #0f172a !important;
}

/* Quick buy button (plugin) on single product: make it non-accent (outline style). */
body.single-product a.wc-buy-now-btn,
body.single-product a.wc-buy-now-btn-single,
body.single-product form.cart a.wc-buy-now-btn,
body.single-product form.cart a.wc-buy-now-btn-single {
  background: transparent !important;
  color: #0f172a !important;
  border: 1px solid rgba(161, 211, 38, 0.75) !important;
  box-shadow: none !important;
}

body.single-product button.wc-buy-now-btn,
body.single-product button.wc-buy-now-btn-single,
body.single-product form.cart button.wc-buy-now-btn,
body.single-product form.cart button.wc-buy-now-btn-single {
  background: transparent !important;
  color: #0f172a !important;
  border: 1px solid rgba(161, 211, 38, 0.75) !important;
  box-shadow: none !important;
}

body.single-product a.wc-buy-now-btn:hover,
body.single-product a.wc-buy-now-btn-single:hover,
body.single-product form.cart a.wc-buy-now-btn:hover,
body.single-product form.cart a.wc-buy-now-btn-single:hover {
  background: #a1d326 !important;
  border-color: rgba(161, 211, 38, 0.6) !important;
  color: #0f172a !important;
}

body.single-product button.wc-buy-now-btn:hover,
body.single-product button.wc-buy-now-btn-single:hover,
body.single-product form.cart button.wc-buy-now-btn:hover,
body.single-product form.cart button.wc-buy-now-btn-single:hover {
  background: #a1d326 !important;
  border-color: rgba(161, 211, 38, 0.6) !important;
  color: #0f172a !important;
}

/* If plugin also auto-injects the button outside our actions block, hide that duplicate to keep layout clean. */
.ns-popular-card > a.wc-buy-now-btn-archive,
.ns-popular-card > .wc-buy-now-btn-archive,
.woocommerce ul.products li.product > a.wc-buy-now-btn-archive,
.woocommerce ul.products li.product > .wc-buy-now-btn-archive {
  display: none !important;
}

.ns-popular-card__price-wrap {
  font-size: 1rem;
  font-weight: 500;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.ns-popular-card__price-wrap .ns-price-vat {
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.45);
  white-space: nowrap;
  margin-left: 0.35em;
}

.ns-popular-card__price-wrap .price {
  font-weight: 500;
}

.ns-popular-card__price-wrap .price .woocommerce-Price-amount {
  font-weight: 500;
  color: inherit;
}

/* Зачёркнутая старая цена — диагональ снизу слева наверх, цвет #f43c33 */
.ns-popular-card__price-wrap del {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: rgba(15, 23, 42, 0.45);
}

.ns-popular-card__price-wrap del .woocommerce-Price-amount {
  color: inherit;
}

.ns-popular-card__price-wrap del::after {
  content: '';
  position: absolute;
  left: -2px;
  bottom: 0.08em;
  width: calc(100% + 6px);
  height: 2px;
  background: #f43c33;
  transform: rotate(-22deg);
  transform-origin: left bottom;
  pointer-events: none;
}

/* Акционная цена — красный текст */
.ns-popular-card__price-wrap ins {
  text-decoration: none;
  background: none;
}

.ns-popular-card__price-wrap ins,
.ns-popular-card__price-wrap ins .woocommerce-Price-amount {
  color: #f43c33 !important;
  font-weight: 600;
}

/* «Цена по запросу» — стилизованный лейбл-чип (не кнопка) */
.ns-popular-card__price-wrap:has(.price-request) {
  width: 100%;
  display: flex;
  justify-content: center;
}

body.single-product main#primary.site-main div.product .summary p.price:has(.price-request),
body.single-product main#primary.site-main div.product p.price:has(.price-request) {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: unset;
  font-weight: unset;
  line-height: normal;
}

.ns-popular-card__price-wrap .price-request,
body.single-product main#primary.site-main div.product .summary p.price .price-request,
body.single-product main#primary.site-main div.product p.price .price-request {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 0.5rem;
  background: linear-gradient(180deg, rgba(161, 211, 38, 0.16), rgba(161, 211, 38, 0.08));
  border: 1px dashed rgba(161, 211, 38, 0.55);
  color: #0a0f1a;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
  cursor: default;
  user-select: none;
}

.ns-popular-card__price-wrap .price-request::before,
body.single-product main#primary.site-main div.product .summary p.price .price-request::before,
body.single-product main#primary.site-main div.product p.price .price-request::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #a1d326;
  box-shadow: 0 0 0 3px rgba(161, 211, 38, 0.22);
  flex-shrink: 0;
}

/* Специфичность выше, чем у woocommerce.css `ul.products li.product .button { display: block }` */
body.woocommerce-active ul.products li.product.ns-popular-card .ns-popular-card__footer a.button,
.ns-popular-card .ns-popular-card__footer a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  max-width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  border-radius: 0.5rem;
  border: none;
  background: #a1d326;
  color: #0f172a !important;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(161, 211, 38, 0.2);
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

body.woocommerce-active ul.products li.product.ns-popular-card .ns-popular-card__footer a.button:hover,
.ns-popular-card .ns-popular-card__footer a.button:hover {
  background: #86b01b;
  color: #0f172a !important;
}

body.woocommerce-active ul.products li.product.ns-popular-card .ns-popular-card__footer a.button:disabled,
body.woocommerce-active ul.products li.product.ns-popular-card .ns-popular-card__footer a.button.disabled,
.ns-popular-card .ns-popular-card__footer a.button:disabled,
.ns-popular-card .ns-popular-card__footer a.button.disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* ── Custom checkbox (checkout consent, create account, shipping) ── */
.ns-terms-row {
  margin-top: 20px !important;
  margin-bottom: 24px !important;
}

.ns-terms-label,
.ns-checkbox-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
}

/* Hide the native checkbox */
.ns-custom-checkbox,
.ns-terms-checkbox {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.ns-checkbox-wrap {
  flex-shrink: 0;
  position: relative;
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

/* Custom checkbox box */
.ns-checkbox-custom {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid #a1d326;
  background: #fff;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  box-shadow: 0 0 0 0 rgba(161, 211, 38, 0);
  position: relative;
}

/* Checkmark via ::after */
.ns-checkbox-custom::after {
  content: '';
  position: absolute;
  display: none;
  left: 5px;
  top: 2px;
  width: 8px;
  height: 13px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

/* Checked state */
.ns-custom-checkbox:checked + .ns-checkbox-custom,
.ns-terms-checkbox:checked + .ns-checkbox-custom {
  background: #a1d326;
  border-color: #a1d326;
  box-shadow: 0 0 0 3px rgba(161, 211, 38, 0.2);
}

.ns-custom-checkbox:checked + .ns-checkbox-custom::after,
.ns-terms-checkbox:checked + .ns-checkbox-custom::after {
  display: block;
}

/* Focus ring for accessibility */
.ns-custom-checkbox:focus-visible + .ns-checkbox-custom,
.ns-terms-checkbox:focus-visible + .ns-checkbox-custom {
  box-shadow: 0 0 0 3px rgba(161, 211, 38, 0.35);
}

.ns-terms-text,
.ns-checkbox-text {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.7);
  line-height: 1.55;
}

.ns-terms-text a,
.ns-terms-text .ns-terms-link {
  color: #0f172a;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: text-decoration-color 0.15s ease;
}

.ns-terms-text a:hover,
.ns-terms-text .ns-terms-link:hover {
  color: #0f172a;
  text-decoration: none;
}

.ns-terms-text .required {
  color: #e53e3e;
  margin-left: 2px;
  text-decoration: none;
}

/* ── Thank You / Order Received page ──────────────────────── */
body.woocommerce-order-received main#primary.site-main {
  padding-top: 48px;
  padding-bottom: 80px;
}

.ns-thankyou {
  max-width: 760px;
  margin: 0 auto;
}

.ns-thankyou__header {
  text-align: center;
  margin-bottom: 40px;
}

.ns-thankyou__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 20px;
}

.ns-thankyou__icon svg {
  width: 100%;
  height: 100%;
}

.ns-thankyou__title {
  font-family: Outfit, ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 12px;
  line-height: 1.2;
}

.ns-thankyou__subtitle {
  font-size: 16px;
  color: rgba(15, 23, 42, 0.6);
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.6;
}

.ns-thankyou__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

/* Order overview card */
.ns-thankyou__overview {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 24px 28px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.ns-thankyou__section-title {
  font-family: Outfit, ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 18px;
}

.ns-order-details-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.ns-order-details-list li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  background: rgba(241, 245, 249, 0.6);
  border-radius: 10px;
  border: none !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  font-size: 14px;
  color: rgba(15, 23, 42, 0.6);
}

.ns-order-details-list li::before {
  display: none !important;
}

.ns-order-details-list li strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #0f172a;
}

.ns-order-total {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.ns-detail-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(15, 23, 42, 0.45);
  font-weight: 500;
}

/* Order table (items + totals) */
.ns-thankyou__order-table {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 24px 28px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.ns-thankyou__order-table table.woocommerce-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.ns-thankyou__order-table table.woocommerce-table th,
.ns-thankyou__order-table table.woocommerce-table td {
  padding: 10px 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  font-size: 14px;
  color: rgba(15, 23, 42, 0.75);
  text-align: left;
}

.ns-thankyou__order-table table.woocommerce-table th {
  font-weight: 600;
  color: #0f172a;
}

.ns-thankyou__order-table table.woocommerce-table tfoot tr:last-child th,
.ns-thankyou__order-table table.woocommerce-table tfoot tr:last-child td {
  border-bottom: none;
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

@media (max-width: 520px) {
  .ns-order-details-list {
    grid-template-columns: 1fr;
  }

  .ns-thankyou__overview,
  .ns-thankyou__order-table {
    padding: 18px 16px;
  }
}

/* ── Empty cart — Return to shop button ───────────────────── */
.return-to-shop .button {
  display: inline-block;
  background: #a1d326 !important;
  color: #0a0f1a !important;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 28px;
  border-radius: 12px;
  border: 1px solid rgba(161, 211, 38, 0.4) !important;
  text-decoration: none;
  transition: background 180ms ease, box-shadow 180ms ease;
  box-shadow: none;
}

.return-to-shop .button:hover {
  background: #b5e82e !important;
  box-shadow: 0 4px 16px rgba(161, 211, 38, 0.35);
}

/* ── Shop toolbar (result count + ordering) ──────────────── */
.ns-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.ns-shop-subcategories-title {
  font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 14px;
  line-height: 1.2;
}

/* Subcategories row sits above the toolbar + product list */
body.woocommerce-active main#primary.site-main ul.products.ns-shop-subcategories {
  margin: 0 0 22px;
}

.woocommerce-result-count {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.5);
  margin: 0;
}

.woocommerce-ordering select {
  font-size: 14px;
  color: #0f172a;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 10px;
  padding: 8px 14px;
  outline: none;
  cursor: pointer;
  transition: border-color 150ms ease;
}

.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
  border-color: #a1d326;
}

/* ── Shop page header (breadcrumbs + title above grid) ───── */
.ns-shop-header {
  padding-top: 28px;
  padding-bottom: 16px;
}

.ns-shop-page-title {
  font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: #0f172a;
  margin: 10px 0 0;
  line-height: 1.2;
}

/* ── Shop page layout (sidebar + products) ────────────────── */
.ns-shop-layout {
  display: grid;
  /* Было ~25% сайдбара; уменьшили примерно на треть → ~17%, больше места под сетку карточек */
  grid-template-columns: minmax(210px, 17%) 1fr;
  gap: 28px;
  align-items: start;
  padding-top: 0;
  padding-bottom: 60px;
}

/* WooCommerce Blocks Product Filters: extend "mobile overlay" UI up to tablets (<=1023px).
   This keeps the exact same behavior as on phones: full-width button -> overlay -> Apply. */
@media (max-width: 767px) {
  :where(.wc-block-product-filters) {
    --top-padding: var(--adminbar-mobile-padding, 0);
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__open-overlay,
  :where(.wc-block-product-filters) .wc-block-product-filters__close-overlay {
    align-items: center !important;
    background: transparent !important;
    border: transparent !important;
    color: inherit !important;
    display: flex !important;
    font-size: 0.875em !important;
    padding: 0 !important;
  }

  /* Make the open button span full width like on mobile. */
  :where(.wc-block-product-filters) .wc-block-product-filters__open-overlay {
    width: 100% !important;
    justify-content: center !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__overlay {
    background-color: transparent !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    top: var(--top-padding) !important;
    transition: background-color 0.5s !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__overlay-wrapper {
    height: 100% !important;
    position: relative !important;
    width: 100% !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__overlay-dialog {
    background-color: #ffffff !important;
    color: rgba(15, 23, 42, 0.9) !important;
    display: flex !important;
    flex-direction: column !important;
    inset: 0 !important;
    max-height: 100% !important;
    position: absolute !important;
    transform: translateY(100vh) !important;
    transition: none !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__overlay-header {
    display: flex !important;
    flex-flow: row-reverse !important;
    padding: 16px 16px 0 !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__overlay-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    overflow-y: scroll !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__overlay-footer {
    display: block !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    border-top: 1px solid rgba(226, 232, 240, 0.9) !important;
    box-shadow: none !important;
  }

  :where(.wc-block-product-filters) .wc-block-product-filters__apply {
    width: 100% !important;
  }

  :where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__overlay {
    background-color: rgba(95, 95, 95, 0.35) !important;
    pointer-events: auto !important;
    z-index: 9999 !important;
  }

  :where(.wc-block-product-filters).is-overlay-opened .wc-block-product-filters__overlay-dialog {
    transform: translateY(0) !important;
    transition: transform 0.5s !important;
  }
}

/* Sidebar — sticky while scrolling */
.ns-shop-sidebar {
  position: sticky;
  top: calc(var(--site-header-height, 80px) + 20px);
  min-width: 0;
}

/* Filter widget blocks */
.ns-filter-widget {
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 14px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.ns-filter-title {
  font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(15, 23, 42, 0.5);
  margin: 0 0 14px;
}

/* WooCommerce filter inputs */
.ns-filter-widget .woocommerce-widget-layered-nav-list,
.ns-filter-widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ns-filter-widget .woocommerce-widget-layered-nav-list__item a,
.ns-filter-widget ul li a {
  font-size: 14px;
  color: rgba(15, 23, 42, 0.75);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  transition: color 150ms ease;
}

.ns-filter-widget .woocommerce-widget-layered-nav-list__item a:hover,
.ns-filter-widget ul li a:hover {
  color: #5a7d0a;
}

.ns-filter-widget .woocommerce-widget-layered-nav-list__item--chosen > a {
  color: #a1d326;
  font-weight: 600;
}

/* Price filter (классический виджет в сайдбаре) */
.ns-filter-widget .price_slider_wrapper .price_slider {
  margin-bottom: 12px;
}

.ns-filter-widget .price_slider_amount .button {
  background: #a1d326;
  color: #0a0f1a;
  border: none;
  border-radius: 8px;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

/* WooCommerce Blocks — фильтр цены в сайдбаре (не вылезает за колонку) */
.ns-shop-sidebar .wp-block-woocommerce-product-filter-price {
  min-width: 0;
  max-width: 100%;
}

.wc-block-product-filter-price-slider__content:not(.wc-block-product-filter-price-slider__content--inline) {
  column-gap: 4px;
  display: grid;
  grid-template-areas:
    "price-slider price-slider price-slider"
    "left-input middle-input right-input";
  grid-template-columns: auto 1fr auto;
}

.ns-shop-sidebar .wc-block-product-filter-price-slider__content {
  min-width: 0;
  max-width: 100%;
}

.ns-shop-sidebar .wc-block-product-filter-price-slider__content .wc-block-product-filter-price-slider__left.text,
.ns-shop-sidebar .wc-block-product-filter-price-slider__content .wc-block-product-filter-price-slider__right.text {
  min-width: 0;
  max-width: 100%;
}

.ns-shop-sidebar .wc-block-product-filter-price-slider__content .wc-block-product-filter-price-slider__left.text input[type='text'],
.ns-shop-sidebar .wc-block-product-filter-price-slider__content .wc-block-product-filter-price-slider__right.text input[type='text'] {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 1.3;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
}

/* Main content area inside layout */
.ns-shop-main {
  min-width: 0;
}

/* Responsive: collapse to single column on tablet */
@media (max-width: 900px) {
  .ns-shop-layout {
    grid-template-columns: 1fr;
  }

  .ns-shop-sidebar {
    position: static;
  }
}

/* Contacts block: halve inner paddings on mobile (front page + shop archive) */
@media (max-width: 767px) {
  section.contacts > .container > div > div {
    padding: 16px !important;
  }

  section.contacts > .container > div > div > .grid > div:last-child {
    padding: 12px !important;
  }
}

/* Front page main: halve bottom padding on mobile */
@media (max-width: 767px) {
  main.ns-front-main {
    padding-bottom: 3rem !important;
  }
}

/* Cookie consent banner */
.ns-cookie-consent {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 260ms ease, transform 260ms ease;
  pointer-events: none;
}

.ns-cookie-consent.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ns-cookie-consent.is-hidden {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
}

.ns-cookie-consent__inner {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 16px 20px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);
  color: #0f172a;
}

.ns-cookie-consent__body {
  flex: 1 1 auto;
  min-width: 0;
}

.ns-cookie-consent__title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #0f172a;
  font-family: 'Outfit', 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}

.ns-cookie-consent__title .ns-cookie-consent__emoji {
  display: inline-block;
  margin-left: 0.35em;
  font-size: 1.25em;
  line-height: 1;
  vertical-align: -0.12em;
}

.ns-cookie-consent__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 300;
  color: #0f172a;
}

.ns-cookie-consent__link {
  color: #0f172a !important;
  text-decoration: underline;
  text-decoration-color: rgba(161, 211, 38, 0.65);
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.ns-cookie-consent__link:hover {
  color: #86b01b !important;
  text-decoration-color: rgba(134, 176, 27, 0.85);
}

.ns-cookie-consent__btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  border-radius: 10px;
  border: 1px solid rgba(161, 211, 38, 0.4);
  background: #a1d326;
  color: #0a0f1a;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: filter 160ms ease, transform 80ms ease;
}

.ns-cookie-consent__btn:hover {
  filter: brightness(1.05);
}

.ns-cookie-consent__btn:active {
  transform: translateY(1px);
}

@media (max-width: 767px) {
  .ns-cookie-consent {
    left: 10px;
    right: 10px;
    bottom: 10px;
  }

  .ns-cookie-consent__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
  }

  .ns-cookie-consent__body {
    padding-right: 4px;
  }

  .ns-cookie-consent__btn {
    width: 100%;
    padding: 12px 20px;
  }
}


.ns-product-application {
	display: none;
}

.single-product .summary .variations .label,
.single-product .summary .variations .value {
	text-align: left;
	vertical-align: top;
}

.single-product .summary .variations .value select {
	cursor: pointer;
}

.single-product .summary .variations .reset_variations {
	background: #a1d326;
    border: 1px solid rgba(161, 211, 38, 0.45);
    color: #0a0f1a;
    border-radius: 12px;
    padding: 5px 10px;
	margin-left: 10px;
}

.single-product .summary .woocommerce-variation-price {
	margin-bottom: 20px;
}

.ns-cart-layout .product-quantity .quantity {
	height: 46px !important;
}

@media screen and (max-width: 1279px) {
	
	.single-product .summary .variations .reset_variations {
		margin: 15px 0 0 0;
    	display: inline-block;
	}
	
	.single-product .summary .variations {
		margin-bottom: 0;
	}
	
}