/* ============================================================
   GEAN CORE — Shop Styles
   Design: Luxury minimalist / refined editorial
   Farby: krémová + zlatá + tmavá
   ============================================================ */

/* ── CSS Variables ──────────────────────────────────────── */
:root {
  --gc-cream:       #FAF8F5;
  --gc-cream-dark:  #F0EDE8;
  --gc-gold:        #C9A84C;
  --gc-gold-light:  #E8D5A0;
  --gc-dark:        #1A1A1A;
  --gc-mid:         #4A4A4A;
  --gc-muted:       #8A8A8A;
  --gc-border:      #E5E0D8;
  --gc-white:       #FFFFFF;
  --gc-success:     #2D7A4F;
  --gc-badge-new:   #1A6B8A;
  --gc-badge-sale:  #B5341E;
  --gc-badge-best:  #7B4F9E;

  --gc-radius-sm:   4px;
  --gc-radius-md:   8px;
  --gc-radius-lg:   12px;
  --gc-radius-pill: 999px;

  --gc-shadow-card: 0 2px 12px rgba(0,0,0,0.07), 0 0 0 1px rgba(0,0,0,0.04);
  --gc-shadow-hover:0 8px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(201,168,76,0.3);

  --gc-transition:  all 0.22s cubic-bezier(0.4,0,0.2,1);
  --gc-font-body:   'Georgia', 'Times New Roman', serif;
  --gc-font-ui:     -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Screen reader only ──────────────────────────────────── */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ── Shop Layout: sidebar + main ────────────────────────── */

/* Hlavný WooCommerce container — reset paddingy aby sme mali kontrolu */
.woocommerce-page .woocommerce,
.woocommerce .woocommerce-page {
  padding: 0;
}

/* Náš layout wrapper */
.gean-shop-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  width: 100%;
}

/* WC vkladá obsah do .woocommerce — zabezpečíme aby sa nič neprekrývalo */
.gean-shop-layout + * {
  clear: both;
}

/* ── Filters Sidebar ─────────────────────────────────────── */
.gean-filters {
  width: 250px;
  min-width: 220px;
  max-width: 260px;
  flex-shrink: 0;
  background: var(--gc-white);
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius-lg);
  padding: 24px 20px;
  position: sticky;
  top: 24px;
  font-family: var(--gc-font-ui);
  align-self: flex-start;
  box-sizing: border-box;
}

.gean-filters-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.gean-filters-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gc-dark);
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.gean-filters-title svg {
  width: 14px; height: 14px;
  stroke: var(--gc-gold);
}

.gean-filters-reset {
  background: none;
  border: none;
  font-size: 12px;
  color: var(--gc-gold);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  font-family: var(--gc-font-ui);
}

.gean-filter-group {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--gc-border);
}

.gean-filter-group:last-of-type {
  border-bottom: none;
}

.gean-filter-group-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gc-muted);
  margin: 0 0 12px;
}

.gean-filter-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gean-filter-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: var(--gc-radius-sm);
  cursor: pointer;
  font-size: 14px;
  color: var(--gc-mid);
  transition: var(--gc-transition);
  user-select: none;
}

.gean-filter-option:hover {
  background: var(--gc-cream);
  color: var(--gc-dark);
}

.gean-filter-option.is-active {
  background: var(--gc-cream-dark);
  color: var(--gc-dark);
  font-weight: 500;
}

.gean-radio-dot {
  width: 14px; height: 14px;
  border: 2px solid var(--gc-border);
  border-radius: 50%;
  flex-shrink: 0;
  transition: var(--gc-transition);
  position: relative;
}

.gean-filter-option.is-active .gean-radio-dot {
  border-color: var(--gc-gold);
  background: var(--gc-gold);
  box-shadow: inset 0 0 0 2px var(--gc-white);
}

