/*
Theme Name:   Astra JigLT
Theme URI:    https://jig.lt
Description:  JigLT child theme — high-end fishing ecommerce
Author:       JigLT
Template:     astra
Version:      2.9.5
Text Domain:  astra-jiglt
*/

/* =============================================
   ASTRA GLOBAL COLOR OVERRIDES — Force Light
   ============================================= */
:root {
  --ast-global-color-0: #b8954e;
  --ast-global-color-1: #d4a843;
  --ast-global-color-2: #1c1917;
  --ast-global-color-3: #78716c;
  --ast-global-color-4: #f5f2ed;
  --ast-global-color-5: #ffffff;
  --ast-global-color-6: #1c1917;
  --ast-global-color-7: rgba(28,25,23,0.12);
  --ast-global-color-8: #1c1917;
}

/* =============================================
   DESIGN TOKENS — Light Editorial
   ============================================= */
:root {
  --jig-bg:          #f5f2ed;
  --jig-bg-card:     #ffffff;
  --jig-bg-surface:  #faf8f5;
  --jig-text:        #1c1917;
  --jig-muted:       #78716c;
  --jig-gold:        #b8954e;
  --jig-gold-light:  #d4a843;
  --jig-gold-gradient: linear-gradient(135deg, #b8954e 0%, #d4a843 50%, #b8954e 100%);
  --jig-border:      rgba(28, 25, 23, 0.08);
  --jig-border-hover: rgba(184, 149, 78, 0.4);
  --jig-glass:       rgba(255, 255, 255, 0.96); /* near-solid: the blur behind it was removed for performance */
  --jig-radius:      8px;
  --jig-radius-lg:   16px;
  --jig-font-head:   'Cormorant Garamond', serif;
  --jig-font-body:   'Inter', sans-serif;
  --jig-transition:  0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --jig-transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =============================================
   GLOBAL RESET & BASE
   ============================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--jig-bg) !important;
  color: var(--jig-text) !important;
  font-family: var(--jig-font-body) !important;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =============================================
   TYPOGRAPHY — Editorial Serif Hierarchy
   ============================================= */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.woocommerce-loop-product__title,
.product_title {
  font-family: var(--jig-font-head) !important;
  color: var(--jig-text) !important;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

h1 { font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 700; }
h2 { font-size: clamp(1.8rem, 4vw, 3.2rem); font-weight: 600; }
h3 { font-size: clamp(1.3rem, 2.5vw, 2rem); font-weight: 600; }
h4 { font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: 600; }

p, li, td, th, label, input, textarea, select {
  font-family: var(--jig-font-body) !important;
  color: var(--jig-text) !important;
}

a {
  color: var(--jig-gold) !important;
  text-decoration: none;
  transition: color var(--jig-transition);
}

a:hover {
  color: var(--jig-gold-light) !important;
}

/* =============================================
   HEADER & NAVIGATION
   ============================================= */
#masthead,
.site-header,
.ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar {
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  transition: background var(--jig-transition), border-color var(--jig-transition);
}

#masthead.jig-scrolled,
.site-header.jig-scrolled {
  background: rgba(245, 242, 237, 0.88) !important;
  border-bottom: 1px solid var(--jig-border) !important;
}

.ast-header-break-point .main-header-bar,
.main-header-bar {
  background: transparent !important;
}

/* Logo */
.site-title a,
.ast-site-identity a {
  font-family: var(--jig-font-head) !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--jig-text) !important;
  letter-spacing: 0.02em;
}

/* Nav links */
.main-navigation a,
.ast-nav-menu a,
#ast-hf-menu-1 a,
.ast-primary-nav-links a {
  font-family: var(--jig-font-head) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--jig-muted) !important;
  transition: color var(--jig-transition) !important;
  position: relative;
}

.main-navigation a::after,
.ast-nav-menu a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--jig-gold-gradient);
  transition: width var(--jig-transition);
}

.main-navigation a:hover,
.ast-nav-menu a:hover,
#ast-hf-menu-1 a:hover {
  color: var(--jig-gold) !important;
}

.main-navigation a:hover::after,
.ast-nav-menu a:hover::after {
  width: 100%;
}

/* Dropdown menus */
.ast-nav-menu .sub-menu,
.main-navigation .sub-menu {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-top: 2px solid var(--jig-gold) !important;
  border-radius: 0 0 var(--jig-radius) var(--jig-radius);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.ast-nav-menu .sub-menu a {
  color: var(--jig-text) !important;
  border-bottom: 1px solid var(--jig-border) !important;
  transition: background var(--jig-transition), color var(--jig-transition);
}

.ast-nav-menu .sub-menu a:hover {
  background: rgba(184, 149, 78, 0.06) !important;
  color: var(--jig-gold) !important;
}

/* Cart icon */
.ast-site-header-cart a,
.ast-cart-menu-wrap {
  color: var(--jig-text) !important;
}

.ast-cart-menu-wrap .count {
  background: var(--jig-gold-gradient) !important;
  color: #fff !important;
  font-family: var(--jig-font-body) !important;
  font-weight: 600;
  font-size: 0.7rem;
}

/* Mobile menu toggle */
.ast-mobile-menu-buttons,
.menu-toggle {
  color: var(--jig-text) !important;
}

/* =============================================
   BUTTONS — Premium Gradient + Shine
   ============================================= */
.ast-button,
.button,
button,
input[type="submit"],
input[type="button"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.elementor-button {
  font-family: var(--jig-font-head) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: var(--jig-gold-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--jig-radius) !important;
  padding: 0.85rem 2.2rem !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform var(--jig-transition), box-shadow var(--jig-transition) !important;
  box-shadow: 0 4px 15px rgba(184, 149, 78, 0.25);
}

.ast-button::before,
.button::before,
button::before,
.elementor-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.ast-button:hover::before,
.button:hover::before,
button:hover::before,
.elementor-button:hover::before {
  left: 100%;
}

.ast-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(184, 149, 78, 0.35);
}

.ast-button:active,
.button:active,
button:active {
  transform: translateY(0);
}

/* Outline variant */
.button.outline,
.elementor-button-outline {
  background: transparent !important;
  border: 1px solid var(--jig-gold) !important;
  color: var(--jig-gold) !important;
  box-shadow: none !important;
}

.button.outline:hover,
.elementor-button-outline:hover {
  background: rgba(184, 149, 78, 0.08) !important;
  border-color: var(--jig-gold-light) !important;
  color: var(--jig-gold-light) !important;
}

/* =============================================
   SECTION LABELS
   ============================================= */
.jig-section-label {
  font-family: var(--jig-font-head);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--jig-gold);
  display: block;
  margin-bottom: 1rem;
}

.jig-section-title {
  font-family: var(--jig-font-head) !important;
  font-size: clamp(1.8rem, 4vw, 3.2rem) !important;
  font-weight: 600 !important;
  color: var(--jig-text) !important;
  margin-bottom: 0.75rem !important;
}

.jig-section-sub {
  font-size: 1rem;
  color: var(--jig-muted);
  max-width: 560px;
  line-height: 1.8;
}

/* =============================================
   MAIN CONTENT
   ============================================= */
#content,
#primary,
.site-content,
.ast-container,
.entry-content {
  background-color: var(--jig-bg) !important;
}

/* =============================================
   FOOTER
   ============================================= */
