/* Petra Viola exclusive launch — Gulf Trading 1.8 */

:root {
  --gts-viola: #6b2d8b;
  --gts-viola-deep: #3a1454;
  --gts-viola-ink: #24102f;
  --gts-cotton: #f7c9dc;
  --gts-blush: #f4e6ef;
  --gts-glass: #e8d4f2;
  --gts-serif: "Cormorant Garamond", "Times New Roman", serif;
  --gts-sans: "Outfit", "Segoe UI", system-ui, sans-serif;
  /* Campaign remap: gold chrome → viola across store.css tokens */
  --gts-gold: #6b2d8b;
  --gts-gold-2: #4a1d68;
  --gts-bg: #f7f2f6;
  --gts-bg-3: #f4e6ef;
  --gts-header: rgba(255, 252, 254, .96);
}

body.gts-store {
  font-family: var(--gts-sans);
}

.gts-lt-title,
.gts-single-title,
.gts-archive-title,
.gts-section-title,
.gts-page-hero h1,
.gts-legal h1,
.gts-filters-head h3 {
  font-family: var(--gts-serif);
  font-weight: 600;
  letter-spacing: .01em;
}
.gts-page-hero h1,
.gts-single-title,
.gts-archive-title {
  font-style: italic;
}

/* Announce */
.gts-announce {
  background: linear-gradient(90deg, #3a1454, #6b2d8b 40%, #b84a8a 70%, #3a1454);
  color: #fff;
}
.gts-announce a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Exclusive nav pill */
.gts-nav a.gts-nav-exclusive,
.gts-nav .gts-nav-exclusive {
  color: var(--gts-viola) !important;
  font-weight: 600;
  position: relative;
}
.gts-nav a.gts-nav-exclusive::after {
  content: "Exclusive";
  display: inline-block;
  margin-left: .4rem;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: var(--gts-viola);
  color: #fff;
  padding: .12rem .38rem;
  border-radius: 99px;
  vertical-align: middle;
  font-weight: 600;
}

@media (max-width: 980px) {
  .gts-search-dismiss { color: var(--gts-viola) !important; }
  .gts-nav-tool:hover,
  .gts-nav-tool:focus-visible { color: var(--gts-viola) !important; }
  .gts-nav-close { background: var(--gts-blush) !important; color: var(--gts-viola-deep) !important; }
}

.gts-header-social {
  display: flex;
  gap: .35rem;
  align-items: center;
}
.gts-header-social a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--gts-text);
}
.gts-header-social a:hover { color: var(--gts-viola); background: var(--gts-blush); }

@media (max-width: 1100px) {
  .gts-header-social { display: none; }
}

