/* Orchestra Books child theme v4.1 — compact book page and five-column catalogue */

/* Stronger, clearer navigation. */
.ob-primary-menu a {
  font-size: 15px;
  font-weight: 820;
  letter-spacing: .005em;
}
.ob-primary-menu .sub-menu a {
  font-size: 14px;
  font-weight: 760;
}
.ob-subject-nav__inner {
  min-height: 38px;
  gap: 28px;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .085em;
}
.ob-subject-nav a { color: rgba(244,236,222,.82); }

/* --------------------------------------------------------------------------
   Single book: compact three-column layout inspired by Majd / Kunooz
-------------------------------------------------------------------------- */
body.single-product { background: var(--ob-paper); }
.obp-single,
.obp-single * { box-sizing: border-box; }
.obp-single {
  padding: 22px 0 84px;
  color: var(--ob-text);
  background: var(--ob-paper);
}
.obp-single__notices { margin-bottom: 16px; }
.obp-breadcrumbs {
  margin: 0 0 18px;
  padding: 10px 14px;
  border: 1px solid rgba(31,22,17,.10);
  border-radius: 10px;
  background: rgba(255,255,255,.72);
  color: var(--ob-muted);
  font-size: 12px;
  line-height: 1.5;
}
.obp-breadcrumbs .woocommerce-breadcrumb { margin: 0; color: inherit; }
.obp-breadcrumbs a { color: var(--ob-gold-dark); text-decoration: none; }

.obp-product__hero {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(280px, 320px);
  gap: 26px;
  align-items: start;
  padding: 26px;
  border: 1px solid rgba(31,22,17,.13);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(31,22,17,.07);
}

.obp-cover { min-width: 0; }
.obp-cover__stage {
  min-height: 360px;
  display: grid;
  place-items: center;
  padding: 18px;
  border: 1px solid rgba(113,77,34,.12);
  border-radius: 15px;
  background: linear-gradient(150deg, #f7efe3, #fff 70%);
}
.obp-cover__stage > a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.obp-cover__image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 390px;
  object-fit: contain;
  border-radius: 3px;
  box-shadow: 0 14px 32px rgba(31,22,17,.18);
}
.obp-cover__placeholder {
  width: 80%;
  min-height: 320px;
  display: grid;
  place-items: center;
  border-radius: 4px;
  background: var(--ob-leather);
  color: var(--ob-gold-light);
  font-family: var(--font-heading, Georgia, serif);
  font-size: 24px;
}
.obp-cover__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.obp-cover__thumb {
  aspect-ratio: 1;
  padding: 4px;
  border: 1px solid var(--ob-line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}
.obp-cover__thumb.is-active {
  border-color: var(--ob-gold);
  box-shadow: 0 0 0 2px rgba(199,156,82,.13);
}
.obp-cover__thumb img { width: 100%; height: 100%; object-fit: contain; }

.obp-summary { min-width: 0; padding: 3px 0; }
.obp-summary__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 13px;
}
.obp-summary__categories a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(113,77,34,.14);
  border-radius: 999px;
  background: var(--ob-cream);
  color: var(--ob-gold-dark);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}