#colophon,
.site-footer,
.ast-small-footer,
footer.elementor-section {
  background: linear-gradient(180deg, transparent 0%, #ebe7e0 100%) !important;
  border-top: 1px solid var(--jig-border) !important;
  color: var(--jig-muted) !important;
  padding-top: 4rem;
}

.site-footer a,
.ast-small-footer a {
  color: var(--jig-muted) !important;
  transition: color var(--jig-transition);
}

.site-footer a:hover,
.ast-small-footer a:hover {
  color: var(--jig-gold) !important;
}

/* =============================================
   BREADCRUMBS
   ============================================= */
.ast-breadcrumbs-wrapper,
.woocommerce-breadcrumb {
  font-family: var(--jig-font-body) !important;
  font-size: 0.8rem !important;
  color: var(--jig-muted) !important;
  letter-spacing: 0.05em;
}

.woocommerce-breadcrumb a {
  color: var(--jig-muted) !important;
  transition: color var(--jig-transition);
}

.woocommerce-breadcrumb a:hover {
  color: var(--jig-gold) !important;
}

/* =============================================
   PAGINATION
   ============================================= */
.woocommerce-pagination .page-numbers,
.page-numbers {
  font-family: var(--jig-font-head) !important;
}

.woocommerce-pagination .page-numbers li .page-numbers,
.page-numbers li .page-numbers {
  background: var(--jig-bg-card) !important;
  border: 1px solid var(--jig-border) !important;
  color: var(--jig-muted) !important;
  border-radius: var(--jig-radius) !important;
  transition: all var(--jig-transition);
}

.woocommerce-pagination .page-numbers li .page-numbers.current,
.page-numbers li .page-numbers.current {
  background: var(--jig-gold-gradient) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.woocommerce-pagination .page-numbers li .page-numbers:hover:not(.current) {
  border-color: var(--jig-border-hover) !important;
  color: var(--jig-text) !important;
}

/* =============================================
   SEARCH
   ============================================= */
.search-field,
input[type="search"] {
  background: var(--jig-bg-card) !important;
  border: 1px solid var(--jig-border) !important;
  color: var(--jig-text) !important;
  border-radius: var(--jig-radius) !important;
  padding: 0.7rem 1.2rem !important;
  transition: border-color var(--jig-transition), box-shadow var(--jig-transition);
}

.search-field:focus,
input[type="search"]:focus {
  border-color: var(--jig-gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 149, 78, 0.1);
  outline: none !important;
}

.search-field::placeholder,
input[type="search"]::placeholder {
  color: var(--jig-muted) !important;
}

/* =============================================
   SCROLLBAR
   ============================================= */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--jig-bg);
}

::-webkit-scrollbar-thumb {
  background: rgba(184, 149, 78, 0.2);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--jig-gold);
}

/* =============================================
   SELECTION
   ============================================= */
::selection {
  background: rgba(184, 149, 78, 0.2);
  color: var(--jig-text);
}

/* =============================================
   WOOCOMMERCE — SHOP / PRODUCT ARCHIVE
   ============================================= */
.woocommerce-page,
.post-type-archive-product,
.tax-product_cat {
  background-color: var(--jig-bg) !important;
}

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 2rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product card — Light Glassmorphism */
.woocommerce ul.products li.product {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius-lg) !important;
  overflow: hidden !important;
  transition: border-color var(--jig-transition), transform var(--jig-transition), box-shadow var(--jig-transition) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.woocommerce ul.products li.product::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(184, 149, 78, 0.02) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--jig-transition);
}

.woocommerce ul.products li.product:hover {
  border-color: var(--jig-border-hover) !important;
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(184, 149, 78, 0.08);
}

.woocommerce ul.products li.product:hover::before {
  opacity: 1;
}

/* Product image */
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.06);
}

/* Product card body */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--jig-font-head) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--jig-text) !important;
  padding: 1.25rem 1.5rem 0.25rem !important;
  margin: 0 !important;
}

/* Category label */
.ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
  color: var(--jig-gold) !important;
  font-family: var(--jig-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1.5rem 0 !important;
  opacity: 1 !important;
}

/* Price on product cards (the product page has its own rule further down) */
.woocommerce ul.products li.product .price {
  font-family: var(--jig-font-body) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--jig-gold) !important;
  padding: 0 1.5rem !important;
  display: block;
}

.woocommerce ul.products li.product .price del {
  color: var(--jig-muted) !important;
  font-weight: 400 !important;
  margin-right: 0.5rem;
}

/* Add to cart on archive */
.woocommerce ul.products li.product .button.add_to_cart_button {
  margin: 1rem 1.5rem 1.5rem !important;
  width: calc(100% - 3rem) !important;
  display: block !important;
  text-align: center !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  background: var(--jig-gold-gradient) !important;
  color: #fff !important;
  font-family: var(--jig-font-head) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: var(--jig-radius) !important;
  padding: 0.25rem 0.7rem !important;
  top: 1rem !important;
  left: 1rem !important;
  box-shadow: 0 4px 12px rgba(184, 149, 78, 0.3);
}

/* =============================================
   WOOCOMMERCE — SINGLE PRODUCT
   ============================================= */
.single-product div.product {
  background-color: var(--jig-bg) !important;
}

.single-product div.product .woocommerce-product-gallery__image img {
  background: var(--jig-bg-card) !important;
  border-radius: var(--jig-radius-lg) !important;
  border: 1px solid var(--jig-border);
}

.single-product .product_title {
  font-size: clamp(1.75rem, 5vw, 3.5rem) !important; /* 28px minimum: long lure names wrap less on phones */
  margin-bottom: 0.75rem !important;
}

.single-product .woocommerce-product-details__short-description p {
  color: var(--jig-muted) !important;
  font-size: 1.05rem !important;
  line-height: 1.8;
}

/* Product page price: aligned with the title, between the title and the short description in size */
.single-product div.product .summary .price {
  font-family: var(--jig-font-body) !important;
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--jig-text) !important;
  padding: 0 !important;
  margin: 0.15em 0 0.6em !important;
}
.single-product div.product .summary .price .woocommerce-Price-amount {
  display: inline;
  padding: 0 !important;
  font: inherit !important;
  color: inherit !important;
}
.single-product div.product .summary .price del {
  font-size: 0.65em;
  font-weight: 400;
  color: var(--jig-muted) !important;
  margin-right: 0.4em;
}
.single-product div.product .summary .price ins {
  text-decoration: none;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--jig-border) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-right: 1rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--jig-font-head) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--jig-muted) !important;
  padding: 1rem 0 !important;
  transition: color var(--jig-transition);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--jig-gold) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--jig-text) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius) !important;
  padding: 2.5rem !important;
  margin-top: 1.5rem !important;
}

/* Related products */
.related.products > h2 {
  font-family: var(--jig-font-head) !important;
  font-size: 1.6rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--jig-muted) !important;
  margin-bottom: 2rem !important;
}

/* =============================================
   WOOCOMMERCE — CART & CHECKOUT
   ============================================= */
.woocommerce-cart table.cart,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  background-color: var(--jig-bg) !important;
}

.woocommerce table.shop_table {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius-lg) !important;
  border-collapse: separate !important;
  overflow: hidden;
}

.woocommerce table.shop_table th {
  background: var(--jig-bg-surface) !important;
  color: var(--jig-muted) !important;
  font-family: var(--jig-font-head) !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border-bottom: 1px solid var(--jig-border) !important;
  padding: 1.2rem 1.5rem !important;
}

.woocommerce table.shop_table td {
  border-top: 1px solid var(--jig-border) !important;
  color: var(--jig-text) !important;
  padding: 1.2rem 1.5rem !important;
}

/* Form fields */
.woocommerce .form-row input.input-text,
.woocommerce .form-row select,
.woocommerce .form-row textarea {
  background: var(--jig-bg-card) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius) !important;
  color: var(--jig-text) !important;
  padding: 0.85rem 1.2rem !important;
  width: 100% !important;
  transition: border-color var(--jig-transition), box-shadow var(--jig-transition) !important;
  font-family: var(--jig-font-body) !important;
}

.woocommerce .form-row input.input-text:focus,
.woocommerce .form-row select:focus,
.woocommerce .form-row textarea:focus {
  border-color: var(--jig-gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 149, 78, 0.08);
  outline: none !important;
}

.woocommerce .form-row label {
  font-family: var(--jig-font-head) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--jig-muted) !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
}

/* Order summary box */
.woocommerce-checkout #order_review_heading {
  font-family: var(--jig-font-head) !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--jig-muted) !important;
}

/* =============================================
   WOOCOMMERCE — MY ACCOUNT
   ============================================= */
.woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-MyAccount-content .u-column1,
.woocommerce-MyAccount-content .u-column2 {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius) !important;
  padding: 1.5rem !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  font-family: var(--jig-font-head) !important;
  font-size: 1.1rem !important;
  color: var(--jig-text) !important;
  margin-bottom: 1rem !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title .edit {
  color: var(--jig-gold) !important;
  font-family: var(--jig-font-head) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* =============================================
   NOTICES & MESSAGES
   ============================================= */
.woocommerce-message,
.woocommerce-info {
  background: var(--jig-glass) !important;
  border-top: 2px solid var(--jig-gold) !important;
  color: var(--jig-text) !important;
  border-radius: 0 0 var(--jig-radius) var(--jig-radius) !important;
  padding: 1.2rem 1.5rem !important;
}

.woocommerce-error {
  background: rgba(224, 82, 82, 0.06) !important;
  border-top: 2px solid #e05252 !important;
  color: var(--jig-text) !important;
  border-radius: 0 0 var(--jig-radius) var(--jig-radius) !important;
}

/* =============================================
   WIDGETS & SIDEBAR
   ============================================= */
.widget,
.woocommerce-widget-layered-nav,
.widget_price_filter {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius-lg) !important;
  padding: 1.75rem !important;
  margin-bottom: 1.5rem !important;
}

.widget-title,
.widgettitle {
  font-family: var(--jig-font-head) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: var(--jig-muted) !important;
  border-bottom: 1px solid var(--jig-border) !important;
  padding-bottom: 0.85rem !important;
  margin-bottom: 1.25rem !important;
}

/* Price range slider */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: var(--jig-bg-surface) !important;
}

.widget_price_filter .price_slider_wrapper .ui-slider-range,
.widget_price_filter .price_slider_wrapper .ui-slider-handle {
  background: var(--jig-gold-gradient) !important;
}

/* =============================================
   CATEGORY GRID — Homepage category cards
   ============================================= */
.jig-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
}

.jig-cat-card {
  position: relative;
  border-radius: var(--jig-radius-lg);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  border: 1px solid var(--jig-border);
  transition: border-color var(--jig-transition), transform var(--jig-transition), box-shadow var(--jig-transition);
}

.jig-cat-card:hover {
  border-color: var(--jig-border-hover);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.jig-cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.jig-cat-card:hover img {
  transform: scale(1.08);
}

.jig-cat-card .jig-cat-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 3rem 1.5rem 1.5rem;
  background: linear-gradient(to top, rgba(28,25,23,0.85) 0%, transparent 100%);
  font-family: var(--jig-font-head);
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
}

/* WooCommerce category thumbnails */
.woocommerce ul.products li.product-category {
  position: relative;
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius-lg) !important;
  overflow: hidden !important;
  transition: all var(--jig-transition);
}

.woocommerce ul.products li.product-category:hover {
  border-color: var(--jig-border-hover);
  transform: translateY(-4px);
}

.woocommerce ul.products li.product-category img {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  transition: transform 0.6s ease;
}

.woocommerce ul.products li.product-category:hover img {
  transform: scale(1.05);
}

.woocommerce ul.products li.product-category h2 {
  padding: 1rem 1.25rem 0.25rem !important;
  font-size: 1rem !important;
  color: var(--jig-text) !important;
  margin: 0 !important;
  font-family: var(--jig-font-head) !important;
}

.woocommerce ul.products li.product-category .count {
  font-size: 0.75rem !important;
  color: var(--jig-gold) !important;
  padding: 0 1.25rem 1.25rem !important;
  display: block !important;
}

/* =============================================
   ELEMENTOR GLOBAL OVERRIDES
   ============================================= */
.elementor-section,
.e-container,
.elementor-column,
.elementor-widget-wrap {
  background-color: transparent;
}

.elementor-section.jig-dark,
.e-container.jig-dark {
  background: var(--jig-glass) !important;
  border: 1px solid var(--jig-border);
  border-radius: var(--jig-radius-lg);
}

.elementor-divider-separator {
  border-color: var(--jig-border) !important;
}

.elementor-icon-box-title {
  font-family: var(--jig-font-head) !important;
  color: var(--jig-text) !important;
}

.elementor-icon-box-description {
  color: var(--jig-muted) !important;
}

/* =============================================
   SELECT / SORT DROPDOWN
   ============================================= */
select,
.woocommerce-ordering select,
.woocommerce-ordering .orderby {
  background: var(--jig-bg-card) !important;
  color: var(--jig-text) !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius) !important;
  padding: 0.6rem 2rem 0.6rem 1rem !important;
  font-family: var(--jig-font-body) !important;
  font-size: 0.85rem !important;
  appearance: auto;
  -webkit-appearance: auto;
  cursor: pointer;
}

select option {
  background-color: var(--jig-bg-card) !important;
  color: var(--jig-text) !important;
}

/* =============================================
   HEADER LOGO — hidden (text-only branding)
   ============================================= */
.ast-site-image-wrap,
.custom-logo-link,
.custom-logo,
.site-logo img,
header .ast-logo-img,
.ast-header-logo-container img {
  display: none !important;
}

/* =============================================
   BUTTON HOVER — keep text visible
   ============================================= */
.ast-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.elementor-button:hover,
.elementor-button-wrapper a:hover {
  background: var(--jig-gold-gradient) !important;
  color: #fff !important;
}

.woocommerce a.button:hover span,
.woocommerce button.button:hover span,
.elementor-button:hover .elementor-button-text {
  color: #fff !important;
}

/* =============================================
   FOOTER — ensure text is readable
   ============================================= */
#colophon,
.site-footer,
.ast-small-footer,
.ast-footer-copyright,
.site-primary-footer-wrap,
.site-above-footer-wrap,
.site-below-footer-wrap,
.ast-builder-grid-row-container,
.ast-builder-grid-row,
.site-footer-section,
.footer-widget-area,
[data-section="section-primary-footer-builder"],
[data-section="section-above-footer-builder"],
[data-section="section-below-footer-builder"] {
  background: linear-gradient(180deg, transparent 0%, #ebe7e0 100%) !important;
  border-top: 1px solid var(--jig-border) !important;
}

.ast-small-footer,
.ast-footer-copyright,
.ast-small-footer .ast-footer-copyright,
footer .ast-container,
footer p,
footer span,
footer li,
footer div,
footer a {
  color: var(--jig-muted) !important;
}

.ast-small-footer a:hover,
footer a:hover {
  color: var(--jig-gold) !important;
}

/* =============================================
   PRODUCT CARD — category label
   ============================================= */
.ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
  color: var(--jig-gold) !important;
  font-family: var(--jig-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  display: block !important;
  padding: 0.75rem 1.5rem 0 !important;
  opacity: 1 !important;
}

/* =============================================
   SCROLL REVEAL ANIMATIONS
   ============================================= */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Stagger for product grid */
.woocommerce ul.products li.product {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1), border-color var(--jig-transition), box-shadow var(--jig-transition);
}

.woocommerce ul.products li.product.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
  }

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

  .jig-hero-title {
    font-size: clamp(2.2rem, 10vw, 3.5rem) !important;
  }

  h1 { font-size: clamp(2rem, 8vw, 3rem); }
  h2 { font-size: clamp(1.4rem, 5vw, 2rem); }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .jig-cat-grid {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem !important;
  }
}

/* =============================================
   ELEMENTOR DARK SECTION FIXES — Force Light
   ============================================= */

/* Force ALL Elementor sections, columns, containers to light bg */
.elementor-section,
.elementor-top-section,
.elementor-inner-section,
.elementor-column,
.elementor-column-wrap,
.e-con,
.e-con-inner {
  background-color: var(--jig-bg) !important;
}

/* Widget wraps and containers must be transparent so column bg images show through.
   NOTE: .elementor-widget-wrap may ALSO be .elementor-element-populated (column bg carrier),
   so we only strip its background-color, NOT background-image. */
.elementor-widget-wrap {
  background-color: transparent !important;
}

.elementor-widget,
.elementor-widget-container {
  background-color: transparent !important;
  background-image: none !important;
}