/* ===== Petra cinematic hero ===== */
.gts-petra-hero {
  position: relative;
  height: 86vh;
  min-height: 86vh;
  max-height: 86vh;
  aspect-ratio: auto !important;
  background: var(--gts-viola-deep);
  overflow: hidden;
}
.gts-petra-hero.gts-lt-hero-campaigns {
  aspect-ratio: 3 / 1 !important;
  height: auto !important;
  min-height: 220px !important;
  max-height: none !important;
}
@media (max-width: 767px) {
  .gts-petra-hero.gts-lt-hero-campaigns {
    aspect-ratio: 1150 / 1300 !important;
  }
}
.gts-petra-hero .gts-lt-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.gts-petra-hero .gts-lt-hero-slide.is-campaign .gts-lt-hero-img {
  object-position: center center;
}
.gts-petra-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: flex-end;
  pointer-events: none;
  line-height: 1.45;
  background:
    linear-gradient(180deg, rgba(36,16,47,.08) 0%, rgba(36,16,47,.18) 42%, rgba(36,16,47,.78) 100%);
  padding: clamp(1.5rem, 6vw, 4.5rem) clamp(1.2rem, 5vw, 4rem) 4.2rem;
}
.gts-petra-hero-copy {
  pointer-events: auto;
  max-width: 720px;
  color: #fff;
}
.gts-petra-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
  color: #ffe8f4;
  margin: 0 0 .7rem;
}
.gts-petra-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #ffe8f4;
}
.gts-petra-hero-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.6rem, 7vw, 5.4rem);
  line-height: .92;
  margin: 0 0 .55rem;
  color: #fff;
  font-style: italic;
  text-shadow: 0 10px 40px rgba(0,0,0,.28);
}
.gts-petra-hero-sub {
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 300;
  max-width: 34rem;
  margin: 0 0 1.3rem;
  color: rgba(255,255,255,.9);
}
.gts-petra-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
}
.gts-btn-viola {
  background: #fff;
  color: var(--gts-viola-deep) !important;
  border: 0;
  border-radius: 999px;
  padding: .85rem 1.5rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .78rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.gts-btn-viola:hover { background: var(--gts-cotton); color: var(--gts-viola-ink) !important; }
.gts-btn-ghost-light {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  padding: .85rem 1.35rem;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 500;
}
.gts-btn-ghost-light:hover { background: rgba(255,255,255,.12); color: #fff !important; }
.gts-petra-price-chip {
  font-family: var(--gts-serif);
  font-size: 1.45rem;
  font-weight: 600;
  margin-left: .2rem;
}

.gts-petra-hero .gts-lt-hero-nav,
.gts-petra-hero .gts-lt-hero-dots,
.gts-petra-hero .gts-lt-hero-progress { z-index: 4; }

@media (max-width: 768px) {
  .gts-petra-hero .gts-lt-hero-img { object-position: center center; }
  .gts-petra-hero-overlay { padding-bottom: 5.2rem; }
}

/* Exclusive story */
.gts-petra-story {
  background: linear-gradient(180deg, #24102f 0%, #3a1454 55%, #4a1d68 100%);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 5rem) 0;
}
.gts-petra-story-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(1.4rem, 4vw, 3.2rem);
  align-items: center;
}
.gts-petra-story-media {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 420px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.gts-petra-story-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 460px;
}
.gts-petra-story-copy .gts-petra-kicker { color: var(--gts-cotton); }
.gts-petra-story-copy .gts-petra-kicker::before { background: var(--gts-cotton); }
.gts-petra-story h2 {
  font-family: var(--gts-serif);
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  font-style: italic;
  line-height: 1.05;
  margin: 0 0 .8rem;
}
.gts-petra-story p { color: rgba(255,255,255,.86); font-size: 1.05rem; }
.gts-petra-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1.2rem 0 1.4rem;
}
.gts-petra-badge {
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: .4rem .8rem;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.gts-petra-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin: 1.4rem 0 1.6rem;
}
.gts-petra-fact {
  background: rgba(255,255,255,.08);
  border-radius: 14px;
  padding: .85rem .9rem;
}
.gts-petra-fact strong { display: block; font-family: var(--gts-serif); font-size: 1.2rem; }
.gts-petra-fact span { font-size: .78rem; color: rgba(255,255,255,.7); }

@media (max-width: 860px) {
  .gts-petra-story-grid { grid-template-columns: 1fr; }
  .gts-petra-facts { grid-template-columns: 1fr; }
}

/* Notes */
.gts-petra-notes {
  background: var(--gts-blush);
  padding: clamp(2.4rem, 5vw, 4.4rem) 0;
}
.gts-petra-notes-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(1.2rem, 4vw, 3rem);
  align-items: center;
}
.gts-petra-notes-media {
  border-radius: 22px;
  overflow: hidden;
  min-height: 380px;
}
.gts-petra-notes-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 420px;
}
.gts-note-card {
  background: #fff;
  border-radius: 16px;
  padding: 1rem 1.1rem;
  margin-bottom: .7rem;
  box-shadow: 0 10px 30px rgba(58,20,84,.06);
}
.gts-note-card small {
  display: block;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .68rem;
  color: var(--gts-viola);
  font-weight: 600;
  margin-bottom: .25rem;
}
.gts-note-card strong { font-family: var(--gts-serif); font-size: 1.2rem; font-weight: 600; }