.gean-filter-count {
  margin-left: auto;
  font-size: 11px;
  color: var(--gc-muted);
  background: var(--gc-cream-dark);
  padding: 1px 6px;
  border-radius: var(--gc-radius-pill);
}

/* ── Price Range Slider ─────────────────────────────────── */
.gean-range-track {
  position: relative;
  height: 4px;
  background: var(--gc-cream-dark);
  border-radius: 2px;
  margin: 12px 0 8px;
}

.gean-range-fill {
  position: absolute;
  height: 100%;
  background: var(--gc-gold);
  border-radius: 2px;
  pointer-events: none;
}

.gean-range-input {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 4px;
  background: transparent;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
}

.gean-range-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--gc-gold);
  border: 2px solid var(--gc-white);
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
  pointer-events: all;
  transition: transform 0.15s ease;
}

.gean-range-input::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

.gean-range-input::-moz-range-thumb {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--gc-gold);
  border: 2px solid var(--gc-white);
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
  pointer-events: all;
}

.gean-range-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
}

.gean-range-val {
  font-size: 13px;
  font-weight: 500;
  color: var(--gc-dark);
  font-family: var(--gc-font-ui);
}

/* ── Shop Main Area ──────────────────────────────────────── */
.gean-shop-main {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* WC default loop ul */
.gean-shop-main ul.products {
  margin: 0 !important;
}

/* ── Toolbar ────────────────────────────────────────────── */
.gean-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--gc-border);
  font-family: var(--gc-font-ui);
  gap: 12px;
  flex-wrap: wrap;
}

.gean-results-count {
  font-size: 14px;
  color: var(--gc-muted);
  margin: 0;
}

.gean-results-count strong {
  color: var(--gc-dark);
}

.gean-sort-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gean-sort-select {
  font-size: 14px;
  font-family: var(--gc-font-ui);
  color: var(--gc-dark);
  background: var(--gc-white);
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius-md);
  padding: 7px 32px 7px 12px;
  cursor: pointer;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A8A8A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  transition: border-color 0.2s;
}

.gean-sort-select:hover,
.gean-sort-select:focus {
  border-color: var(--gc-gold);
}

/* ── Product Grid ────────────────────────────────────────── */
.woocommerce-page ul.products,
ul.products.columns-3,
ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ── Product Card ─────────────────────────────────────────── */
.gean-product-card {
  background: var(--gc-white);
  border-radius: var(--gc-radius-lg);
  overflow: hidden;
  box-shadow: var(--gc-shadow-card);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  font-family: var(--gc-font-ui);
}

.gean-product-card:hover {
  box-shadow: var(--gc-shadow-hover);
  transform: translateY(-3px);
}

/* Badge */
.gean-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: var(--gc-radius-pill);
  font-family: var(--gc-font-ui);
}

.gean-badge--new      { background: var(--gc-badge-new);  color: #fff; }
.gean-badge--sale     { background: var(--gc-badge-sale); color: #fff; }
.gean-badge--bestseller { background: var(--gc-badge-best); color: #fff; }

/* Image */
.gean-card-image-link {
  display: block;
  text-decoration: none;
}

.gean-card-image-wrap {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--gc-cream);
}

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

.gean-product-card:hover .gean-card-img {
  transform: scale(1.06);
}

/* Body */
.gean-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 4px;
}

.gean-card-category {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gc-gold);
  margin: 0;
}

.gean-card-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--gc-dark);
  margin: 0;
  line-height: 1.4;
  font-family: var(--gc-font-ui);
}

.gean-card-title a {
  color: inherit;
  text-decoration: none;
}

.gean-card-title a:hover {
  color: var(--gc-gold);
}

.gean-card-price {
  font-size: 16px;
  font-weight: 600;
  color: var(--gc-dark);
  margin: 4px 0 0;
}

.gean-card-price del {
  color: var(--gc-muted);
  font-size: 13px;
  font-weight: 400;
  margin-right: 4px;
}

.gean-card-price ins {
  text-decoration: none;
  color: var(--gc-badge-sale);
}