/* Remove dark overlays and gradients */
.elementor-background-overlay,
.elementor-element .elementor-background-overlay,
.elementor-section .elementor-background-overlay,
.elementor-column .elementor-background-overlay {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Override Elementor inline dark backgrounds */
.elementor-section[class*="elementor-element-"],
.elementor-column[class*="elementor-element-"] {
  background-color: var(--jig-bg) !important;
}

/* Force Elementor headings DARK — no more invisible light text */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
.elementor-heading-title,
.elementor-widget-container h1,
.elementor-widget-container h2,
.elementor-widget-container h3,
.elementor-widget-container h4,
.elementor-widget-container h5,
.elementor-widget-container h6,
.elementor-widget-container .elementor-heading-title {
  color: #1c1917 !important;
  font-family: var(--jig-font-head) !important;
  mix-blend-mode: normal !important;
}

/* Force Elementor body text readable */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor div,
.elementor-widget-text-editor li {
  color: var(--jig-muted) !important;
}

/* Elementor icons */
.elementor-icon,
.elementor-icon i,
.elementor-view-default .elementor-icon {
  color: var(--jig-gold) !important;
}

/* Elementor buttons */
.elementor-button-content-wrapper,
.elementor-button-text {
  color: inherit !important;
}

/* Elementor dividers */
.elementor-divider {
  border-color: var(--jig-border) !important;
}

/* =============================================
   GOLD ACCENT SECTIONS — Optional class
   ============================================= */
.jig-gold-fade,
.elementor-section.jig-gold-fade::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(184, 149, 78, 0.06) 100%) !important;
  pointer-events: none;
}

/* =============================================
   FORCE ALL REMAINING DARK ELEMENTS LIGHT
   ============================================= */

/* Any element with inline black/dark backgrounds */
[style*="background-color: rgb(0, 0, 0)"],
[style*="background-color: #000"],
[style*="background-color: #0a0e1a"],
[style*="background-color: #070b14"],
[style*="background-color: #111827"],
[style*="background: rgb(0, 0, 0)"],
[style*="background: #000"] {
  background-color: var(--jig-bg) !important;
  background: var(--jig-bg) !important;
}

/* Any element with inline white/light text on light bg */
[style*="color: rgb(255, 255, 255)"],
[style*="color: #fff"],
[style*="color: #ffffff"],
[style*="color: #f0ede8"] {
  color: var(--jig-text) !important;
}

/* Astra builder elements that might be dark */
.ast-single-post .entry-content,
.ast-single-post .entry-title,
.ast-archive-description {
  background-color: var(--jig-bg) !important;
  color: var(--jig-text) !important;
}

/* =============================================
   HEADINGS — Extra specificity for readability
   ============================================= */
h1, h2, h3, h4, h5, h6 {
  color: #1c1917 !important;
}

.entry-title a,
.entry-title,
.page-title,
.ast-archive-title {
  color: #1c1917 !important;
}

/* =============================================
   CATEGORY GRID IMAGES — Fallback when missing
   ============================================= */
.woocommerce ul.products li.product-category img {
  background: linear-gradient(135deg, #faf8f5 0%, #ebe7e0 100%) !important;
  min-height: 220px;
}

.woocommerce ul.products li.product-category h2 {
  color: #1c1917 !important;
}

/* =============================================
   HEADER REFINEMENT — Editorial Slim
   ============================================= */

#masthead {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

#masthead:not(.jig-scrolled) {
  border-bottom: 1px solid rgba(28, 25, 23, 0.04) !important;
}

/* Logo refinement — elegant with gold dot */
.site-title a,
.ast-site-identity a {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  position: relative;
}

.site-title a::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--jig-gold);
  border-radius: 50%;
  margin-left: 5px;
  vertical-align: super;
  opacity: 0.7;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.site-title a:hover::after {
  opacity: 1;
  transform: scale(1.3);
}

/* Nav links refinement — smaller, tighter */
.main-navigation a,
.ast-nav-menu a,
#ast-hf-menu-1 a,
.ast-primary-nav-links a {
  font-size: 0.75rem !important;
  letter-spacing: 0.16em !important;
  padding-top: 0.3rem !important;
  padding-bottom: 0.3rem !important;
}

/* Scrolled state — more opaque with subtle lift */
#masthead.jig-scrolled {
  background: rgba(250, 248, 245, 0.94) !important;
  box-shadow: 0 1px 30px rgba(0, 0, 0, 0.04) !important;
}


/* =============================================
   HOMEPAGE HERO — Elementor section .jig-hero
   Copy column left, photo right. Widgets carry
   jig-hero__* classes set in the Elementor data.
   ============================================= */
.elementor-section.jig-hero {
  background: none !important;
}

.jig-hero > .elementor-container {
  align-items: center;
}

.jig-hero .elementor-widget {
  margin-bottom: 0 !important;
}

/* Astra's content-area margins stack on the hero's padding and the footer's margin */
.home #primary {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.jig-hero__copy > .elementor-widget-wrap {
  padding-right: 56px !important;
}