.obp-summary__title {
  margin: 0 0 11px;
  color: var(--ob-ink);
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(34px, 3.5vw, 52px);
  font-weight: 560;
  letter-spacing: -.025em;
  line-height: 1.06;
  overflow-wrap: anywhere;
}
.obp-summary__author {
  margin: 0 0 9px;
  color: var(--ob-muted);
  font-size: 15px;
}
.obp-summary__author a,
.obp-summary__author strong {
  color: var(--ob-ink);
  font-family: var(--font-heading, Georgia, serif);
  font-size: 19px;
  font-weight: 650;
  text-decoration: none;
}
.obp-summary__meta {
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(31,22,17,.11);
  color: var(--ob-muted);
  font-size: 12px;
  line-height: 1.65;
}
.obp-summary__lead {
  color: var(--ob-text);
  font-size: 16px;
  line-height: 1.72;
}
.obp-summary__lead p { margin: 0 0 12px; }
.obp-summary__lead > :last-child { margin-bottom: 0; }
.obp-quick-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 0;
}
.obp-quick-facts > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(31,22,17,.10);
  border-radius: 10px;
  background: #fcfaf6;
}
.obp-quick-facts dt {
  margin-bottom: 3px;
  color: var(--ob-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.obp-quick-facts dd {
  margin: 0;
  color: var(--ob-ink);
  font-size: 13px;
  font-weight: 760;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.obp-summary__read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 17px;
  color: var(--ob-gold-dark) !important;
  font-size: 13px;
  font-weight: 820;
  text-decoration: none !important;
}

.obp-buy {
  position: sticky;
  top: 142px;
  padding: 20px;
  border: 1px solid rgba(113,77,34,.18);
  border-radius: 17px;
  background: var(--ob-cream);
}
.obp-buy__stock { margin-bottom: 10px; }
.obp-buy__stock .orchestra-stock,
.obp-buy__stock .stock {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(36,104,67,.09);
  color: #246843;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.obp-buy__stock .out-of-stock { background: rgba(142,47,47,.09); color: #8e2f2f; }
.obp-buy__price { margin-bottom: 14px; }
.obp-buy__price .price,
.obp-buy__price > .amount {
  color: var(--ob-ink);
  font-family: var(--font-heading, Georgia, serif);
  font-size: 30px;
  font-weight: 680;
  line-height: 1.1;
}
.obp-buy__price del { margin-right: 7px; opacity: .5; font-size: 17px; }
.obp-buy__price ins { text-decoration: none; }
.obp-buy__cart form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 !important;
}
.obp-buy__cart form.cart::before,
.obp-buy__cart form.cart::after { display: none !important; }
.obp-buy__cart .quantity { float: none !important; margin: 0 !important; }
.obp-buy__cart .qty {
  width: 68px !important;
  min-height: 46px;
  border: 1px solid rgba(31,22,17,.18) !important;
  border-radius: 10px !important;
  background: #fff;
  color: var(--ob-ink);
  font-weight: 800;
}
.obp-buy__cart .single_add_to_cart_button,
.obp-buy__cart .button {
  flex: 1 1 150px;
  min-height: 46px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--ob-leather) !important;
  color: var(--ob-cream) !important;
  font-family: var(--font-body, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}
.obp-buy__cart .single_add_to_cart_button:hover,
.obp-buy__cart .button:hover { background: var(--ob-gold-dark) !important; }
.obp-buy__cart table.variations { width: 100%; margin: 0 0 10px; }
.obp-buy__cart table.variations th,
.obp-buy__cart table.variations td { padding: 4px 0; text-align: left; }
.obp-buy__cart table.variations select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--ob-line);
  border-radius: 9px;
  background: #fff;
}
.obp-buy__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid rgba(113,77,34,.14);
  font-size: 12px;
}
.obp-buy__links a { color: var(--ob-ink) !important; font-weight: 780; }
.obp-buy__wishlist .yith-wcwl-add-to-wishlist { margin: 0; }
.obp-buy__wishlist a {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ob-ink) !important;
  box-shadow: none !important;
}
.obp-buy__services {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 15px 0 0;
  border-top: 1px solid rgba(113,77,34,.14);
  list-style: none;
}
.obp-buy__services li { position: relative; padding-left: 20px; }
.obp-buy__services li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--ob-gold-dark);
  font-weight: 900;
}
.obp-buy__services strong { display: block; color: var(--ob-ink); font-size: 12px; }
.obp-buy__services span { display: block; margin-top: 2px; color: var(--ob-muted); font-size: 10.5px; line-height: 1.45; }