.gean-card-footer {
  margin-top: auto;
  padding-top: 12px;
}

/* ── Buttons ─────────────────────────────────────────────── */
.gean-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--gc-font-ui);
  letter-spacing: 0.04em;
  border-radius: var(--gc-radius-md);
  cursor: pointer;
  transition: var(--gc-transition);
  border: none;
  text-decoration: none;
  white-space: nowrap;
}

.gean-btn--cart {
  background: var(--gc-dark);
  color: var(--gc-white);
}

.gean-btn--cart:hover {
  background: var(--gc-gold);
  color: var(--gc-white);
}

.gean-btn--cart.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.gean-btn--cart.is-added {
  background: var(--gc-success);
  color: var(--gc-white);
}

.gean-btn--options {
  background: transparent;
  color: var(--gc-dark);
  border: 1.5px solid var(--gc-border);
}

.gean-btn--options:hover {
  border-color: var(--gc-gold);
  color: var(--gc-gold);
}

.gean-btn--apply {
  width: 100%;
  background: var(--gc-dark);
  color: var(--gc-white);
  margin-top: 8px;
  border-radius: var(--gc-radius-md);
}

.gean-btn--apply:hover {
  background: var(--gc-gold);
}

.gean-cart-icon {
  width: 15px; height: 15px;
  flex-shrink: 0;
}

/* ── Load More ───────────────────────────────────────────── */
.gean-load-more-wrap {
  display: flex;
  justify-content: center;
  padding: 40px 0 20px;
}

.gean-btn--loadmore {
  background: transparent;
  border: 1.5px solid var(--gc-border);
  color: var(--gc-dark);
  padding: 12px 40px;
  font-size: 14px;
  width: auto;
  gap: 10px;
  border-radius: var(--gc-radius-pill);
}

.gean-btn--loadmore:hover {
  border-color: var(--gc-gold);
  color: var(--gc-gold);
}

.gean-btn--loadmore.is-loading .gean-loadmore-text { opacity: 0.5; }

.gean-loadmore-spinner {
  display: none;
  width: 16px; height: 16px;
  border: 2px solid var(--gc-border);
  border-top-color: var(--gc-gold);
  border-radius: 50%;
  animation: gean-spin 0.7s linear infinite;
}

.gean-btn--loadmore.is-loading .gean-loadmore-spinner { display: block; }

@keyframes gean-spin {
  to { transform: rotate(360deg); }
}

.gean-load-more-wrap[data-done="true"] .gean-btn--loadmore {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}

.gean-section-title {
  font-size: 22px;
  font-weight: 600;
  color: var(--gc-dark);
  margin: 0 0 24px;
  font-family: var(--gc-font-ui);
  position: relative;
  padding-bottom: 12px;
}

.gean-section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 2px;
  background: var(--gc-gold);
  border-radius: 1px;
}

/* ── AJAX Loading overlay ────────────────────────────────── */
.gean-grid-loading {
  position: relative;
  pointer-events: none;
}

.gean-grid-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.7);
  z-index: 10;
  border-radius: var(--gc-radius-md);
}

/* ── Empty state ─────────────────────────────────────────── */
.gean-no-results {
  text-align: center;
  padding: 64px 24px;
  color: var(--gc-muted);
  font-family: var(--gc-font-ui);
  grid-column: 1 / -1;
}

.gean-no-results svg {
  width: 48px; height: 48px;
  stroke: var(--gc-border);
  margin-bottom: 16px;
}

.gean-no-results p {
  font-size: 16px;
  margin: 0;
}

/* Skry default WC/Blocksy output v loop item */
.woocommerce-page ul.products li.product > figure,
.woocommerce-page ul.products li.product > h2,
.woocommerce-page ul.products li.product > .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product > .entry-excerpt,
.woocommerce-page ul.products li.product > .ct-woo-card-actions,
.woocommerce-page ul.products li.product > .ct-woo-card-stock,
.woocommerce-page ul.products li.product > .price,
.woocommerce-page ul.products li.product > .woocommerce-loop-product__link {
  display: none !important;
}