/* Small gold label above a heading — hero, feature and any section using .jig-eyebrow */
.jig-hero__eyebrow .elementor-heading-title,
.jig-eyebrow .elementor-heading-title {
  margin: 0 0 20px !important;
  font-family: var(--jig-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  color: var(--jig-gold) !important;
}

.jig-hero__title .elementor-heading-title {
  margin: 0 0 22px !important;
  font-family: var(--jig-font-head) !important;
  font-size: clamp(2.5rem, 4.6vw, 4.25rem) !important;
  font-weight: 600 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.01em !important;
  color: var(--jig-text) !important;
  text-shadow: none !important;
}

.jig-hero__lead p {
  max-width: 30em;
  margin: 0 0 32px !important;
  font-size: 17px !important;
  line-height: 1.65;
  color: #57534e !important;
}

/* Primary button — solid ink, matching the header's catalog button. .jig-btn-dark reuses it elsewhere */
.jig-hero__cta .elementor-button,
.jig-btn-dark .elementor-button,
.jig-hero__link .elementor-button {
  font-family: var(--jig-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
.jig-hero__cta .elementor-button::before,
.jig-btn-dark .elementor-button::before,
.jig-hero__link .elementor-button::before {
  display: none !important;
}

.jig-hero__cta .elementor-button,
.jig-btn-dark .elementor-button {
  padding: 17px 30px !important;
  background: var(--jig-text) !important;
  color: #fff !important;
}
.jig-hero__cta .elementor-button:hover,
.jig-hero__cta .elementor-button:focus-visible,
.jig-btn-dark .elementor-button:hover,
.jig-btn-dark .elementor-button:focus-visible {
  background: #3a332d !important;
  color: #fff !important;
}

/* Secondary — plain text link with an arrow */
.jig-hero__link {
  margin-left: 12px;
}
.jig-hero__link .elementor-button {
  padding: 17px 16px !important;
  background: transparent !important;
  color: var(--jig-text) !important;
}
.jig-hero__link .elementor-button-text::after {
  content: '→';
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.2s ease;
}
.jig-hero__link .elementor-button:hover,
.jig-hero__link .elementor-button:focus-visible {
  background: rgba(28, 25, 23, 0.05) !important;
  color: var(--jig-text) !important;
}
/* The global hover rule turns .elementor-button-text white, which vanishes on this light background */
.jig-hero__link .elementor-button:hover .elementor-button-text,
.jig-hero__link .elementor-button:focus-visible .elementor-button-text {
  color: var(--jig-text) !important;
}
.jig-hero__link .elementor-button:hover .elementor-button-text::after {
  transform: translateX(3px);
}
.jig-hero__cta .elementor-button:focus-visible,
.jig-btn-dark .elementor-button:focus-visible,
.jig-hero__link .elementor-button:focus-visible {
  outline: 2px solid var(--jig-gold) !important;
  outline-offset: 2px;
}

/* Two classes deep to beat Elementor's later-loading `.elementor img` reset */
.jig-hero .jig-hero__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 32px 60px -28px rgba(28, 25, 23, 0.45);
}

@media (max-width: 1024px) {
  .jig-hero__copy > .elementor-widget-wrap {
    padding-right: 24px !important;
  }
  .jig-hero__lead p {
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  .jig-hero__copy > .elementor-widget-wrap {
    padding-right: 10px !important;
  }
  .jig-hero__media {
    margin-top: 32px;
  }
  .jig-hero__eyebrow .elementor-heading-title {
    margin-bottom: 14px !important;
  }
  .jig-hero__title .elementor-heading-title {
    font-size: 2.4rem !important;
  }
  .jig-hero__lead p {
    margin-bottom: 24px !important;
  }
  /* Own line, text aligned with the button's left edge (width beats Elementor's auto-width class) */
  .jig-hero__link {
    width: 100% !important;
    margin: 6px 0 0 -16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jig-hero__link .elementor-button-text::after {
    transition: none;
  }
}

/* =============================================
   HOMEPAGE FEATURE — .jig-feature (product spotlight card)
   Copy + button left, full-bleed photo right
   ============================================= */
.elementor-section.jig-feature > .elementor-container {
  background: #fff;
  border: 1px solid var(--jig-border);
  border-radius: 16px;
  overflow: hidden;
}

.jig-feature .elementor-widget {
  margin-bottom: 0 !important;
}

.jig-feature__copy > .elementor-widget-wrap {
  align-content: center !important;
  padding: 64px 56px !important;
}

.jig-feature__title .elementor-heading-title {
  margin: 0 0 18px !important;
  font-family: var(--jig-font-head) !important;
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  color: var(--jig-text) !important;
}

.jig-feature__text p {
  max-width: 34em;
  margin: 0 0 28px !important;
  font-size: 16px !important;
  line-height: 1.7;
  color: #57534e !important;
}

.jig-feature__media > .elementor-widget-wrap {
  height: 100%;
  padding: 0 !important;
}
.jig-feature__media .elementor-widget-image,
.jig-feature__media .elementor-widget-image a {
  display: block;
  width: 100%;
  height: 100%;
}
.jig-feature .jig-feature__media img {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 380px;
  object-fit: cover;
  border-radius: 0;
}

/* =============================================
   HOMEPAGE SECTION HEADINGS — .jig-section-head
   ============================================= */
.elementor-section.jig-section-head {
  margin-top: 96px;
}
.jig-section-head .elementor-widget {
  margin-bottom: 0 !important;
}
.jig-section-head__title .elementor-heading-title {
  margin: 0 0 32px !important;
  font-family: var(--jig-font-head) !important;
  font-size: clamp(2rem, 3.4vw, 2.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  text-align: center;
  color: var(--jig-text) !important;
  mix-blend-mode: normal !important;
}
/* When a subtitle follows, the gap moves below the subtitle */
.jig-section-head .elementor-widget-heading:has(+ .jig-section-head__text) .elementor-heading-title {
  margin-bottom: 10px !important;
}
.jig-section-head__text p {
  margin: 0 0 40px !important;
  font-size: 15.5px !important;
  text-align: center;
  color: var(--jig-muted) !important;
}

/* =============================================
   LURE TYPE CARDS — .jig-types / .jig-type-card
   Whole card is clickable via the title link
   ============================================= */
.jig-types .elementor-widget {
  margin-bottom: 0 !important;
}

/* Margin instead of the column gap padding, so the card surface can sit on the wrap */
.jig-type-card > .elementor-widget-wrap {
  position: relative;
  width: calc(100% - 24px) !important;
  margin: 12px;
  padding: 0 !important;
  background: #fff;
  border: 1px solid var(--jig-border);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.jig-type-card > .elementor-widget-wrap:hover {
  transform: translateY(-4px);
  border-color: var(--jig-border-hover);
  box-shadow: 0 18px 40px -20px rgba(28, 25, 23, 0.28);
}

.jig-types .jig-type-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  border-radius: 0;
}

.jig-type-card__title .elementor-heading-title {
  margin: 0 !important;
  padding: 20px 22px 6px;
  font-family: var(--jig-font-head) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
/* Astra underlines links inside page content */
.jig-type-card__title .elementor-heading-title a {
  color: var(--jig-text) !important;
  text-decoration: none !important;
}
.jig-type-card__title .elementor-heading-title a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
.jig-type-card > .elementor-widget-wrap:hover .jig-type-card__title a {
  color: var(--jig-gold) !important;
}
.jig-type-card__title a:focus-visible {
  outline: none;
}
.jig-type-card__title a:focus-visible::after {
  outline: 2px solid var(--jig-gold);
  outline-offset: -2px;
  border-radius: 12px;
}

.jig-type-card__text p {
  margin: 0 !important;
  padding: 0 22px 22px;
  font-size: 14.5px !important;
  line-height: 1.6;
  color: var(--jig-muted) !important;
}

/* =============================================
   PRODUCT CARDS — homepage, shop and category grids
   ============================================= */
@media (min-width: 1025px) {
  .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product img {
  height: auto !important;
  aspect-ratio: 1 / 1;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  position: relative;
  overflow: hidden;
}

/* Out-of-stock: small pill in the corner instead of a bar across the photo */
.woocommerce ul.products li.product .ast-shop-product-out-of-stock {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  transform: none !important;
  background: rgba(28, 25, 23, 0.8) !important;
  border-radius: 4px;
  font-family: var(--jig-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  line-height: 1.3 !important;
  text-transform: uppercase;
  color: #fff !important;
}

/* Price: dark for contrast; ranges stay on one line */
.woocommerce ul.products li.product .price {
  margin: 4px 0 0 !important;
  padding: 0 1.5rem !important;
  font-size: 1rem !important;
  color: var(--jig-text) !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  display: inline;
  padding: 0 !important;
  font-size: inherit !important;
  color: var(--jig-text) !important;
}

/* Card button: outlined ink, full width */
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: calc(100% - 3rem) !important;
  margin: 14px 1.5rem 1.5rem !important;
  padding: 12px 16px !important;
  background: transparent !important;
  border: 1px solid var(--jig-text) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: var(--jig-font-body) !important;
  font-size: 12.5px !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  color: var(--jig-text) !important;
  transform: none !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce ul.products li.product a.button::before {
  display: none !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible {
  background: var(--jig-text) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  .jig-feature__copy > .elementor-widget-wrap {
    padding: 32px 24px 36px !important;
  }
  /* Photo first on phones. Two classes deep: Elementor's later `.elementor-element` rule resets order */
  .jig-feature .jig-feature__media {
    order: -1;
  }
  .jig-feature .jig-feature__media img {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .elementor-section.jig-section-head {
    margin-top: 64px;
  }
  .jig-section-head__title .elementor-heading-title {
    margin-bottom: 20px !important;
  }
  /* Two cards per row instead of four tall ones stacked */
  .jig-types .elementor-column {
    width: 50% !important;
  }
  .jig-type-card > .elementor-widget-wrap {
    width: calc(100% - 12px) !important;
    margin: 6px;
  }
  .jig-type-card__title .elementor-heading-title {
    padding: 14px 14px 4px;
    font-size: 1.15rem !important;
  }
  .jig-type-card__text p {
    padding: 0 14px 16px;
    font-size: 13px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .woocommerce-page ul.products li.product .ast-woo-product-category {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .woocommerce ul.products li.product a.button {
    width: calc(100% - 24px) !important;
    margin: 12px 12px 14px !important;
    padding: 10px 8px !important;
    font-size: 11.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jig-type-card > .elementor-widget-wrap {
    transition: none;
  }
}

/* =============================================
   MANUFACTURER PAGES — see inc/brands.php
   ============================================= */
.jig-brand-intro {
  max-width: 860px;
  margin: 8px 0 40px;
}
.jig-brand-intro .jig-brand-intro__summary {
  margin: 0 0 24px !important;
  font-size: 17px !important;
  line-height: 1.7;
  color: #44403c !important;
}

/* Cell dividers are drawn by each item, so a half-filled last row stays white */
.jig-brand-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--jig-border);
  border-radius: 12px;
}
.jig-brand-facts__item {
  padding: 14px 18px;
  box-shadow: 1px 1px 0 0 var(--jig-border);
}
.jig-brand-facts dt {
  margin: 0 0 4px;
  font-family: var(--jig-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--jig-gold);
}
.jig-brand-facts dd {
  margin: 0;
  font-family: var(--jig-font-body);
  font-size: 15px;
  line-height: 1.45;
  color: var(--jig-text);
}
.jig-brand-facts dd a {
  color: var(--jig-text) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.jig-brand-products-title {
  margin: 0 0 16px !important;
  font-family: var(--jig-font-head) !important;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem) !important;
  font-weight: 600 !important;
  color: var(--jig-text) !important;
}

.jig-brand-details {
  max-width: 860px;
  margin: 64px 0 0;
}
.jig-brand-section,
.jig-brand-faq {
  margin: 0 0 40px;
}
.jig-brand-section h2,
.jig-brand-faq h2 {
  margin: 0 0 14px !important;
  font-family: var(--jig-font-head) !important;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important;
  font-weight: 600 !important;
  color: var(--jig-text) !important;
}
.jig-brand-section p {
  margin: 0 0 14px !important;
  font-size: 16px !important;
  line-height: 1.75;
  color: #57534e !important;
}
.jig-brand-faq__item {
  padding: 18px 0;
  border-top: 1px solid var(--jig-border);
}
.jig-brand-faq__item:last-child {
  border-bottom: 1px solid var(--jig-border);
}
.jig-brand-faq__item h3 {
  margin: 0 0 6px !important;
  font-family: var(--jig-font-body) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--jig-text) !important;
}
.jig-brand-faq__item p {
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.7;
  color: #57534e !important;
}
.jig-brand-back a {
  font-family: var(--jig-font-body) !important;
  font-size: 14px;
  font-weight: 600;
  color: var(--jig-text) !important;
}

/* Overview page */
.jig-brands__intro {
  max-width: 760px;
  margin: 0 0 32px !important;
  font-size: 17px !important;
  line-height: 1.7;
  color: #44403c !important;
}
.jig-brands__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin: 0 !important;
  padding: 0 !important; /* Astra indents lists in page content */
  list-style: none;
}
.jig-brand-card {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 26px 26px 22px;
  background: #fff;
  border: 1px solid var(--jig-border);
  border-radius: 12px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.jig-brand-card:hover {
  transform: translateY(-3px);
  border-color: var(--jig-border-hover);
  box-shadow: 0 18px 40px -22px rgba(28, 25, 23, 0.3);
}
.jig-brand-card .jig-brand-card__name {
  margin: 0 0 6px !important;
  font-family: var(--jig-font-head) !important;
  font-size: 1.7rem !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
.jig-brand-card__name a {
  color: var(--jig-text) !important;
  text-decoration: none !important;
}
/* Whole card is clickable */
.jig-brand-card__name a::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
}
.jig-brand-card:hover .jig-brand-card__name a {
  color: var(--jig-gold) !important;
}
.jig-brand-card__name a:focus-visible {
  outline: none;
}
.jig-brand-card__name a:focus-visible::after {
  outline: 2px solid var(--jig-gold);
  outline-offset: 2px;
}
.jig-brand-card .jig-brand-card__meta {
  margin: 0 0 14px !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--jig-gold) !important;
}
.jig-brand-card .jig-brand-card__summary {
  flex: 1;
  margin: 0 0 18px !important;
  font-size: 14.5px !important;
  line-height: 1.65;
  color: var(--jig-muted) !important;
}
.jig-brand-card .jig-brand-card__count {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600;
  color: var(--jig-text) !important;
}

/* Product page manufacturer link */
.jig-product-brand {
  display: block;
  margin-bottom: 6px;
}
.jig-product-brand a {
  font-weight: 600;
}

/* Drawer manufacturer list */
.jig-drawer__brands {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--jig-header-line);
}
.jig-drawer .jig-drawer__subhead {
  display: block;
  margin: 0 !important;
  padding: 12px 28px 6px;
  font-family: var(--jig-font-body) !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--jig-muted) !important;
}
.jig-drawer a.jig-drawer__subhead:hover {
  color: var(--jig-gold) !important;
}

@media (max-width: 767px) {
  .jig-brand-intro .jig-brand-intro__summary,
  .jig-brands__intro {
    font-size: 16px !important;
  }
  .jig-brand-facts {
    grid-template-columns: 1fr 1fr;
  }
  .jig-brand-details {
    margin-top: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jig-brand-card {
    transition: none;
  }
}

/* Product page: fixed attributes under the short description (jiglt_product_specs) */
.single-product .jig-specs {
  list-style: none;
  margin: -0.4em 0 1.4em;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  font-size: 15px;
  color: var(--jig-text);
}
.single-product .jig-specs li {
  margin: 0;
}
.single-product .jig-specs__label {
  font-weight: 600;
}

/* "Pagal žuvį" fish picker (jiglt_fish_picker), uses the manufacturer card styles */
.jig-brands__grid.jig-fish-picker {
  margin: 32px 0 56px !important;
}

/* Product page: tags are generic search words, not useful to shoppers */
.single-product .product_meta .tagged_as {
  display: none !important;
}

/* Product page: colour swatches (inc/product-page.php); the dropdown stays for WooCommerce, hidden */
.single-product .variations select.jig-swatch-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.jig-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 6px;
}
.jig-swatches .jig-swatches__current {
  flex-basis: 100%;
  min-height: 1.4em;
  margin: 0 0 2px;
  font-size: 14px;
  color: var(--jig-muted);
}
.jig-swatches .jig-swatch {
  all: unset;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 64px;
  height: 64px;
  overflow: hidden;
  cursor: pointer;
  /* !important: the site-wide button style (gold, padded, !important) applies to every <button> */
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--jig-border) !important;
  border-radius: var(--jig-radius) !important;
  box-shadow: none !important;
  transition: border-color var(--jig-transition) !important;
}
.jig-swatches .jig-swatch::before {
  content: none !important;
}
.jig-swatches .jig-swatch img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.6); /* the lure is a thin band across a square photo */
}
.jig-swatches .jig-swatch:hover {
  border-color: var(--jig-border-hover) !important;
}
.jig-swatches .jig-swatch.is-selected {
  border: 2px solid var(--jig-text) !important;
}
.jig-swatches .jig-swatch.is-unavailable {
  opacity: 0.35;
}
.jig-swatches .jig-swatch:focus-visible {
  outline: 2px solid var(--jig-gold);
  outline-offset: 2px;
}

/* Product page: "Tinka:" fish links */
.single-product .jig-fish-links {
  margin: -0.6em 0 1.4em;
  font-size: 15px;
  color: var(--jig-text);
}
.single-product .jig-fish-links__label {
  font-weight: 600;
}
.single-product .jig-fish-links a {
  color: var(--jig-text) !important;
  text-decoration: underline;
  text-decoration-color: var(--jig-gold);
  text-underline-offset: 3px;
}
.single-product .jig-fish-links a:hover {
  color: var(--jig-gold) !important;
}

/* Product page: back-in-stock form */
.jig-stock-alert {
  margin: 18px 0 6px;
  padding: 18px 20px;
  background: var(--jig-bg-card);
  border: 1px solid var(--jig-border);
  border-radius: var(--jig-radius-lg);
}
.jig-stock-alert[hidden],
.jig-stock-alert [hidden] {
  display: none !important;
}
.jig-stock-alert .jig-stock-alert__title {
  margin: 0 0 4px;
  font-weight: 600;
  color: var(--jig-text);
}
.jig-stock-alert .jig-stock-alert__text {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--jig-muted);
}
.jig-stock-alert__row {
  display: flex;
  gap: 8px;
}
.jig-stock-alert__row input[type="email"] {
  flex: 1 1 auto; /* auto basis keeps the 46px height when the row stacks on phones */
  min-width: 0;
  height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(28, 25, 23, 0.18);
  border-radius: var(--jig-radius);
  background: #fff;
  font-size: 15px;
}
.jig-stock-alert .jig-stock-alert__button {
  flex: 0 0 auto; /* never squeezed by the e-mail field */
  height: 46px;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: var(--jig-radius) !important;
  background: var(--jig-text) !important;
  color: #fff !important;
  font-family: var(--jig-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  box-shadow: none !important;
  cursor: pointer;
  white-space: nowrap;
}
.jig-stock-alert .jig-stock-alert__button:hover {
  background: #3a3532 !important;
}
.jig-stock-alert .jig-stock-alert__button:disabled {
  opacity: 0.6;
}
.jig-stock-alert__hp {
  position: absolute !important;
  left: -9999px !important;
}
.jig-stock-alert .jig-stock-alert__consent {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--jig-muted);
}
.jig-stock-alert__consent input {
  margin-top: 2px;
}
.jig-stock-alert__consent a {
  color: var(--jig-text);
  text-decoration: underline;
}
.jig-stock-alert .jig-stock-alert__msg {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--jig-text);
}
.jig-stock-alert .jig-stock-alert__msg--error {
  margin-top: 10px;
  color: #b42318;
}
@media (max-width: 480px) {
  .jig-stock-alert__row {
    flex-direction: column;
  }
}

/* Product page: delivery and returns line under the add-to-cart button */
.single-product .jig-delivery {
  list-style: none;
  margin: 16px 0 4px !important;
  padding: 0 !important;
  font-size: 14px;
  color: var(--jig-text);
}
.single-product .jig-delivery li {
  position: relative;
  margin: 4px 0;
  padding-left: 22px;
}
.single-product .jig-delivery li::before {
  content: "✓";
  position: absolute;
  left: 2px;
  color: var(--jig-gold);
  font-weight: 700;
}
.single-product .jig-delivery__more {
  margin: 0 0 14px;
  font-size: 13px;
}
.single-product .jig-delivery__more a {
  color: var(--jig-muted) !important;
  text-decoration: underline;
}

/* Product cards: the text block fills the card and the button sits at the bottom, so buttons line up
   across a row whatever the title length */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap .price {
  margin-bottom: 14px !important;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap a.button {
  margin: auto 1.5rem 1.5rem !important;
}

/* Pagination: plain numbers, the current page in ink with a gold underline */
.woocommerce-pagination .page-numbers li .page-numbers,
.page-numbers li .page-numbers {
  min-width: 36px;
  padding: 6px 8px !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--jig-font-body) !important;
  font-size: 15px !important;
  color: var(--jig-muted) !important;
}
.woocommerce-pagination .page-numbers li .page-numbers.current,
.page-numbers li .page-numbers.current {
  background: none !important;
  color: var(--jig-text) !important;
  font-weight: 700;
  box-shadow: inset 0 -2px 0 var(--jig-gold);
}
.woocommerce-pagination .page-numbers li .page-numbers:hover:not(.current) {
  color: var(--jig-text) !important;
}
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
}

/* Category, shop and manufacturer pages: a smaller title and less space before the products */
.tax-product_cat .site-content #primary,
.tax-product_brand .site-content #primary,
.post-type-archive-product .site-content #primary {
  margin-top: 40px !important;
}
.woocommerce-products-header .woocommerce-products-header__title.page-title {
  font-size: clamp(2.25rem, 4vw, 3.25rem) !important;
  margin: 0 0 0.45em !important;
}
.woocommerce-products-header .term-description {
  max-width: 860px; /* shorter lines are easier to read */
}
.woocommerce nav.woocommerce-pagination {
  margin-top: 32px !important;
}
.tax-product_cat .site-content #primary,
.tax-product_brand .site-content #primary,
.post-type-archive-product .site-content #primary {
  margin-bottom: 48px !important;
}

