/* Blog sidebar layout */
.blog-layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 28px;
  align-items: start;
  width: 100%;
  box-sizing: border-box;
  margin: 30px 0 !important;
  padding: 20px;
  max-width: 1200px;
  justify-content: start;
}

.entry-content .blog-layout,
.blog-layout {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

.blog-layout > .blog-sidebar {
  grid-column: 1 / 2 !important;
  width: 280px !important;
  max-width: 280px !important;
  min-width: 280px !important;
  justify-self: start !important;
  box-sizing: border-box;
}

.blog-sidebar-inner {
  position: sticky;
  top: 20px;
}

.blog-layout > .blog-content {
  grid-column: 2 / 3 !important;
  min-width: 0;
  width: 100%;
}

.sidebar-card {
  background: var(--bd-color-surface-soft);
  border-radius: var(--bd-radius-md);
  padding: 14px;
  margin-bottom: 16px;
  border: 1px solid var(--bd-color-border);
  box-shadow: var(--bd-shadow-sm);
  font-family: var(--bd-font-body);
  color: var(--bd-color-text);
}

.sidebar-card h4 {
  margin-bottom: 10px;
  font-size: 13px;
  color: var(--bd-color-primary);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.sidebar-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-list li {
  margin: 6px 0;
}

.sidebar-list a {
  display: block;
  text-decoration: none;
  color: var(--bd-color-primary);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
  font-family: inherit;
}

.sidebar-list a:hover {
  color: var(--bd-color-primary-hover);
  text-decoration: underline;
}

.sidebar-list .cat-name {
  display: block;
}

.sidebar-list .count {
  display: inline-block;
  color: var(--bd-color-text-muted);
  font-size: 12px;
  margin-left: 8px;
  font-weight: 500;
}

.recent-title {
  display: block;
  font-weight: 700;
  color: var(--bd-color-primary);
  font-size: 14px;
}

.mobile-cats-toggle {
  display: none;
  width: 140px;
  padding: 8px 12px;
  border-radius: var(--bd-radius-sm);
  border: 1px solid var(--bd-color-border);
  background: var(--bd-color-surface);
  cursor: pointer;
  font-weight: 700;
  color: var(--bd-color-primary);
  box-shadow: var(--bd-shadow-sm);
}

.mobile-cats-panel {
  display: none;
  margin-bottom: 12px;
}

.mobile-cats-panel.open {
  display: block;
}

@media (max-width: 900px) {
  .blog-layout {
    grid-template-columns: 1fr !important;
    padding: 12px;
  }

  .blog-layout > .blog-sidebar {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 12px;
  }

  .blog-sidebar-inner {
    position: static;
    top: auto;
  }

  .mobile-cats-toggle {
    display: flex;
  }

  .sidebar-card.recent-posts,
  .sidebar-card.categories.desktop-cats {
    display: none !important;
  }

  .mobile-cats-panel .sidebar-card {
    margin: 0 0 12px 0;
  }

  .sidebar-card {
    padding: 12px;
    border-radius: 10px;
  }

  .sidebar-list a {
    padding: 6px 4px;
  }
}

aside.blog-sidebar,
aside.blog-sidebar * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Buy now button */
.beta-buy-now-button {
  display: inline-flex;
  width: auto;
  min-height: 54px;
  margin-top: 0;
  padding: 14px 18px;
  flex: 1 1 220px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background-color: var(--bd-color-primary);
  color: #ffffff;
  border-radius: var(--bd-radius-sm);
  box-shadow: var(--bd-shadow-sm);
  font-weight: 700;
}

.beta-buy-now-button:hover,
.beta-buy-now-button:focus-visible {
  background-color: var(--bd-color-primary-hover);
}

.single-product form.cart :is(
  .single_add_to_cart_button,
  .beta-buy-now-button,
  #buy_now_button
) {
  min-height: 54px;
  padding: 14px 22px;
  align-items: center;
  justify-content: center;
  border-radius: var(--bd-radius-sm) !important;
  line-height: 1.25;
  text-align: center;
}

@media (max-width: 689.98px) {
  .single-product .entry-summary form.cart,
  .single-product form.variations_form .single_variation_wrap,
  .single-product form.variations_form .woocommerce-variation {
    width: 100% !important;
    max-width: none !important;
  }

  .single-product form.cart:not(.grouped_form),
  .single-product .woocommerce-variation-add-to-cart.variations_button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  .single-product form.cart .ct-cart-actions,
  .single-product .woocommerce-variation-add-to-cart.variations_button:not(:has(> .ct-cart-actions)) {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 12px;
    align-items: stretch;
  }

  .single-product form.cart .ct-cart-actions > .quantity,
  .single-product .woocommerce-variation-add-to-cart.variations_button:not(:has(> .ct-cart-actions)) > .quantity {
    grid-column: 1;
    width: 80px;
    margin: 0;
    justify-self: start;
  }

  .single-product form.cart .ct-cart-actions > .single_add_to_cart_button:not(.beta-buy-now-button, #buy_now_button),
  .single-product .woocommerce-variation-add-to-cart.variations_button:not(:has(> .ct-cart-actions)) > .single_add_to_cart_button:not(.beta-buy-now-button, #buy_now_button) {
    grid-column: 2;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    min-height: 58px;
    margin: 0;
    padding-inline: 16px;
    justify-self: stretch;
    border-radius: var(--bd-radius-sm) !important;
    white-space: nowrap;
  }

  .single-product form.cart .ct-cart-actions > :is(.beta-buy-now-button, #buy_now_button),
  .single-product .woocommerce-variation-add-to-cart.variations_button:not(:has(> .ct-cart-actions)) > :is(.beta-buy-now-button, #buy_now_button),
  .single-product form.cart > :is(.beta-buy-now-button, #buy_now_button) {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: none !important;
    min-height: 58px;
    margin: 0;
    justify-self: stretch;
    border-radius: var(--bd-radius-sm) !important;
    white-space: nowrap;
  }

  .single-product form.cart > :is(.beta-buy-now-button, #buy_now_button) {
    margin-top: 12px !important;
  }
}

.mb-blog-page {
  max-width: var(--bd-blog-container-max-width);
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

@media (min-width: 901px) {
  .mb-blog-page {
    display: grid;
    grid-template-columns: var(--bd-sidebar-width) 1fr;
    gap: var(--bd-blog-gap);
    align-items: start;
  }
}

.mb-sidebar {
  background: var(--bd-color-surface-soft);
  border-radius: var(--bd-blog-radius);
  padding: 18px;
  border: 1px solid var(--bd-color-border);
  box-shadow: var(--bd-shadow-md);
  box-sizing: border-box;
  font-family: var(--bd-blog-menu-font-family);
  color: #1e3f2f;
}

@media (min-width: 901px) {
  .mb-sidebar {
    position: sticky;
    top: 20px;
  }
}

.mb-sidebar h3 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0.6px;
  color: var(--bd-blog-menu-accent);
}

.mb-sidebar ul {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.mb-sidebar li {
  margin-bottom: 8px;
}

.mb-sidebar a {
  text-decoration: none;
  color: var(--bd-blog-menu-accent);
  font-size: 13px;
  display: block;
  font-weight: 600;
}

.mb-sidebar a:hover {
  color: var(--bd-color-primary-hover);
}

.mb-recent-desktop {
  display: none;
}

.mb-recent-mobile {
  display: block;
}

@media (min-width: 901px) {
  .mb-recent-desktop {
    display: block;
  }

  .mb-recent-mobile {
    display: none;
  }
}

.mb-posts-grid {
  display: grid;
  gap: 24px;
  box-sizing: border-box;
  margin-bottom: 18px;
}

@media (min-width: 901px) {
  .mb-posts-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .mb-posts-grid {
    grid-template-columns: 1fr;
  }
}

.mb-post-card {
  background: var(--bd-color-surface);
  border-radius: var(--bd-blog-radius);
  padding: 22px;
  min-height: 180px;
  border: 1px solid var(--bd-color-border);
  box-shadow: var(--bd-shadow-md);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  font-family: var(--bd-blog-posts-font-family);
  color: var(--bd-color-text);
}

.mb-post-card h4 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.15;
  color: var(--bd-blog-post-title-color);
  font-weight: 800;
}

.mb-post-card p {
  font-size: 15px;
  color: var(--bd-color-text-muted);
  line-height: 1.45;
  margin: 0;
}

.mb-post-card a {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}

.mb-pagination {
  text-align: center;
  margin-top: 6px;
}

.mb-pagination .page-numbers {
  display: inline-block;
  margin: 0 6px;
  padding: 8px 12px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-color-surface);
  border: 1px solid var(--bd-color-border);
  text-decoration: none;
  color: var(--bd-color-heading);
  font-weight: 600;
}

.mb-pagination .page-numbers.current {
  background: var(--bd-color-heading);
  color: #fff;
  border-color: transparent;
}

.mb-pagination .page-numbers.prev,
.mb-pagination .page-numbers.next {
  font-weight: 700;
}

.mb-pagination .page-numbers:hover {
  box-shadow: var(--bd-shadow-sm);
}

@media (max-width: 480px) {
  .mb-pagination .page-numbers {
    padding: 6px 8px;
    margin: 0 4px;
  }
}

@media (max-width: 900px) {
  .mb-sidebar {
    margin-bottom: 22px;
  }
}

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

/* Native Blocksy blog archive */
body.blog {
  --bd-native-blog-card-min-height: 100%;
  --bd-native-blog-header-offset: 82px;
}

body.blog #main {
  padding-top: var(--bd-native-blog-header-offset);
}

body.blog #main > .ct-container,
body.blog #main > .ct-container-full > .ct-container {
  width: min(100% - 32px, var(--bd-blog-container-max-width));
}

body.blog [data-prefix="blog"] .hero-section[data-type] .entry-header,
body.blog .hero-section[data-type] .entry-header {
  padding-block: clamp(28px, 5vw, 56px) clamp(20px, 3vw, 32px) !important;
}

body.blog [data-prefix="blog"] .hero-section[data-type] .page-title,
body.blog .hero-section[data-type] .page-title {
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

body.blog [data-prefix="blog"] .hero-section[data-type] .page-title::after,
body.blog .hero-section[data-type] .page-title::after {
  display: block;
  width: 72px;
  height: 4px;
  margin: 16px auto 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-color-accent);
  content: "";
}

body.blog .entries[data-archive="default"] {
  --grid-columns-gap: clamp(18px, 2.4vw, 30px);
  --grid-rows-gap: clamp(20px, 2.8vw, 34px);
  --card-inner-spacing: 0px;
  --theme-border-radius: var(--bd-radius-md);
  --theme-box-shadow: var(--bd-shadow-md);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  margin: var(--bd-native-blog-header-offset) 0 clamp(38px, 6vw, 72px) !important;
}

body.blog .entries[data-archive="default"] > article.entry-card {
  --bd-native-blog-card-padding: clamp(20px, 2.2vw, 28px);
  display: flex !important;
  min-width: 0;
  min-height: var(--bd-native-blog-card-min-height);
  overflow: hidden;
  flex-direction: column !important;
  gap: 0 !important;
  padding: var(--bd-native-blog-card-padding) !important;
  color: var(--bd-color-text);
  border: 1px solid var(--bd-color-border) !important;
  border-radius: var(--bd-radius-md) !important;
  background: var(--bd-color-surface) !important;
  box-shadow: var(--bd-shadow-md) !important;
  text-align: left;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.blog .entries[data-archive="default"] > article.entry-card:hover,
body.blog .entries[data-archive="default"] > article.entry-card:focus-within {
  border-color: var(--bd-color-border-strong) !important;
  box-shadow: var(--bd-shadow-lg) !important;
  transform: translateY(-4px);
}

body.blog .entries[data-archive="default"] .ct-media-container {
  order: -1;
  width: calc(100% + var(--bd-native-blog-card-padding) + var(--bd-native-blog-card-padding)) !important;
  max-width: none !important;
  aspect-ratio: 16 / 10;
  margin: calc(var(--bd-native-blog-card-padding) * -1) calc(var(--bd-native-blog-card-padding) * -1) 20px !important;
  overflow: hidden;
  border-radius: var(--bd-radius-md) var(--bd-radius-md) 0 0 !important;
  background: var(--bd-color-surface-soft);
  box-shadow: none;
}

body.blog .entries[data-archive="default"] .ct-media-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 180ms ease;
}

body.blog .entries[data-archive="default"] > article.entry-card:hover .ct-media-container img {
  transform: scale(1.04);
}

body.blog .entries[data-archive="default"] .entry-title {
  margin-bottom: 12px !important;
  color: var(--bd-color-heading) !important;
  font-family: var(--bd-font-heading);
  font-size: clamp(21px, 1.8vw, 27px);
  line-height: 1.13;
}

body.blog .entries[data-archive="default"] .entry-title a {
  color: inherit;
  text-decoration: none;
}

body.blog .entries[data-archive="default"] .entry-title a:hover,
body.blog .entries[data-archive="default"] .entry-title a:focus-visible {
  color: var(--bd-color-primary);
}

body.blog .entries[data-archive="default"] .entry-meta {
  gap: 8px 12px;
  margin-bottom: 12px !important;
  color: var(--bd-color-text-muted);
  font-family: var(--bd-font-body);
  font-size: 13px;
  line-height: 1.35;
}

body.blog .entries[data-archive="default"] .entry-meta:first-of-type {
  margin-bottom: 16px !important;
  color: var(--bd-color-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.blog .entries[data-archive="default"] .entry-meta:first-of-type a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid color-mix(in srgb, var(--bd-color-primary) 24%, transparent);
  border-radius: var(--bd-radius-pill);
  background: color-mix(in srgb, var(--bd-color-primary) 8%, white);
}

body.blog .entries[data-archive="default"] .entry-meta:last-of-type {
  width: 100%;
  margin-top: auto !important;
  padding-top: 16px;
  border-top: 1px solid var(--bd-color-border);
}

body.blog .entries[data-archive="default"] .entry-meta a,
body.blog .entries[data-archive="default"] [data-type="pill"] a {
  color: var(--bd-color-primary);
  font-weight: 700;
  text-decoration: none;
}

body.blog .entries[data-archive="default"] [data-type="pill"] {
  border-radius: var(--bd-radius-pill);
  background: var(--bd-color-surface-soft);
}

body.blog .entries[data-archive="default"] .entry-excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 18px !important;
  color: var(--bd-color-text-muted);
  font-family: var(--bd-font-body);
  font-size: 15px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

body.blog .entries[data-archive="default"] .entry-button,
body.blog .entries[data-archive="default"] .entry-button-container {
  margin-top: auto !important;
  padding-top: 18px;
}

body.blog .entries[data-archive="default"] .entry-button,
body.blog .entries[data-archive="default"] .entry-button a {
  width: fit-content;
  border-radius: var(--bd-radius-sm) !important;
  color: var(--bd-color-surface) !important;
  border-color: var(--bd-color-primary) !important;
  background: var(--bd-color-primary) !important;
}

body.blog .ct-pagination {
  justify-content: center;
  margin-top: 0;
  margin-bottom: clamp(38px, 6vw, 72px);
}

body.blog .ct-pagination .page-numbers {
  border-radius: var(--bd-radius-sm);
  border-color: var(--bd-color-border);
  background: var(--bd-color-surface);
  color: var(--bd-color-heading);
  box-shadow: var(--bd-shadow-sm);
}

body.blog .ct-pagination .page-numbers.current,
body.blog .ct-pagination .page-numbers:not(.dots):hover,
body.blog .ct-pagination .page-numbers:not(.dots):focus-visible {
  color: var(--bd-color-surface) !important;
  border-color: var(--bd-color-primary) !important;
  background: var(--bd-color-primary) !important;
}

@media (max-width: 1050px) {
  body.blog .entries[data-archive="default"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 689.98px) {
  body.blog {
    --bd-native-blog-header-offset: 74px;
  }

  body.blog #main > .ct-container,
  body.blog #main > .ct-container-full > .ct-container {
    width: min(100% - 24px, var(--bd-blog-container-max-width));
  }

  body.blog .entries[data-archive="default"] {
    grid-template-columns: 1fr !important;
  }

  body.blog .entries[data-archive="default"] .ct-media-container {
    aspect-ratio: 4 / 3;
  }

  body.blog .entries[data-archive="default"] > article.entry-card {
    --bd-native-blog-card-padding: 18px;
  }
}

/* ── Variation price swatches ───────────────────────────────────────────── */

/*
 * Hide the native <select> visually but keep it in the layout so that
 * WooCommerce's jQuery (.variations select) can find it, read .val(), and
 * fire/receive 'change' events. display:none would break all of that.
 */
.bd-vs-select {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

/*
 * Hide the static price range ("6,35 € – 10,13 €") on variable products.
 * The dynamic price inside the form takes its role after selecting a swatch.
 */
.single-product .product-type-variable .entry-summary p.price,
.single-product .product-type-variable .entry-summary .price:not(.woocommerce-variation-price .price) {
  display: none !important;
}

/*
 * WooCommerce renders .woocommerce-variation-price inside .woocommerce-variation
 * inside the form, just above the add-to-cart button. Show it prominently.
 * WooCommerce itself shows/hides this block via JS when a variation is selected.
 */
.single-product .woocommerce-variation-price {
  margin-bottom: 14px;
}

.single-product .woocommerce-variation-price .price,
.single-product .product-type-simple .entry-summary p.price {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px 10px;
  align-items: baseline;
  font-size: 1.5rem !important;
  font-weight: 800;
  color: var(--bd-color-primary) !important;
}

.single-product .woocommerce-variation-price .price ins,
.single-product .product-type-simple .entry-summary p.price ins {
  text-decoration: none;
  color: var(--bd-color-primary);
}

.single-product .woocommerce-variation-price .price del {
  color: var(--bd-color-text-muted) !important;
  font-size: 1rem !important;
  font-weight: 500;
  opacity: 0.8;
}

/* Swatch buttons with price inside */
/* Swatch buttons with price inside */
.bd-vs-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.bd-vs-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 12px 16px;
  gap: 4px;
  border: 2px solid var(--bd-color-border);
  border-radius: var(--bd-radius-md);
  background: var(--bd-color-surface);
  color: var(--bd-color-text);
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease;
  font-family: var(--bd-font-body);
  text-align: center;
  line-height: 1.25;
}

.bd-vs-btn:hover,
.bd-vs-btn:focus-visible {
  border-color: var(--bd-color-primary);
  box-shadow: var(--bd-shadow-sm);
  outline: none;
}

.bd-vs-btn:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--bd-color-primary) 40%, transparent);
  outline-offset: 2px;
}