/* ── Nav categories ─────────────────────────────────────── */
.gean-nav-categories {
  width: 100%;
  max-width: var(--theme-block-max-width, 1200px);
  margin: 32px auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.gean-nav-cats-grid {
  display: grid;
  --gean-nav-cols: auto-fill;
  grid-template-columns: repeat(var(--gean-nav-cols), minmax(150px, 1fr));
  gap: 16px;
}
.gean-nav-cat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  background: var(--gc-white);
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius-lg);
  text-decoration: none;
  color: var(--gc-dark);
  transition: all 0.22s ease;
  text-align: center;
}
.gean-nav-cat-card:hover {
  border-color: var(--gc-gold);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.gean-nav-cat-icon { font-size: 32px; line-height: 1; }
.gean-nav-cat-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--gc-dark);
  font-family: var(--gc-font-ui);
}
.gean-nav-cat-count {
  font-size: 11px;
  color: var(--gc-muted);
  font-family: var(--gc-font-ui);
}

/* ── Bestsellers Shortcode ───────────────────────────────── */
.gean-bestsellers {
  width: 100%;
  max-width: var(--theme-block-max-width, 1200px);
  margin: 32px auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.gean-bestsellers-slider {
  position: relative;
}
.gean-bestsellers-viewport {
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-left: 48px;
  padding-right: 48px;
  scrollbar-width: none;
}
.gean-bestsellers-viewport::-webkit-scrollbar {
  display: none;
}
.gean-bestsellers-grid {
  display: flex;
  gap: 24px;
  padding: 4px 2px 8px;
  margin: 0;
}
.gean-bestsellers-grid > .gean-product-card {
  flex: 0 0 clamp(180px, 22vw, 260px);
}
.gean-slider-prev,
.gean-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--gc-border);
  background: var(--gc-white);
  color: var(--gc-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  z-index: 2;
}
.gean-slider-prev { left: 0; }
.gean-slider-next { right: 0; }
.gean-slider-prev svg,
.gean-slider-next svg {
  width: 18px;
  height: 18px;
}
.gean-slider-prev.is-visible,
.gean-slider-next.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.gean-slider-prev:hover {
  transform: translateY(-50%) translateX(-2px);
  border-color: var(--gc-gold);
}
.gean-slider-next:hover {
  transform: translateY(-50%) translateX(2px);
  border-color: var(--gc-gold);
}

/* ── Section subtitle ───────────────────────────────────── */
.gean-section-subtitle {
  font-size: 15px;
  color: var(--gc-muted);
  margin: -12px 0 24px;
  font-family: var(--gc-font-ui);
}

/* ── Mobile filter toggle ────────────────────────────────── */
.gean-mobile-filter-btn {
  display: none;
  align-items: center;
  gap: 6px;
  background: var(--gc-white);
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius-md);
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  font-family: var(--gc-font-ui);
  color: var(--gc-dark);
}

/* ── Cart Progress ─────────────────────────────────────── */
.gean-cart-progress-fragment {
  margin-bottom: 20px;
}
.gean-cart-progress {
  background: var(--gc-cream);
  border: 1px solid var(--gc-border);
  border-radius: var(--gc-radius-md);
  padding: 18px;
  margin-bottom: 0;
  font-family: var(--gc-font-ui);
  box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}