/* Manufacturer pages on wide screens: facts box beside the intro instead of below it */
@media (min-width: 1024px) {
  .jig-brand-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 48px;
    align-items: start;
    max-width: none;
  }
  .jig-brand-intro .jig-brand-intro__summary {
    margin: 0 !important;
  }
  .jig-brand-facts {
    grid-template-columns: 1fr 1fr;
  }
}

/* Apie mus: text lines up with the page title, at a readable width */
.page-id-115 .elementor-element-1e0edda {
  max-width: 760px;
}

/* Guides list on /patarimai/ and the FAQ on fish pages reuse the manufacturer card and FAQ styles */
.jig-brands__grid.jig-guides {
  margin: 28px 0 48px !important;
}
.tax-product_cat .jig-brand-details {
  max-width: 860px;
  margin-top: 56px;
}

/* Kontaktai: details above the form at a readable width */
.page-id-117 .elementor-element-jigcontact {
  max-width: 760px;
}
.jig-fish-guide a {
  text-decoration: underline !important;
  text-decoration-color: var(--jig-gold) !important;
  text-underline-offset: 3px;
}

/* Guides (child pages of /patarimai/, page 1652): a readable line length */
.parent-pageid-1652 .entry-content {
  max-width: 800px;
}

/* =============================================
   FREE-DELIVERY PROGRESS (inc/cart-extras.php)
   ============================================= */