.bd-vs-btn.bd-vs-selected {
  border-color: var(--bd-color-primary);
  box-shadow: 0 0 0 1px var(--bd-color-primary);
  background: color-mix(in srgb, var(--bd-color-primary) 5%, white);
}

.bd-vs-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--bd-color-heading);
}

.bd-vs-prices {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}

.bd-vs-price-sale {
  font-size: 14px;
  font-weight: 800;
  color: var(--bd-color-primary);
}

.bd-vs-price-sale .woocommerce-Price-amount {
  font-size: inherit;
  color: inherit;
}

.bd-vs-price-regular {
  font-size: 12px;
  font-weight: 500;
  color: var(--bd-color-text-muted);
  text-decoration: line-through;
}

.bd-vs-price-regular .woocommerce-Price-amount {
  font-size: inherit;
  color: inherit;
}

/* Unavailable / out-of-stock swatch */
.bd-vs-btn.bd-vs-unavailable {
  opacity: 0.42;
  cursor: not-allowed;
  pointer-events: none;
}

/* Hide WooCommerce "Limpiar" / reset variations link */
.single-product .reset_variations {
  display: none !important;
}

/*
 * SKU and categories: hidden visually but kept in the DOM for search engines.
 * Google indexes this content even though users don't see it.
 */
.single-product .product_meta {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

/* Quantity input — same radius and height as the add-to-cart button */
.single-product .quantity .qty {
  height: 54px !important;
  border-radius: var(--bd-radius-sm) 0 0 var(--bd-radius-sm) !important;
  border: 2px solid var(--bd-color-border-strong) !important;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
}

/* Round the outer corners of Blocksy's absolute-positioned arrow spans */
.single-product .quantity .ct-increase {
  border-start-end-radius: var(--bd-radius-sm) !important;  /* top-right */
  border-end-end-radius: 0 !important;
}

.single-product .quantity .ct-decrease {
  border-end-end-radius: var(--bd-radius-sm) !important;    /* bottom-right */
  border-start-end-radius: 0 !important;
}

/* The whole quantity wrapper */
.single-product .quantity {
  height: 54px !important;
  border-radius: var(--bd-radius-sm) !important;
}

.single-product .quantity .ct-stepper-input {
  border-radius: var(--bd-radius-sm) !important;
  height: 54px !important;
  overflow: hidden;
}

@media (max-width: 480px) {
  .bd-vs-btn {
    min-width: 72px;
    padding: 10px 12px;
  }

  .bd-vs-label {
    font-size: 14px;
  }

  .bd-vs-price-sale {
    font-size: 13px;
  }
}

/* ── Product tabs accordion ─────────────────────────────────────────────── */

/*
 * The tabs section spans the full container width while the product top
 * (image + summary) sits inside a narrower grid. We match the tabs to that
 * same visual width by constraining and centring them the same way.
 */
.product > .woocommerce-tabs {
  box-sizing: border-box;
  width: 100%;
  padding-inline: 0;
  padding-top: 16px !important;
}

.product > .woocommerce-tabs > * {
  max-width: 1200px;
  margin-inline: auto;
}

.woocommerce-tabs .ct-accordion-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px !important;
  background: var(--bd-color-surface) !important;
  border: 1px solid var(--bd-color-border) !important;
  border-radius: var(--bd-radius-md) !important;
  margin-bottom: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--bd-color-heading) !important;
  transition: background 140ms ease, border-color 140ms ease;
}
.woocommerce-tabs .ct-accordion-heading:hover {
  background: var(--bd-color-surface-soft) !important;
  border-color: var(--bd-color-border-strong) !important;
}

/* Active / open accordion item */
.woocommerce-tabs .ct-tab.active .ct-accordion-heading,
.woocommerce-tabs li.active .ct-accordion-heading {
  background: var(--bd-color-surface-soft) !important;
  border-color: var(--bd-color-primary) !important;
  color: var(--bd-color-primary) !important;
  border-radius: var(--bd-radius-md) var(--bd-radius-md) 0 0 !important;
  margin-bottom: 0;
}

/* Panel content below active heading */
.woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 20px 28px !important;
  border: 1px solid var(--bd-color-primary) !important;
  border-top: none !important;
  border-radius: 0 0 var(--bd-radius-md) var(--bd-radius-md) !important;
  background: var(--bd-color-surface) !important;
  margin-bottom: 8px;
}
