/* Additive polish for the content-v2 stone detail pattern only. */
#content-v2 {
  --polish-brown: var(--landscape-brown, #492e0e);
  --polish-beige: #e2cfb7;
  --polish-cream: #fff4e4;
  --polish-rust: var(--landscape-rust, #9b5d25);
  --polish-line: #bca78e;
}

/* Button-like controls: rounded, borderless, and visually distinct from links. */
#content-v2 .button,
#content-v2 .button-outline,
#content-v2 .filter,
#content-v2 .stone-jump-links a,
#content-v2 .carousel-toggle,
#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a {
  min-height: 44px;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--polish-beige);
  color: var(--polish-brown);
  box-shadow: none;
}

#content-v2 .filter,
#content-v2 .stone-jump-links a,
#content-v2 .carousel-toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

#content-v2 .button:not(.button-outline),
#content-v2 .filter.active,
#content-v2 .filter.is-active,
#content-v2 .filter[aria-pressed="true"],
#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a.active {
  background: var(--polish-brown);
  color: var(--polish-cream);
}

#content-v2 .button-outline:hover,
#content-v2 .filter:not(.active):not(.is-active):not([aria-pressed="true"]):hover,
#content-v2 .stone-jump-links a:hover,
#content-v2 .carousel-toggle:hover,
#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a:not(.active):hover {
  background: #d5b999;
  color: #2e1c08;
}

#content-v2 .quote-box .button-light {
  background: var(--polish-beige);
  color: var(--polish-brown);
}

#content-v2 .button:focus-visible,
#content-v2 .filter:focus-visible,
#content-v2 .stone-jump-links a:focus-visible,
#content-v2 .carousel-toggle:focus-visible,
#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a:focus-visible,
#content-v2[data-pattern="stone-detail"] .prev2:focus-visible,
#content-v2[data-pattern="stone-detail"] .next2:focus-visible {
  outline: 3px solid #d98a43;
  outline-offset: 3px;
}

/* Pill tabs with one outline on the panel, not a segmented/doubled strip. */
#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs {
  gap: 6px;
  margin-bottom: 10px;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
}

#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a {
  min-height: 44px;
  padding: 10px 13px;
  line-height: 1.3;
}

#content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a.active::before {
  display: none !important;
  content: none !important;
}

#content-v2[data-pattern="stone-detail"] .stone-native .card_tab {
  border: 1px solid var(--polish-line) !important;
}

/* Gallery: frameless media and a single centered chevron per control. */
#content-v2[data-pattern="stone-detail"] .stone-native .swiper2,
#content-v2[data-pattern="stone-detail"] .stone-native .swiper2 .swiper-wrapper,
#content-v2[data-pattern="stone-detail"] .stone-native .swiper2 .swiper-slide,
#content-v2[data-pattern="stone-detail"] .stone-native .card_slide,
#content-v2[data-pattern="stone-detail"] .stone-native .card_slide img {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0;
}

#content-v2[data-pattern="stone-detail"] .stone-native .swiper2 {
  background: transparent;
}

#content-v2[data-pattern="stone-detail"] .prev2,
#content-v2[data-pattern="stone-detail"] .next2 {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: flex;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0;
  border: 0 !important;
  border-radius: 8px;
  background: rgb(255 250 242 / 94%) !important;
  background-image: none !important;
  color: var(--polish-brown);
  box-shadow: none !important;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
  transform: translateY(-50%);
  cursor: pointer;
}

#content-v2[data-pattern="stone-detail"] .prev2 { left: 8px; }
#content-v2[data-pattern="stone-detail"] .next2 { right: 8px; }

#content-v2[data-pattern="stone-detail"] .prev2::before,
#content-v2[data-pattern="stone-detail"] .next2::before {
  display: block;
  width: 11px;
  height: 11px;
  border: 0;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  background: none !important;
  content: "";
  animation: none !important;
}

#content-v2[data-pattern="stone-detail"] .prev2::before { transform: translateX(3px) rotate(135deg); }
#content-v2[data-pattern="stone-detail"] .next2::before { transform: translateX(-3px) rotate(-45deg); }

#content-v2[data-pattern="stone-detail"] .prev2::after,
#content-v2[data-pattern="stone-detail"] .next2::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  content: none !important;
  animation: none !important;
  transform: none !important;
}