.jig-freeship {
  margin: 0 0 20px;
  padding: 14px 18px;
  background: var(--jig-bg-card);
  border: 1px solid var(--jig-border);
  border-radius: var(--jig-radius);
}
.jig-freeship .jig-freeship__text {
  margin: 0 0 10px !important;
  font-size: 14.5px;
  color: var(--jig-text) !important;
}
.jig-freeship__text .woocommerce-Price-amount,
.jig-freeship__text strong {
  font-weight: 700;
  color: var(--jig-text);
}
.jig-freeship__bar {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 3px;
  background: rgba(28, 25, 23, 0.08);
}
.jig-freeship__bar > span {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--jig-gold-gradient);
  transition: width 0.4s ease;
}
.jig-freeship--done .jig-freeship__bar > span {
  background: #3f7d4e;
}
/* inside the "added to your cart" notice */
.woocommerce-message .jig-freeship {
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  background: none;
}
/* checkout order review */
.jig-freeship-row td {
  text-align: left !important;
  padding: 0 0 12px !important;
  border: 0 !important;
}
.jig-freeship-row .jig-freeship {
  margin: 0;
}

/* =============================================
   GIFT VOUCHER (inc/gift-vouchers.php)
   ============================================= */
.jig-voucher {
  width: 100%;
  margin: 0 0 20px;
  padding: 20px 22px;
  background: var(--jig-bg-card);
  border: 1px solid var(--jig-border);
  border-radius: var(--jig-radius-lg);
}
.jig-voucher__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.jig-voucher .jig-voucher__label {
  font-weight: 600;
  color: var(--jig-text);
}
.jig-voucher__value {
  font-family: var(--jig-font-head);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1;
  color: var(--jig-text);
}
.jig-voucher__slider {
  --thumb: 24px;
  position: relative;
  padding-bottom: 28px;
}
.jig-voucher input.jig-voucher__range {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: var(--thumb);
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer;
}
.jig-voucher input.jig-voucher__range::-webkit-slider-runnable-track,
.jig-voucher input.jig-voucher__range:focus::-webkit-slider-runnable-track {
  box-shadow: none;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(to right, var(--jig-gold) var(--fill, 0%), rgba(28, 25, 23, 0.12) var(--fill, 0%));
}
.jig-voucher input.jig-voucher__range::-moz-range-track {
  box-shadow: none;
  height: 6px;
  border-radius: 3px;
  background: rgba(28, 25, 23, 0.12);
}
.jig-voucher input.jig-voucher__range::-moz-range-progress {
  height: 6px;
  border-radius: 3px;
  background: var(--jig-gold);
}
.jig-voucher input.jig-voucher__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: var(--thumb);
  height: var(--thumb);
  margin-top: calc((6px - var(--thumb)) / 2);
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--jig-gold);
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.3);
}
.jig-voucher input.jig-voucher__range::-moz-range-thumb {
  width: var(--thumb);
  height: var(--thumb);
  box-sizing: border-box;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--jig-gold);
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.3);
}
.jig-voucher__range:focus-visible {
  outline: 2px solid var(--jig-gold);
  outline-offset: 4px;
  border-radius: 4px;
}
.jig-voucher__ticks {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22px;
}
.jig-voucher__tick {
  position: absolute;
  top: 0;
  left: calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--i) / var(--steps));
  transform: translateX(-50%);
  font-size: 13px;
  line-height: 22px;
  color: var(--jig-muted);
  cursor: pointer;
  user-select: none;
}
.jig-voucher__tick.is-active {
  font-weight: 700;
  color: var(--jig-text);
}
.jig-voucher .jig-voucher__field {
  margin: 16px 0 0 !important;
}
.jig-voucher__field label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--jig-text);
}
.jig-voucher__field label span {
  font-weight: 400;
  color: var(--jig-muted);
}
.jig-voucher__field input,
.jig-voucher__field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(28, 25, 23, 0.18);
  border-radius: var(--jig-radius);
  background: #fff;
  font-size: 15px;
}
.jig-voucher .jig-voucher__note {
  margin: 14px 0 0 !important;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--jig-muted);
}
/* the voucher box sits in the add-to-cart flex row: let it take the full width */
.single-product form.cart:has(.jig-voucher) {
  flex-wrap: wrap;
}