.gean-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.gean-progress-message {
  font-size: 13px;
  color: var(--gc-mid);
  margin: 0;
  text-align: left;
}
.gean-progress-percent {
  font-size: 11px;
  font-weight: 600;
  color: var(--gc-dark);
  background: var(--gc-cream-dark);
  padding: 4px 8px;
  border-radius: var(--gc-radius-pill);
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.gean-progress-track {
  height: 8px;
  background: linear-gradient(90deg, #F5F1EA, #EDE7DD);
  border-radius: var(--gc-radius-pill);
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.04);
}
.gean-progress-fill {
  height: 100%;
  border-radius: var(--gc-radius-pill);
  transition: width 0.5s cubic-bezier(0.4,0,0.2,1);
  background: linear-gradient(90deg, #D87A3C, #C9A84C);
}
.gean-cart-progress--min .gean-progress-fill {
  background: linear-gradient(90deg, #B5341E, #D87A3C);
}
.gean-cart-progress--mid .gean-progress-fill {
  background: linear-gradient(90deg, #C9A84C, #E8D5A0);
}
.gean-cart-progress--free .gean-progress-fill {
  background: linear-gradient(90deg, #2D7A4F, #3FA56C);
}
.gean-progress-milestones {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  font-size: 11px;
  color: var(--gc-muted);
}
.gean-progress-milestone {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.gean-progress-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gc-cream-dark);
  border: 1px solid var(--gc-border);
}
.gean-progress-label {
  font-weight: 600;
  color: var(--gc-mid);
}
.gean-progress-milestone.is-current .gean-progress-dot,
.gean-progress-milestone.is-active .gean-progress-dot {
  background: var(--gc-gold);
  border-color: var(--gc-gold);
}
.gean-cart-progress--min .gean-progress-milestone.is-current .gean-progress-dot {
  background: #D87A3C;
  border-color: #D87A3C;
}
.gean-cart-progress--free .gean-progress-milestone.is-active .gean-progress-dot {
  background: #2D7A4F;
  border-color: #2D7A4F;
}
.gean-progress-milestone.is-current .gean-progress-label,
.gean-progress-milestone.is-active .gean-progress-label {
  color: var(--gc-dark);
}

@media (max-width: 640px) {
  .gean-progress-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .gean-progress-percent {
    align-self: flex-start;
  }
  .gean-progress-milestones {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* ── Checkout blocker ──────────────────────────────────── */
.checkout-button.gean-checkout-blocked {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  filter: grayscale(40%);
}

/* ── Promo Bar ─────────────────────────────────────────── */
.gean-promo-bar {
  width: 100%;
  padding: 8px 16px;
  text-align: center;
  font-size: 13px;
  font-family: var(--gc-font-ui);
  position: relative;
  z-index: 9999;
}
.gean-promo-bar a {
  color: inherit;
  text-decoration: none;
}
.gean-promo-bar a:hover {
  text-decoration: underline;
}
.gean-promo-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  max-width: 1320px;
  margin: 0 auto;
}
.gean-promo-close {
  background: none;
  border: none;
  color: inherit;
  font-size: 18px;
  cursor: pointer;
  opacity: 0.7;
  padding: 0;
  line-height: 1;
  position: absolute;
  right: 16px;
}
.gean-promo-close:hover { opacity: 1; }

/* ── Posta action buttons ───────────────────────────────── */
.gean-posta-action {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  .gean-shop-layout {
    flex-direction: column;
  }

  .gean-filters {
    width: 100%;
    position: static;
    display: none;
  }

  .gean-filters.is-open {
    display: block;
  }

  .gean-mobile-filter-btn {
    display: inline-flex;
  }

  ul.products.columns-3,
  ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .gean-shop-layout {
    padding: 0 16px;
  }

  ul.products.columns-3,
  ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .gean-card-body {
    padding: 12px;
  }

  .gean-card-title {
    font-size: 13px;
  }

  .gean-bestsellers-grid {
    gap: 12px;
  }
  .gean-bestsellers-grid > .gean-product-card {
    flex-basis: clamp(160px, 70vw, 220px);
  }
  .gean-bestsellers-viewport {
    padding-left: 40px;
    padding-right: 40px;
  }
  .gean-slider-prev,
  .gean-slider-next {
    width: 32px;
    height: 32px;
  }

}