#content-v2[data-pattern="stone-detail"] .prev2:hover,
#content-v2[data-pattern="stone-detail"] .prev2:focus-visible,
#content-v2[data-pattern="stone-detail"] .next2:hover,
#content-v2[data-pattern="stone-detail"] .next2:focus-visible {
  background: var(--polish-brown) !important;
  color: var(--polish-cream);
}

/* Keep the quiz iframe position while tightening only the heading-to-copy gap. */
#content-v2 #v2-quiz .section-heading {
  margin-bottom: 10px;
}

#content-v2 #v2-quiz .section-heading + p {
  margin-top: 0;
  margin-bottom: 20px;
}

/* Requested typography lift in the closing quote. */
#content-v2 .quote-box h2 {
  line-height: 1.344;
}

#content-v2 .quote-box p {
  font-size: 18px;
  line-height: 1.55;
}

/* Hero price is expressive text, never an input-like panel. */
#content-v2[data-pattern="stone-detail"] .stone-price-summary {
  display: flex;
  flex-wrap: wrap;
  align-self: auto;
  align-items: baseline;
  gap: 5px 16px;
  margin: 18px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--polish-cream);
}

#content-v2[data-pattern="stone-detail"] .stone-hero-price {
  color: var(--polish-cream);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.15;
}

#content-v2[data-pattern="stone-detail"] .stone-hero-size {
  color: #e5d5c3;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

/* Structured rules: two readable columns, inline number accents, normal lists. */
#content-v2[data-pattern="stone-detail"] .stone-rules > h3 {
  margin: 0 0 22px;
  color: var(--polish-brown);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy,
#content-v2[data-pattern="stone-detail"] .stone-rules-copy .balanced-column {
  padding-left: 0;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy .rule-heading {
  margin: 0 0 8px;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy .rule-heading h4,
#content-v2[data-pattern="stone-detail"] .stone-rules-copy h4.rule-heading {
  margin: 0;
  color: var(--polish-brown);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy .rule-number {
  margin-right: .35em;
  color: var(--polish-rust);
  font-weight: 800;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy p {
  margin: 0 0 16px;
  line-height: 1.6;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy .rule-list {
  margin: 0 0 18px;
  padding-left: 1.25em;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy .rule-list li {
  margin: 0 0 7px;
  padding-left: .2em;
  line-height: 1.55;
}

#content-v2[data-pattern="stone-detail"] .stone-rules-copy .rule-list li::marker {
  color: var(--polish-rust);
}

@media (max-width: 620px) {
  #content-v2[data-pattern="stone-detail"] .stone-native .card_tabs {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: minmax(0, 1fr);
  }

  #content-v2[data-pattern="stone-detail"] .stone-native .card_tabs a {
    min-height: 44px;
    padding: 8px;
    font-size: 13px;
    line-height: 1.25;
  }

  #content-v2[data-pattern="stone-detail"] .stone-price-summary {
    align-items: flex-start;
    gap: 4px 12px;
  }

  #content-v2[data-pattern="stone-detail"] .stone-hero-price {
    font-size: 26px;
  }

  #content-v2[data-pattern="stone-detail"] .stone-rules > h3 {
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #content-v2[data-pattern="stone-detail"] .prev2,
  #content-v2[data-pattern="stone-detail"] .next2,
  #content-v2[data-pattern="stone-detail"] .prev2::before,
  #content-v2[data-pattern="stone-detail"] .next2::before {
    animation: none !important;
    transition: none !important;
  }
}

#content-v2[data-pattern="stone-detail"] .stone-native .ct_description,
#content-v2[data-pattern="stone-detail"] .stone-native .delivery_wp { border: 0 !important; }

#content-v2 .hero .button-light { background: #c37e39; color: #fff; }

#content-v2[data-pattern="stone-detail"] .stone-rules > h3 { margin-bottom: 8px; }
#content-v2[data-pattern="stone-detail"] .stone-rules > .rules-intro { margin: 0 0 24px; font-size: 18px; line-height: 1.5; }
#content-v2[data-pattern] .carousel-toggle { background: var(--polish-beige); color: var(--polish-brown); }
#content-v2[data-pattern] .carousel-toggle:hover { background: var(--polish-brown); color: var(--polish-cream); }

#content-v2 :is(button, input[type="submit"], input[type="button"]),
body:has(#content-v2) #modal1 :is(button, input[type="submit"], input[type="button"]) {
  border: 0;
  border-radius: 8px;
  background-color: var(--landscape-brown, #492e0e);
  color: #fff4e4;
}