/* =============================================
   PRODUCT FILTERS (inc/filters.php)
   ============================================= */
.jig-filters {
  position: relative;
  z-index: 5;
  width: 100%;
  margin: 0 0 24px;
}
.jig-filters.is-loading {
  opacity: 0.6;
  pointer-events: none;
}
.jig-filters__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.jig-filters__title {
  margin-right: 4px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--jig-muted);
}
.jig-filter {
  position: relative;
}
.jig-filter > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(28, 25, 23, 0.16);
  border-radius: 999px;
  background: var(--jig-bg-card);
  font-size: 14px;
  font-weight: 500;
  color: var(--jig-text);
  list-style: none;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.2s ease;
}
.jig-filter > summary::-webkit-details-marker {
  display: none;
}
.jig-filter > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  margin: -3px 0 0 2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.jig-filter[open] > summary::after {
  margin-top: 3px;
  transform: rotate(-135deg);
}
.jig-filter > summary:hover,
.jig-filter[open] > summary {
  border-color: var(--jig-gold);
}
.jig-filter > summary:focus-visible {
  outline: 2px solid var(--jig-gold);
  outline-offset: 2px;
}
.jig-filter__n {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--jig-gold);
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}
.jig-filter__panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 240px;
  max-height: 360px;
  overflow-y: auto;
  padding: 8px;
  background: var(--jig-bg-card);
  border: 1px solid var(--jig-border);
  border-radius: var(--jig-radius);
  box-shadow: 0 12px 32px rgba(28, 25, 23, 0.12);
}
.jig-filter__panel ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.jig-filter__panel li {
  margin: 0 !important;
}
.jig-filter__panel label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 14.5px;
  color: var(--jig-text);
  cursor: pointer;
}
.jig-filter__panel label:hover {
  background: var(--jig-bg-surface);
}
.jig-filter__panel input,
.jig-filter-toggle input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--jig-gold);
}
.jig-filter__label {
  flex: 1 1 auto;
}
.jig-filter__count {
  font-size: 12.5px;
  color: var(--jig-muted);
}
.jig-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px;
  font-size: 14px;
  color: var(--jig-text);
  cursor: pointer;
}
.jig-filters__active {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.jig-filters .jig-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--jig-text);
  font-size: 13px;
  color: #fff !important;
}
.jig-filters .jig-filter-chip:hover {
  background: #3a3532;
}
.jig-filters .jig-filters__clear {
  font-size: 13px;
  color: var(--jig-text) !important;
  text-decoration: underline;
}
@media (max-width: 600px) {
  .jig-filters__title {
    flex: 1 0 100%;
  }
  .jig-filter {
    position: static;
  }
  .jig-filters__bar {
    position: relative;
  }
  .jig-filter__panel {
    left: 0;
    right: 0;
    min-width: 0;
  }
}

/* Newsletter link notice (confirmed / unsubscribed) */
.jig-nl-notice {
  padding: 12px 16px;
  background: #3f7d4e;
  text-align: center;
}
.jig-nl-notice p {
  margin: 0 !important;
  font-size: 14.5px;
  font-weight: 500;
  color: #fff !important;
}

/* In-page search form (404 page, no search results): Astra prints an icon button inside the
   field and a text submit; the site-wide button style showed both, overlapping */
.content-area .search-form {
  display: flex;
  gap: 8px;
  align-items: stretch;
  max-width: 520px;
  margin: 0 auto;
}
.content-area .search-form label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.content-area .search-form .ast-search-submit {
  display: none !important;
}
.content-area .search-form .search-field {
  width: 100%;
  height: 48px;
}
.content-area .search-form input[type="submit"].search-submit {
  position: static !important;
  flex: 0 0 auto;
  height: 48px;
  margin: 0 !important;
  padding: 0 22px !important;
  transform: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap;
}

/* =============================================
   REVIEW PAGE (inc/reviews.php, /?jig_review=...)
   ============================================= */
.jig-review {
  max-width: 720px;
  margin: 48px auto 0;
}
.jig-review h1 {
  margin: 0 0 12px !important;
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
}
.jig-review .jig-review__intro {
  margin: 0 0 28px;
  color: var(--jig-muted);
}
.jig-review__item {
  margin: 0 0 16px;
  padding: 18px 20px;
  border: 1px solid var(--jig-border);
  border-radius: var(--jig-radius-lg);
  background: var(--jig-bg-card);
}
.jig-review__product {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
.jig-review__product img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: var(--jig-radius);
  background: #fff;
}
.jig-review .jig-review__name {
  float: none;
  margin: 0;
  padding: 0;
  font-weight: 600;
  color: var(--jig-text);
}
.jig-review__stars {
  display: inline-flex;
  flex-direction: row-reverse; /* inputs run 5..1 so ~ can light the lower stars */
  gap: 2px;
  margin: 0 0 10px;
}
.jig-review__stars input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.jig-review__stars label {
  font-size: 32px;
  line-height: 1;
  color: rgba(28, 25, 23, 0.18) !important;
  cursor: pointer;
  transition: color 0.15s ease;
}
.jig-review__stars input:checked ~ label,
.jig-review__stars label:hover,
.jig-review__stars label:hover ~ label {
  color: var(--jig-gold) !important;
}
.jig-review__stars input:focus-visible + label {
  outline: 2px solid var(--jig-gold);
  outline-offset: 2px;
  border-radius: 4px;
}
.jig-review__item textarea,
.jig-review__author input {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(28, 25, 23, 0.18);
  border-radius: var(--jig-radius);
  background: #fff;
  font-size: 15px;
}
.jig-review__author label {
  display: block;
  margin: 8px 0 6px;
  font-size: 14px;
  font-weight: 600;
}
.jig-review .jig-review__submit {
  height: 48px;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: var(--jig-radius) !important;
  background: var(--jig-text) !important;
  color: #fff !important;
  font-family: var(--jig-font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
.jig-review .jig-review__submit::before {
  content: none !important;
}
.jig-review .jig-review__submit:hover {
  background: #3a3532 !important;
}
.jig-review__done a,
.jig-review .jig-review__more {
  color: var(--jig-text) !important;
  text-decoration: underline;
}

/* "Dažnai perkama kartu" (inc/accessories.php): room before the related products */
.jig-together {
  margin-bottom: 56px;
}

/* Product cards on phones: the bottom-aligned button keeps the phone margins (the desktop rule
   above is more specific than the original 480px rule, which pushed the button off-centre) */
@media (max-width: 480px) {
  .woocommerce ul.products li.product .astra-shop-summary-wrap a.button {
    margin: auto 12px 14px !important; /* the desktop rule is !important too */
  }
}