@media (max-width: 860px) {
  .gts-petra-notes-grid { grid-template-columns: 1fr; }
}

/* Exclusive card badge */
.gts-badge-exclusive,
.gts-lt-card-badge-ex {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 2;
  background: var(--gts-viola);
  color: #fff;
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .28rem .5rem;
  border-radius: 999px;
  font-weight: 600;
}

/* Shop exclusive strip */
.gts-shop-exclusive {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 1rem;
  align-items: center;
  background: linear-gradient(90deg, #3a1454, #6b2d8b);
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  margin: 0 0 1.4rem;
  text-decoration: none !important;
}
.gts-shop-exclusive img {
  width: 140px;
  height: 140px;
  object-fit: cover;
}
.gts-shop-exclusive-copy { padding: .8rem 0; }
.gts-shop-exclusive-copy p { margin: 0; color: rgba(255,255,255,.82); font-size: .9rem; }
.gts-shop-exclusive-copy strong {
  font-family: var(--gts-serif);
  font-size: 1.55rem;
  font-style: italic;
  color: #fff;
  display: block;
}
.gts-shop-exclusive-cta {
  margin-right: 1.1rem;
  background: #fff;
  color: var(--gts-viola-deep);
  border-radius: 999px;
  padding: .7rem 1.1rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .gts-shop-exclusive { grid-template-columns: 100px 1fr; }
  .gts-shop-exclusive img { width: 100px; height: 120px; }
  .gts-shop-exclusive-cta { display: none; }
}

/* PDP exclusive */
.gts-single-product.is-petra {
  background: linear-gradient(180deg, #f7eef5 0%, #f6f4f0 280px);
}
.gts-petra-pdp-ribbon {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1rem;
}
.gts-petra-pdp-ribbon span {
  background: var(--gts-viola);
  color: #fff;
  border-radius: 999px;
  padding: .28rem .7rem;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
}
.gts-petra-pdp-ribbon span.alt { background: transparent; color: var(--gts-viola); border: 1px solid var(--gts-viola); }
.gts-petra-campaign {
  margin: 2.4rem 0 0;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.4rem;
  align-items: center;
}
.gts-petra-campaign img { border-radius: 18px; width: 100%; }
.gts-petra-campaign h2 {
  font-family: var(--gts-serif);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-style: italic;
  margin: 0 0 .6rem;
}
@media (max-width: 800px) {
  .gts-petra-campaign { grid-template-columns: 1fr; }
}

/* Social */
.gts-social {
  background: #fff;
  padding: clamp(2.4rem, 5vw, 4.2rem) 0;
  border-top: 1px solid var(--gts-line);
}
.gts-social-head { text-align: center; margin-bottom: 1.6rem; }
.gts-social-head p { color: var(--gts-muted); margin: .4rem 0 0; }
.gts-social-actions {
  display: flex;
  justify-content: center;
  gap: .7rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.gts-social-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border-radius: 999px;
  padding: .7rem 1.15rem;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
}
.gts-social-btn.ig { background: #111; color: #fff !important; }
.gts-social-btn.tt { background: var(--gts-viola); color: #fff !important; }
.gts-social-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1.2rem;
  align-items: start;
}
.gts-ig-mosaic {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .65rem;
}
.gts-ig-tile {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1;
}
.gts-ig-tile img { width: 100%; height: 100%; object-fit: cover; }
.gts-ig-tile span {
  position: absolute;
  inset: auto 10px 10px auto;
  background: rgba(0,0,0,.55);
  color: #fff;
  border-radius: 999px;
  padding: .25rem .55rem;
  font-size: .68rem;
}
.gts-tiktok-embed {
  background: #0f0f0f;
  border-radius: 18px;
  min-height: 740px;
  height: 740px;
  overflow: hidden;
  padding: .4rem;
}
.gts-tiktok-embed blockquote { margin: 0 auto; }
@media (max-width: 900px) {
  .gts-social-grid { grid-template-columns: 1fr; }
}

/* Footer social */
.gts-footer-social {
  display: flex;
  gap: .5rem;
  margin: .8rem 0 0;
}
.gts-footer-social a {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff !important;
}
.gts-footer-social a:hover { background: var(--gts-viola); }

/* ===== For her banner ===== */
.gts-lt-feature {
  background: var(--gts-blush) !important;
  padding: clamp(2.2rem, 5vw, 3.6rem) 0 2.2rem !important;
}
.gts-lt-feature-banner {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  min-height: 260px;
  padding: clamp(1.8rem, 4vw, 2.8rem) clamp(1.4rem, 4vw, 2.6rem) !important;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(36, 16, 47, .92) 0%, rgba(107, 45, 139, .55) 48%, rgba(36, 16, 47, .18) 100%),
    url("../petra/petra-lifestyle.webp") center 30% / cover no-repeat !important;
  box-shadow: 0 24px 60px rgba(58, 20, 84, .22);
}
.gts-lt-feature-copy { max-width: 36rem; }
.gts-lt-feature-copy .gts-petra-kicker { color: var(--gts-cotton); }
.gts-lt-feature-copy .gts-petra-kicker::before { background: var(--gts-cotton); }
.gts-lt-feature-copy .gts-lt-title {
  font-family: var(--gts-serif);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2rem, 4.2vw, 3.2rem);
  line-height: 1.05;
  color: #fff !important;
  margin: 0 0 .55rem !important;
}
.gts-lt-feature-copy p {
  color: rgba(255, 255, 255, .86) !important;
  font-size: 1.05rem;
  line-height: 1.55;
  margin: 0 0 1.2rem !important;
}

/* ===== About ===== */
.gts-lt-about {
  padding: clamp(2.6rem, 6vw, 4.4rem) 0 !important;
  background: linear-gradient(180deg, #24102f 0%, #3a1454 70%, #2a1238 100%) !important;
  color: #fff !important;
}
.gts-lt-about-copy .gts-petra-kicker { color: var(--gts-cotton); }
.gts-lt-about-copy .gts-petra-kicker::before { background: var(--gts-cotton); }
.gts-lt-about-copy .gts-lt-title {
  font-family: var(--gts-serif);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2.1rem, 4.4vw, 3.4rem);
  line-height: 1.05;
  color: #fff !important;
  margin: 0 0 .7rem;
}
.gts-lt-about-copy p {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 1.05rem;
  line-height: 1.65;
  max-width: 36rem;
  margin: 0 0 1.25rem !important;
}
.gts-lt-trust {
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 16px !important;
  padding: 1.1rem 1rem !important;
}
.gts-lt-trust strong {
  font-family: var(--gts-serif);
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
  display: block;
}
.gts-lt-trust span {
  color: rgba(255, 255, 255, .7);
  font-size: .82rem;
}

/* ===== Footer ===== */
.gts-footer {
  background: linear-gradient(180deg, #1c0c24 0%, #2a1238 55%, #16081c 100%) !important;
  color: rgba(255, 255, 255, .82) !important;
  border-top: 0 !important;
  margin-top: 0 !important;
  padding: 3.4rem 0 0 !important;
  position: relative;
}
.gts-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #3a1454, #b84a8a 40%, #f7c9dc 70%, #6b2d8b);
}
.gts-footer h4 {
  color: #f7c9dc !important;
  font-family: var(--gts-serif);
  font-style: italic;
  font-weight: 600;
  font-size: 1.18rem !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
.gts-footer p,
.gts-footer li,
.gts-footer-address {
  color: rgba(255, 255, 255, .72) !important;
}
.gts-footer a {
  color: rgba(255, 255, 255, .74) !important;
}
.gts-footer a:hover {
  color: #f7c9dc !important;
}
.gts-footer a.gts-btn-viola,
.gts-footer .gts-btn-viola {
  margin-top: .35rem;
  display: inline-flex;
  background: linear-gradient(135deg, #f7c9dc, #e8d4f2) !important;
  color: #24102f !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
  border: 0;
}
.gts-footer a.gts-btn-viola:hover,
.gts-footer .gts-btn-viola:hover {
  background: #fff !important;
  color: #3a1454 !important;
}
.gts-footer-bottom {
  border-top-color: rgba(255, 255, 255, .1) !important;
  color: rgba(255, 255, 255, .45) !important;
}
.gts-footer-credit {
  color: rgba(255, 255, 255, .5) !important;
}
.gts-footer-credit:hover {
  color: #f7c9dc !important;
}
.gts-footer-legal a {
  color: rgba(255, 255, 255, .5) !important;
}
.gts-footer-legal a:hover {
  color: #f7c9dc !important;
}
.gts-footer-logo img {
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .25));
}

/* ===== Site-wide Petra chrome (shop, PDP, cards, buttons) ===== */
body.gts-store,
body.gts-lt-home {
  background: #f7f2f6;
}
body.gts-store a { color: var(--gts-viola); }
body.gts-store a:hover { color: var(--gts-viola-ink); }

.gts-cart-count {
  background: var(--gts-viola) !important;
}
@media (min-width: 981px) {
  .gts-ajax-search:focus-within,
  .gts-ajax-search.is-expanded {
    border-color: rgba(107, 45, 139, .5) !important;
    box-shadow: 0 0 0 3px rgba(107, 45, 139, .14) !important;
  }
}
.gts-nav a.is-active {
  background: var(--gts-blush) !important;
  box-shadow: inset 0 0 0 1px rgba(107, 45, 139, .12) !important;
}
.gts-nav a:hover,
.gts-nav a:focus-visible,
.gts-icon-link:hover,
.gts-icon-link:focus-visible {
  background: var(--gts-blush) !important;
}

.gts-viola-fill,
.gts-btn-primary,
.gts-btn-gold,
.gts-chip.is-active,
.gts-page-btn.is-active,
.gts-page-btn:hover,
.gts-tab-btn.is-active,
.gts-card-cart-btn,
.gts-badge-sale,
.gts-brand-mark,
body.gts-store .woocommerce a.button,
body.gts-store .woocommerce button.button,
body.gts-store .woocommerce input.button,
body.gts-store .woocommerce #respond input#submit,
body.gts-store .woocommerce .single_add_to_cart_button {
  background: linear-gradient(135deg, #8a3aad, #3a1454) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(58, 20, 84, .22);
}
.gts-btn-gold {
  background: transparent !important;
  color: var(--gts-viola-deep) !important;
  border: 1px solid var(--gts-viola) !important;
  box-shadow: none;
}
.gts-btn-gold:hover {
  background: var(--gts-blush) !important;
  color: var(--gts-viola-ink) !important;
}
.gts-btn-ghost:hover {
  border-color: var(--gts-viola) !important;
  color: var(--gts-viola) !important;
}

body.gts-store .woocommerce-tabs ul.tabs li.active {
  background: linear-gradient(135deg, #8a3aad, #3a1454) !important;
  border-color: transparent !important;
}
body.gts-store .woocommerce span.onsale {
  background: var(--gts-viola) !important;
}

.gts-shop-banner,
.gts-single-top,
.gts-page-hero {
  background:
    radial-gradient(ellipse 70% 80% at 92% 8%, rgba(247, 201, 220, .55), transparent 52%),
    linear-gradient(180deg, #f4e6ef 0%, #f7f2f6 100%) !important;
  border-bottom-color: rgba(107, 45, 139, .08) !important;
}
.gts-eyebrow,
.gts-filters-kicker,
.gts-chips-label,
.gts-scent-notes-label,
.gts-contact-card h3 {
  color: var(--gts-viola) !important;
}
.gts-shop-crumbs a,
.gts-breadcrumb a,
.gts-card-brand,
.gts-card-title a:hover,
.gts-card-price,
.gts-card-price ins,
.gts-single-price,
.gts-single-brand,
.gts-search-meta em,
.gts-search-viewall,
.gts-lt-viewall:hover {
  color: var(--gts-viola-deep) !important;
}
.gts-chip:hover {
  border-color: var(--gts-viola) !important;
  color: var(--gts-viola) !important;
  background: #fff;
}
.gts-filter-input:focus {
  border-color: var(--gts-viola) !important;
  box-shadow: 0 0 0 3px rgba(107, 45, 139, .14) !important;
}
.gts-check input:checked + .gts-check-ui {
  background: rgba(107, 45, 139, .1) !important;
}
.gts-check input:checked + .gts-check-ui .gts-check-dot,
.gts-check input:checked + .gts-check-ui .gts-check-box {
  border-color: var(--gts-viola) !important;
  background: var(--gts-viola) !important;
  box-shadow: inset 0 0 0 2px #fff;
}
.gts-check input:checked + .gts-check-ui em {
  background: var(--gts-blush) !important;
  color: var(--gts-viola) !important;
}

.gts-card:hover {
  border-color: rgba(107, 45, 139, .32) !important;
  box-shadow: 0 16px 40px rgba(58, 20, 84, .1) !important;
}
.gts-card-media-wrap,
.gts-gallery-main {
  background: linear-gradient(180deg, #fbf6f9 0%, #f4e6ef 100%) !important;
}
.gts-gallery-thumb.is-active,
.gts-gallery-thumb:hover {
  border-color: var(--gts-viola) !important;
}

.gts-single-product {
  background: linear-gradient(180deg, #f7eef5 0%, #f7f2f6 240px);
}
.gts-single-gallery {
  border-color: rgba(107, 45, 139, .1) !important;
}
.gts-note-key,
.gts-trust-item strong {
  color: var(--gts-viola) !important;
}
.gts-tab-btn:hover {
  border-color: var(--gts-viola) !important;
  color: var(--gts-viola) !important;
}

.gts-lt-rail { background: #f7f2f6 !important; }
.gts-lt-rail-alt { background: #fffefd !important; }
.gts-lt-title {
  color: var(--gts-viola-ink) !important;
}
.gts-lt-viewall {
  color: var(--gts-viola) !important;
  text-decoration: none !important;
  letter-spacing: .12em;
}
.gts-lt-viewall:hover { color: var(--gts-viola-deep) !important; text-decoration: underline !important; }
.gts-lt-btn {
  background: var(--gts-viola-ink) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.gts-lt-btn:hover {
  background: var(--gts-viola) !important;
  color: #fff !important;
}
.gts-lt-hero-dot.is-active { background: #f7c9dc !important; }
.gts-lt-hero-progress span {
  background: linear-gradient(90deg, #f7c9dc, #6b2d8b) !important;
}
.gts-lt-card-price { color: var(--gts-viola-deep) !important; }
.gts-lt-tab.is-active {
  color: var(--gts-viola) !important;
  text-decoration-color: var(--gts-viola);
}
.gts-lt-card-price ins { color: var(--gts-viola-deep) !important; }

.gts-page-prose a,
.gts-contact-card a,
.gts-legal a {
  color: var(--gts-viola) !important;
}

/* ===== Collections type (layout lives in store.css) ===== */
.gts-lt-collections {
  background:
    radial-gradient(ellipse 60% 50% at 8% 0%, rgba(247, 201, 220, .35), transparent 55%),
    #f7f2f6 !important;
}
.gts-lt-collections .gts-petra-kicker {
  color: var(--gts-viola);
  justify-content: center;
}
.gts-lt-collections .gts-petra-kicker::before { background: var(--gts-viola); }
.gts-lt-collections .gts-lt-title {
  font-style: italic;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-size: clamp(2rem, 4vw, 3.1rem) !important;
}
.gts-lt-collections .gts-lt-sub {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}
.gts-lt-coll-card strong {
  font-family: var(--gts-serif);
  font-style: italic;
  font-weight: 600;
}
.gts-lt-coll-card.is-featured strong {
  font-size: clamp(1.9rem, 3vw, 2.7rem);
}
.gts-lt-coll-card:hover .gts-lt-coll-cta { background: var(--gts-cotton); }
.gts-lt-coll-card.is-featured .gts-lt-coll-img { object-position: center 22%; }