.obp-product__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
  gap: 32px;
  align-items: start;
  margin-top: 28px;
}
.obp-description,
.obp-details {
  padding: 28px;
  border: 1px solid rgba(31,22,17,.12);
  border-radius: 18px;
  background: #fff;
}
.obp-kicker {
  margin: 0 0 8px;
  color: var(--ob-gold-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.obp-description > h2,
.obp-details > h2,
.obp-related__header h2 {
  margin: 0;
  color: var(--ob-ink);
  font-family: var(--font-heading, Georgia, serif);
  font-weight: 580;
  letter-spacing: -.018em;
}
.obp-description > h2,
.obp-details > h2 { margin-bottom: 18px; font-size: 32px; }
.obp-description__prose {
  max-width: 820px;
  color: var(--ob-text);
  font-size: 16px;
  line-height: 1.82;
}
.obp-description__prose p,
.obp-description__prose ul,
.obp-description__prose ol,
.obp-description__prose blockquote { margin: 0 0 17px; }
.obp-description__prose h2,
.obp-description__prose h3,
.obp-description__prose h4 {
  margin: 28px 0 11px;
  color: var(--ob-ink);
  font-family: var(--font-heading, Georgia, serif);
  font-weight: 600;
  line-height: 1.22;
}
.obp-description__prose h2 { font-size: 29px; }
.obp-description__prose h3 { font-size: 24px; }
.obp-description__prose h4 { font-size: 20px; }
.obp-description__prose blockquote {
  padding: 15px 18px;
  border-left: 3px solid var(--ob-gold);
  background: var(--ob-cream);
}
.obp-details dl { margin: 0; }
.obp-details dl > div {
  display: grid;
  grid-template-columns: minmax(105px, 42%) minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(31,22,17,.09);
}
.obp-details dt { color: var(--ob-muted); font-size: 11px; font-weight: 700; }
.obp-details dd { margin: 0; color: var(--ob-ink); font-size: 12px; font-weight: 760; line-height: 1.5; overflow-wrap: anywhere; }
.obp-details__subjects {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--ob-line);
  color: var(--ob-muted);
  font-size: 11px;
  line-height: 1.6;
}
.obp-details__subjects a { color: var(--ob-gold-dark); }

/* Related books carousel: 5 visible desktop, 2 visible mobile. */
.obp-related {
  margin-top: 32px;
  padding: 28px;
  border: 1px solid rgba(31,22,17,.12);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}
.obp-related__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.obp-related__header h2 { font-size: 34px; }
.obp-related__controls { display: flex; gap: 8px; }
.obp-related__controls button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(31,22,17,.15);
  border-radius: 50%;
  background: #fff;
  color: var(--ob-ink);
  font-size: 18px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.obp-related__controls button:hover:not(:disabled) {
  border-color: var(--ob-leather);
  background: var(--ob-leather);
  color: var(--ob-cream);
}
.obp-related__controls button:disabled { opacity: .28; cursor: default; }
.obp-related ul.products.obp-related__track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 0 5px !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.obp-related ul.products.obp-related__track::-webkit-scrollbar { display: none; }
.obp-related ul.products.obp-related__track > li.product {
  flex: 0 0 calc((100% - 64px) / 5) !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}

/* --------------------------------------------------------------------------
   Catalogue cards and grids
-------------------------------------------------------------------------- */
.woocommerce .obc-shop-products ul.products,
.woocommerce-page .obc-shop-products ul.products,
.post-type-archive-product .obc-shop-products ul.products,
.tax-product_cat .obc-shop-products ul.products,
.tax-product_tag .obc-shop-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
.woocommerce ul.products li.product.obc-book-card {
  min-width: 0;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(31,22,17,.06);
}
.obc-book-card__media {
  aspect-ratio: 2 / 3;
  min-height: 0 !important;
  padding: 12px !important;
  border-radius: 13px 13px 0 0;
  background: linear-gradient(145deg, #f7f0e5, #fff);
}
.obc-book-card__img,
.obc-book-card__media img {
  width: 100% !important;
  height: 100% !important;
  max-height: 300px !important;
  object-fit: contain !important;
}
.obc-book-card__body { padding: 14px 14px 15px !important; }
.obc-book-card__eyebrow { margin-bottom: 6px; font-size: 9px !important; letter-spacing: .10em; }
.obc-book-card__title {
  min-height: 2.5em;
  margin: 0 0 6px !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.obc-book-card__author { min-height: 1.45em; font-size: 12px !important; line-height: 1.45; }
.obc-book-card__meta {
  min-height: 1.4em;
  margin-top: 5px;
  font-size: 10px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.obc-book-card__footer { align-items: end !important; gap: 8px !important; margin-top: 10px !important; }
.obc-book-card__price { font-size: 16px !important; }
.obc-book-card__stock { display: none; }
.obc-book-card__utility { top: 8px; right: 8px; gap: 6px; }
.obc-icon-btn,
.obc-icon-btn--yith,
.obc-action-circle {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex-basis: 34px !important;
}
.obc-icon-btn svg,
.obc-action-circle svg { width: 15px; height: 15px; }
.obc-icon-btn--wishlist::before { font-size: 18px; }
.obc-icon-btn--compare { display: none !important; }
.obc-book-card__actions--icons { gap: 6px !important; }

@media (hover: hover) and (pointer: fine) {
  .obc-book-card__utility {
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .18s ease, transform .18s ease;
  }
  .obc-book-card:hover .obc-book-card__utility,
  .obc-book-card:focus-within .obc-book-card__utility {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1220px) {
  .ob-primary-menu a { font-size: 14px; }
  .obp-product__hero { grid-template-columns: 240px minmax(0, 1fr) 290px; gap: 20px; padding: 22px; }
  .obp-cover__stage { min-height: 330px; }
  .obp-cover__image { max-height: 350px; }
  .woocommerce .obc-shop-products ul.products,
  .woocommerce-page .obc-shop-products ul.products,
  .post-type-archive-product .obc-shop-products ul.products,
  .tax-product_cat .obc-shop-products ul.products,
  .tax-product_tag .obc-shop-products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (max-width: 1020px) {
  .obp-product__hero {
    grid-template-columns: 250px minmax(0, 1fr);
    grid-template-areas: "cover summary" "cover buy";
  }
  .obp-cover { grid-area: cover; }
  .obp-summary { grid-area: summary; }
  .obp-buy { grid-area: buy; position: static; }
  .obp-product__content { grid-template-columns: 1fr; }
  .obp-details { order: -1; }
  .woocommerce .obc-shop-products ul.products,
  .woocommerce-page .obc-shop-products ul.products,
  .post-type-archive-product .obc-shop-products ul.products,
  .tax-product_cat .obc-shop-products ul.products,
  .tax-product_tag .obc-shop-products ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .obp-single { padding-top: 14px; }
  .obp-breadcrumbs { margin-bottom: 12px; padding: 8px 10px; }
  .obp-product__hero {
    grid-template-columns: 1fr;
    grid-template-areas: "cover" "summary" "buy";
    gap: 18px;
    padding: 16px;
    border-radius: 16px;
  }
  .obp-cover { width: min(310px, 100%); margin-inline: auto; }
  .obp-cover__stage { min-height: 330px; padding: 13px; }
  .obp-cover__image { max-height: 350px; }
  .obp-summary__title { font-size: clamp(32px, 9vw, 43px); }
  .obp-summary__lead { font-size: 15px; }
  .obp-buy { padding: 17px; }
  .obp-product__content { gap: 16px; margin-top: 16px; }
  .obp-description,
  .obp-details,
  .obp-related { padding: 20px 17px; border-radius: 15px; }
  .obp-description > h2,
  .obp-details > h2 { font-size: 28px; }
  .obp-description__prose { font-size: 15px; line-height: 1.75; }
  .obp-related { margin-top: 16px; }
  .obp-related__header { align-items: center; }
  .obp-related__header h2 { font-size: 29px; }
  .obp-related__controls button { width: 38px; height: 38px; }
  .obp-related ul.products.obp-related__track { gap: 12px !important; }
  .obp-related ul.products.obp-related__track > li.product { flex-basis: calc((100% - 12px) / 2) !important; }

  .woocommerce .obc-shop-products ul.products,
  .woocommerce-page .obc-shop-products ul.products,
  .post-type-archive-product .obc-shop-products ul.products,
  .tax-product_cat .obc-shop-products ul.products,
  .tax-product_tag .obc-shop-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .obc-book-card__body { padding: 11px 10px 12px !important; }
  .obc-book-card__title { font-size: 16px !important; }
  .obc-book-card__author { font-size: 11px !important; }
  .obc-book-card__meta { display: none; }
  .obc-book-card__price { font-size: 14px !important; }
  .obc-icon-btn,
  .obc-icon-btn--yith,
  .obc-action-circle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    flex-basis: 32px !important;
  }
}

@media (max-width: 430px) {
  .ob-shell { width: min(100% - 16px, var(--ob-shell)); }
  .obp-quick-facts { grid-template-columns: 1fr 1fr; }
  .obp-details dl > div { grid-template-columns: 94px minmax(0, 1fr); gap: 8px; }
  .obp-related__header h2 { font-size: 25px; }
  .obp-related__controls button { width: 35px; height: 35px; }
  .obc-book-card__media { padding: 8px !important; }
  .obc-book-card__title { font-size: 15px !important; }
}

/* ========================================================================
   v4.1.2 — refined product-card action bar
   ======================================================================== */

/* The old overlay controls remain disabled even when a plugin injects cached
   markup. Every action is rendered once in the card footer. */
.obc-book-card .obc-book-card__utility,
.obc-book-card .book-actions {
  display: none !important;
}

.obc-book-card__footer--single-actions {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.obc-book-card__actions--unified {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 3px !important;
  flex: 0 0 auto;
  padding: 4px !important;
  border: 1px solid rgba(22, 32, 47, .10);
  border-radius: 14px;
  background: rgba(250, 247, 241, .94);
  box-shadow: 0 8px 22px rgba(22, 32, 47, .055);
}

.obc-card-action {
  position: relative;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--obc-ink) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.obc-card-action:hover,
.obc-card-action:focus-visible,
.obc-card-action:focus-within {
  transform: translateY(-1px);
  background: #fff !important;
  color: var(--obc-gold-dark, #765319) !important;
  box-shadow: 0 5px 14px rgba(22, 32, 47, .08) !important;
  outline: none;
}

.obc-card-action svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

.obc-card-action--cart {
  margin-left: 2px !important;
  background: var(--obc-ink) !important;
  color: #fff !important;
}

.obc-card-action--cart:hover,
.obc-card-action--cart:focus-visible {
  background: var(--obc-gold-dark, #765319) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(118, 83, 25, .20) !important;
}

.obc-card-action--cart.loading::after,
.obc-card-action--cart.added::after,
.obc-card-action--cart + .added_to_cart,
.obc-card-action .added_to_cart {
  display: none !important;
}

.obc-card-action--cart.added {
  background: #174e34 !important;
}

/* Our SVG is the visible artwork. The real YITH element is an invisible,
   full-size click layer above it so plugin behaviour remains untouched. */
.obc-card-action--plugin {
  isolation: isolate;
}

.obc-card-action__visual {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  font-size: inherit !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.obc-card-action__visual svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  overflow: visible;
}

.obc-card-action__visual--heart svg {
  width: 17px !important;
  height: 17px !important;
}

.obc-card-action--wishlist:hover .obc-card-action__visual--heart path,
.obc-card-action--wishlist:focus-within .obc-card-action__visual--heart path {
  fill: rgba(164, 119, 37, .11);
}

.obc-card-action--wishlist:has(.yith-wcwl-wishlistexistsbrowse) .obc-card-action__visual--heart path,
.obc-card-action--wishlist:has(.yith-wcwl-wishlistaddedbrowse) .obc-card-action__visual--heart path {
  fill: currentColor;
}

.obc-card-action--plugin > :not(.obc-card-action__visual),
.obc-card-action--plugin > :not(.obc-card-action__visual) a,
.obc-card-action--plugin > :not(.obc-card-action__visual) button,
.obc-card-action--plugin > :not(.obc-card-action__visual) .button,
.obc-card-action--plugin > :not(.obc-card-action__visual) .yith-wcqv-button,
.obc-card-action--plugin > :not(.obc-card-action__visual) .yith-wcwl-add-button,
.obc-card-action--plugin > :not(.obc-card-action__visual) .yith-wcwl-wishlistexistsbrowse,
.obc-card-action--plugin > :not(.obc-card-action__visual) .yith-wcwl-wishlistaddedbrowse {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  opacity: .01 !important;
}

.obc-card-action--plugin > :not(.obc-card-action__visual) img,
.obc-card-action--plugin > :not(.obc-card-action__visual) svg,
.obc-card-action--plugin > :not(.obc-card-action__visual) i,
.obc-card-action--plugin > :not(.obc-card-action__visual) .feedback,
.obc-card-action--plugin > :not(.obc-card-action__visual) .blockOverlay,
.obc-card-action--plugin > :not(.obc-card-action__visual) .ajax-loading,
.obc-card-action--plugin > :not(.obc-card-action__visual) .yith-wcwl-icon {
  display: none !important;
}

/* Never let plugin-generated loop controls escape outside the unified group. */
.obc-book-card > .yith-wcwl-add-to-wishlist,
.obc-book-card > .yith-wcqv-button,
.obc-book-card__body > .yith-wcwl-add-to-wishlist,
.obc-book-card__body > .yith-wcqv-button,
.obc-book-card__media-wrap > .yith-wcwl-add-to-wishlist,
.obc-book-card__media-wrap > .yith-wcqv-button {
  display: none !important;
}

@media (max-width: 760px) {
  .obc-book-card__footer--single-actions {
    flex-wrap: wrap;
    align-items: center !important;
  }

  .obc-book-card__price-wrap {
    width: 100%;
  }

  .obc-book-card__actions--unified {
    width: auto;
    margin-left: auto;
    justify-content: flex-end !important;
    padding: 3px !important;
    border-radius: 13px;
  }

  .obc-card-action {
    flex-basis: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 9px !important;
  }

  .obc-card-action__visual svg,
  .obc-card-action svg {
    width: 17px !important;
    height: 17px !important;
  }
}

