:root {
  --ts-ink: #17151c;
  --ts-muted: #5b5866;
  --ts-subtle: #8c8997;
  --ts-line: #eceaf2;
  --ts-soft: #f4f3f8;
  --ts-red: #e8394f;
  --ts-purple: #7a2f78;
}

html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body.ts-public-page { margin: 0; background: #fff; color: var(--ts-ink); font-family: 'DM Sans', sans-serif; -webkit-font-smoothing: antialiased; }
body.ts-public-page.ts-public-drawer-open { overflow: hidden; }
body.ts-public-page *, body.ts-public-page *::before, body.ts-public-page *::after { box-sizing: border-box; }
body.ts-public-page a { color: inherit; text-decoration: none; }
body.ts-public-page button, body.ts-public-page input, body.ts-public-page select, body.ts-public-page textarea { font: inherit; }
body.ts-public-page button:focus-visible, body.ts-public-page a:focus-visible, body.ts-public-page input:focus-visible, body.ts-public-page textarea:focus-visible, body.ts-public-page select:focus-visible { outline: 3px solid rgba(122,47,120,.28); outline-offset: 3px; }

.ts-public-skip { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-150%); border-radius: 10px; background: var(--ts-ink); color: #fff !important; padding: 10px 14px; font-weight: 700; transition: transform .18s ease; }
.ts-public-skip:focus { transform: translateY(0); }

.ts-public-header-sentinel { display: block; width: 1px; height: 16px; margin-bottom: -16px; pointer-events: none; visibility: hidden; }
.ts-public-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid transparent; background: transparent; }
.ts-public-header.is-scrolled { border-bottom-color: rgba(23,21,28,.08); background: rgba(255,255,255,.86); box-shadow: 0 14px 32px -28px rgba(23,21,28,.55); }
.ts-public-header__inner { width: min(100%,1280px); min-height: 80px; margin: 0 auto; padding: 0 clamp(20px,4.4vw,56px); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ts-public-header.is-scrolled .ts-public-header__inner { min-height: 64px; }
.ts-public-brand { display: flex; flex: 0 0 auto; }
.ts-public-brand img { width: auto; height: 40px; display: block; transform-origin: left center; transition: transform .18s ease; }
.ts-public-header.is-scrolled .ts-public-brand img { transform: scale(.88); }
.ts-public-nav { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 5px; border-radius: 999px; background: rgba(244,243,248,.85); backdrop-filter: blur(8px); }
.ts-public-nav a { padding: 9px clamp(10px,1.2vw,16px); border-radius: 999px; color: var(--ts-muted); font-size: 15px; font-weight: 500; white-space: nowrap; transition: color .2s, background .2s; }
.ts-public-nav a:hover { color: var(--ts-ink); }
.ts-public-nav a[aria-current='page'] { color: var(--ts-ink); background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.ts-public-actions { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; }
.ts-public-account, .ts-public-primary { white-space: nowrap; border-radius: 12px; padding: 11px 14px; font-size: 15px; font-weight: 600; transition: background .2s, transform .2s; }
.ts-public-account:hover { background: var(--ts-soft); }
.ts-public-primary { position: relative; isolation: isolate; overflow: hidden; padding: 12px 20px; background: #111016; color: #fff !important; }
.ts-public-primary::after { content: ''; position: absolute; z-index: 1; top: -35%; bottom: -35%; left: 0; width: 34%; pointer-events: none; background: linear-gradient(100deg,transparent 0%,rgba(255,255,255,.08) 22%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.08) 78%,transparent 100%); transform: translateX(-180%) skewX(-18deg); animation: ts-public-primary-sweep 6.8s ease-in-out 1.4s infinite; }
.ts-public-primary:hover { background: #211f29; transform: translateY(-1px); }
.ts-public-primary[aria-disabled='true'] { background: #111016; }

@keyframes ts-public-primary-sweep {
  0%, 66% { transform: translateX(-180%) skewX(-18deg); }
  82%, 100% { transform: translateX(420%) skewX(-18deg); }
}

@supports ((-webkit-backdrop-filter: blur(16px)) or (backdrop-filter: blur(16px))) {
  .ts-public-header.is-scrolled { background: rgba(255,255,255,.74); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); }
}
.ts-public-preference { position: relative; }
.ts-public-preference__trigger { min-height: 42px; border: 0; border-radius: 12px; background: transparent; color: var(--ts-ink); padding: 8px 9px 8px 11px; display: flex; align-items: center; gap: 5px; cursor: pointer; font-size: 14px; }
.ts-public-preference__trigger:hover, .ts-public-preference__trigger[aria-expanded='true'] { background: var(--ts-soft); }
.ts-public-preference__trigger strong { color: var(--ts-purple); }
.ts-public-preference__trigger .material-symbols-rounded { color: var(--ts-subtle); font-size: 19px; line-height: 1; }
.ts-public-preference__menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; padding: 6px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 24px 50px -20px rgba(23,21,28,.3); }
.ts-public-preference__menu--currency { width: 330px; }
.ts-public-preference__menu--language { width: 240px; }
.ts-public-preference__menu[hidden] { display: none; }
.ts-public-preference__heading { display: block; padding: 10px 12px 6px; color: var(--ts-purple); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ts-public-preference__menu button { width: 100%; border: 0; border-radius: 12px; background: transparent; color: var(--ts-ink); padding: 8px 10px; display: flex; align-items: center; gap: 10px; text-align: left; cursor: pointer; }
.ts-public-preference__menu button:hover, .ts-public-preference__menu button[aria-checked='true'] { background: var(--ts-soft); }
.ts-public-preference__menu button:disabled { cursor: not-allowed; opacity: .5; }
.ts-public-preference__menu button > span:not(.ts-public-preference__symbol) { flex: 1; display: flex; flex-direction: column; gap: 1px; }
.ts-public-preference__menu button strong { font-size: 14px; font-weight: 600; }
.ts-public-preference__menu button small { color: var(--ts-subtle); font-size: 11px; font-weight: 600; }
.ts-public-preference__symbol { width: 42px; min-height: 32px; padding: 0 6px; border-radius: 10px; background: var(--ts-soft); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.ts-public-preference__menu button[aria-checked='true'] .ts-public-preference__symbol { background: var(--ts-ink); color: #fff; }
.ts-public-preference__note { display: block; margin-top: 4px; padding: 10px 12px 8px; border-top: 1px solid #f0eef4; color: var(--ts-muted); font-size: 12px; font-weight: 500; line-height: 1.5; }
.ts-public-menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 14px; background: var(--ts-soft); color: var(--ts-ink); align-items: center; justify-content: center; cursor: pointer; }
.ts-public-menu-toggle .material-symbols-rounded { font-size: 24px; }

.ts-public-drawer { position: fixed; inset: 0; z-index: 80; overflow-y: auto; background: #fff; padding: 10px 18px max(28px,env(safe-area-inset-bottom)); display: flex; flex-direction: column; }
.ts-public-drawer[hidden] { display: none; }
.ts-public-drawer__top { display: flex; justify-content: space-between; align-items: center; }
.ts-public-drawer__top img { height: 30px; width: auto; display: block; }
.ts-public-drawer__close { width: 44px; height: 44px; border: 0; border-radius: 14px; background: var(--ts-soft); color: var(--ts-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ts-public-drawer__nav { margin-top: 24px; display: flex; flex-direction: column; font: 700 28px/1 'Bricolage Grotesque',sans-serif; letter-spacing: -.02em; }
.ts-public-drawer__nav a { padding: 16px 0; border-bottom: 1px solid var(--ts-line); }
.ts-public-drawer__nav a[aria-current='page'] { color: var(--ts-purple); }
.ts-public-drawer__preferences { margin-top: 22px; display: grid; gap: 8px; }
.ts-public-drawer__preference > button { width: 100%; min-height: 48px; border: 0; border-radius: 14px; background: var(--ts-soft); color: var(--ts-ink); padding: 0 14px; display: flex; align-items: center; gap: 8px; cursor: pointer; text-align: left; }
.ts-public-drawer__preference > button span:nth-child(2) { flex: 1; }
.ts-public-drawer__options { padding: 6px; display: grid; gap: 4px; }
.ts-public-drawer__options[hidden] { display: none; }
.ts-public-drawer__options button { min-height: 44px; border: 0; border-radius: 12px; background: #fff; color: var(--ts-ink); padding: 8px 12px; text-align: left; cursor: pointer; }
.ts-public-drawer__options button[aria-checked='true'] { background: var(--ts-ink); color: #fff; }
.ts-public-drawer__options button:disabled { color: var(--ts-subtle); cursor: not-allowed; }
.ts-public-drawer__actions { margin-top: auto; padding-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.ts-public-drawer__actions a { width: 100%; padding: 16px; text-align: center; }
.ts-public-drawer__secondary { border-radius: 14px; background: var(--ts-soft); font-weight: 700; }

.ts-public-main { min-width: 0; }
.ts-public-page #dc-root, .ts-public-page #dc-root > .sc-host { min-height: 0; height: auto !important; }
.ts-public-flash { width: min(calc(100% - 36px),1168px); margin: 16px auto; border-radius: 12px; padding: 12px 14px; }
.ts-public-flash--success { background: #e3f3e9; color: #145b34; }
.ts-public-flash--error { background: #fde7eb; color: #6e1422; }

.ts-trust-content { width: min(calc(100% - 36px),980px); margin: 44px auto 0; }
.ts-trust-document, .ts-trust-contact { border: 1px solid var(--ts-line); border-radius: 26px; background: #fff; padding: clamp(24px,4.5vw,52px); box-shadow: 0 30px 70px -56px rgba(23,21,28,.55); }
.ts-trust-document { color: #34313d; font-size: 16px; line-height: 1.75; }
.ts-trust-document__title { margin: 0 0 14px; color: var(--ts-ink); font: 750 clamp(28px,3.4vw,42px)/1.08 'Bricolage Grotesque',sans-serif; letter-spacing: -.035em; }
.ts-trust-document__section { margin-top: 34px; padding-top: 1px; }
.ts-trust-document__section h2 { margin: 0 0 10px; color: var(--ts-ink); font: 700 clamp(20px,2vw,24px)/1.25 'Bricolage Grotesque',sans-serif; letter-spacing: -.015em; }
.ts-trust-document p { margin: 0; max-width: 78ch; }
.ts-trust-document a, .ts-trust-contact a { color: var(--ts-purple); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ts-trust-meta { margin-bottom: 28px !important; color: var(--ts-muted); font-size: 14px; font-weight: 650; }
.ts-trust-alert { margin: 20px 0; border-radius: 14px; padding: 14px 16px; font-weight: 650; line-height: 1.55; }
.ts-trust-alert--warning { border: 1px solid #efd6aa; background: #fff7e8; color: #6c4813; }
.ts-trust-content--contact { width: min(calc(100% - 36px),1120px); }
.ts-trust-contact { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: clamp(28px,5vw,72px); }
.ts-trust-contact__intro { align-self: start; }
.ts-trust-kicker { display: block; margin-bottom: 12px; color: var(--ts-purple); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ts-trust-contact__intro h2 { margin: 0 0 14px; font: 750 clamp(30px,4vw,46px)/1.04 'Bricolage Grotesque',sans-serif; letter-spacing: -.04em; }
.ts-trust-contact__intro p { margin: 0 0 14px; color: var(--ts-muted); line-height: 1.65; }
.ts-trust-form { min-width: 0; }
.ts-trust-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ts-trust-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; margin-bottom: 17px; }
.ts-trust-field label { color: #34313d; font-size: 13px; font-weight: 750; }
.ts-trust-field input, .ts-trust-field textarea { width: 100%; border: 1.5px solid #d8d5df; border-radius: 13px; background: #fff; color: var(--ts-ink); padding: 13px 14px; outline: none; }
.ts-trust-field input:focus, .ts-trust-field textarea:focus { border-color: var(--ts-purple); box-shadow: 0 0 0 3px rgba(122,47,120,.1); }
.ts-trust-field textarea { min-height: 164px; resize: vertical; }
.ts-trust-help, .ts-trust-error { font-size: 12px; }
.ts-trust-help { color: var(--ts-subtle); }
.ts-trust-error { color: #a51d32; font-weight: 650; }
.ts-trust-honeypot { position: absolute; left: -10000px; }
.ts-trust-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 0; border-radius: 13px; background: var(--ts-red); color: #fff; padding: 12px 18px; cursor: pointer; font-weight: 800; transition: background .2s,transform .2s; }
.ts-trust-submit:hover { background: #cf2d43; transform: translateY(-1px); }
.ts-trust-submit .material-symbols-rounded { font-size: 19px; }

.ts-public-footer { width: min(100%,1280px); margin: 0 auto; padding: clamp(48px,6vw,80px) clamp(18px,4.4vw,56px) 36px; display: flex; flex-direction: column; gap: 40px; }
.ts-public-footer__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,160px),1fr)); gap: 32px; }
.ts-public-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.ts-public-footer__brand > img { height: 36px; width: auto; display: block; align-self: flex-start; }
.ts-public-footer__brand > span { max-width: 240px; color: var(--ts-muted); font-size: 14px; line-height: 1.5; }
.ts-public-footer__social { display: flex; flex-wrap: wrap; gap: 6px; }
.ts-public-footer__social span { width: 38px; height: 38px; border-radius: 12px; background: var(--ts-soft); color: #4a4755; display: flex; align-items: center; justify-content: center; font: 700 12px/1 'Bricolage Grotesque',sans-serif; transition: background .2s,color .2s; }
.ts-public-footer__column { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.ts-public-footer__heading { font-weight: 700; }
.ts-public-footer__column a, .ts-public-footer__pending { color: var(--ts-muted); }
.ts-public-footer__column a:hover { color: var(--ts-red); }
.ts-public-footer__pending small { margin-left: 5px; border-radius: 999px; background: #f0eef4; color: #65626f; padding: 2px 8px; font-size: 11px; font-weight: 700; }
.ts-public-footer__note { max-width: 200px; color: var(--ts-subtle); font-size: 12px; line-height: 1.45; }
.ts-public-footer__payments { padding-top: 22px; border-top: 1px solid var(--ts-line); display: flex; flex-direction: column; gap: 12px; }
.ts-public-footer__payment-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 6px 16px; flex-wrap: wrap; }
.ts-public-footer__payment-heading strong { font-size: 14px; }
.ts-public-footer__payment-heading span { color: var(--ts-subtle); font-size: 12px; }
.ts-public-footer__payment-list { display: flex; flex-wrap: wrap; gap: 10px; }
.ts-public-footer__payment { min-width: 128px; height: 52px; border: 1px solid var(--ts-line); border-radius: 12px; background: #fff; padding: 0 14px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #4a4755; font-size: 13px; font-weight: 700; }
.ts-public-footer__bottom { padding-top: 22px; border-top: 1px solid var(--ts-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; color: var(--ts-subtle); font-size: 13px; }
.ts-public-footer__bottom a { text-decoration: underline; }

@media (max-width: 1080px) {
  .ts-public-nav, .ts-public-preference, .ts-public-account, .ts-public-actions > .ts-public-primary { display: none; }
  .ts-public-menu-toggle { display: flex; }
  .ts-public-header__inner { min-height: 68px; padding: 0 16px; }
  .ts-public-header.is-scrolled .ts-public-header__inner { min-height: 56px; }
  .ts-public-brand img { height: 28px; }
}

@media (min-width: 1081px) { .ts-public-drawer { display: none !important; } }

@media (max-width: 520px) {
  .ts-public-footer__grid { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
  .ts-public-footer__brand { grid-column: 1 / -1; }
  .ts-public-footer__column:last-child { grid-column: 1 / -1; }
  .ts-public-footer__bottom { flex-direction: column; }
}

@media (max-width: 760px) {
  .ts-trust-content { margin-top: 28px; }
  .ts-trust-document, .ts-trust-contact { border-radius: 20px; }
  .ts-trust-contact, .ts-trust-form__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ts-public-page *, .ts-public-page *::before, .ts-public-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (prefers-reduced-transparency: reduce) {
  .ts-public-header.is-scrolled { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
