/* COCOLA — photo only. No panels. Large type on the splash image. */
:root {
  --sp-ink: #fffaf3;
  --sp-gold: #ffe7a8;
  --sp-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 0 18px rgba(0, 0, 0, 0.65);
  --sp-title: 0 3px 14px rgba(0, 0, 0, 0.95), 0 0 22px rgba(0, 0, 0, 0.7);
  --sp-pad-x: max(18px, env(safe-area-inset-left), env(safe-area-inset-right));
  --sp-pad-bottom-dock: calc(88px + env(safe-area-inset-bottom, 0px));
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

html.tff-dash-root,
html.tff-dash-root body {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body:not(.admin-body),
body.tff-page--flux-auth {
  background-color: #140a06 !important;
  background-image: var(--cc-bg-image) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  color: var(--sp-ink);
  font-size: 18px;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: 100svh;
  overflow-x: hidden;
}

@media (min-width: 900px) {
  body:not(.admin-body),
  body.tff-page--flux-auth {
    background-attachment: fixed !important;
  }
}

body:not(.admin-body)::before,
body.tff-page--flux-auth::before {
  display: none !important;
  background: none !important;
}

.tff-phone,
.tff-stage,
.sp-page,
.lx-home,
.lx-me,
.lx-hold,
.lx-team,
.lx-sub,
.cc-auth.lx-auth {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
  box-sizing: border-box;
}

body.has-tff-dock .tff-phone,
body.has-tff-dock .tff-stage {
  min-height: 100vh;
  min-height: 100dvh;
  min-height: 100svh;
}

body.has-tff-dock .tff-stage {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: var(--sp-pad-bottom-dock) !important;
}

.sp-page,
.lx-home,
.lx-me,
.lx-hold,
.lx-team,
.lx-sub {
  padding:
    calc(12px + env(safe-area-inset-top))
    var(--sp-pad-x)
    var(--sp-pad-bottom-dock) !important;
  width: 100% !important;
  min-height: calc(100svh - var(--sp-pad-bottom-dock));
  min-height: calc(100dvh - var(--sp-pad-bottom-dock));
}

/* Strip every panel so the photo stays visible */
.lx-pagehead,
.lx-top,
.lx-balance,
.lx-grid a,
.lx-plan,
.lx-me__hero,
.lx-me__stats,
.lx-me__stats article,
.lx-me__menu,
.lx-me__menu a,
.lx-me__wallet,
.lx-info-card,
.tff-sheet,
.tff-sheet--wallet,
.tff-spin-card,
.tff-hist,
.tff-hist-card,
.tff-fee-card,
.pf-sum,
.pf-slot__card,
.pf-alert,
.pf-empty,
.fx-team__metric,
.fx-team__pass,
.fx-team__ring,
.fx-team__slab,
.fx-team__pending,
.fx-team__row,
.fx-team__list,
.flux-auth-form,
.fiesta-frame__inner,
.tff-info__article,
.cc-panel,
.cc-hero-band,
.sp-glass,
.tff-channel,
.tff-chip,
.tff-hist-filter,
.fx-team__seg,
.fx-team__seg-btn,
.tff-cal,
.tff-rules,
.tff-empty,
.tff-trust,
.lx-support-step,
.tff-info__note {
  background: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--sp-ink);
}

.lx-home--v2 .lx-top,
.lx-sub__head {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

h1, h2, h3, p, span, strong, b, label, a, li, button {
  text-shadow: var(--sp-shadow);
}

.sp-title,
.lx-balance__amt,
.lx-me__wallet strong,
.open-balance,
.lx-brand strong,
.fx-team__pass-code,
.open-code {
  text-shadow: var(--sp-title);
  color: var(--sp-gold);
}

/* Home */
.lx-home {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.lx-brand strong {
  font-size: 30px !important;
  letter-spacing: 0.08em;
}

.lx-brand span,
.lx-balance__kicker {
  font-size: 16px !important;
  font-weight: 800;
  color: var(--sp-ink);
}

.lx-balance {
  padding: 4px 0 8px !important;
  text-align: center;
}

.lx-balance__amt {
  font-size: 52px !important;
  line-height: 1;
  margin: 6px 0 12px;
}

.lx-balance__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.lx-balance__row a,
.lx-me__wallet a,
.lx-plan button,
.lx-plan .lx-owned,
.fx-team__pass-btn,
.tff-btn,
.lx-submit,
.pf-cta {
  background: transparent !important;
  color: var(--sp-gold) !important;
  border: 0 !important;
  border-bottom: 2px solid #ffe7a8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 48px;
  font-size: 18px !important;
  font-weight: 900;
}

.lx-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 18px !important;
}

.lx-grid a {
  flex-direction: row !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: 8px 0 !important;
  gap: 10px !important;
}

.lx-grid a > svg {
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--sp-gold);
}

.lx-grid strong {
  font-size: 20px !important;
}

.lx-grid span {
  display: block !important;
  font-size: 14px !important;
  font-weight: 700;
  color: var(--sp-ink);
}

.lx-sec h2,
.fiesta-section,
.open-label {
  font-size: 26px !important;
  color: var(--sp-gold);
  margin: 8px 0 4px;
}

.lx-sec a {
  font-size: 16px;
  font-weight: 800;
  color: var(--sp-gold);
}

.lx-plans {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.lx-plan {
  display: block !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(255, 231, 168, 0.45) !important;
}

.lx-plan > .cc-mark {
  display: none;
}

.lx-plan h3 {
  font-size: 22px !important;
  margin: 0;
}

.lx-plan__price {
  font-size: 22px !important;
  color: var(--sp-gold) !important;
}

.lx-plan__meta,
.lx-plan__stats,
.lx-plan__stats span {
  font-size: 16px !important;
}

.lx-plan__stats strong {
  font-size: 18px !important;
  color: var(--sp-gold);
}

/* Me */
/* My account (lx-me) — full width, larger type & icons */
.tff-page--account .lx-me,
.sp-page--me.lx-me {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100% !important;
  max-width: none !important;
}

.tff-page--account .lx-me__hero,
.sp-page--me .lx-me__hero {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 4px 0;
}

.tff-page--account .lx-me__hero .cc-mark,
.sp-page--me .lx-me__hero .cc-mark {
  width: 68px;
  height: 68px;
  flex-shrink: 0;
}

.tff-page--account .lx-me__hi,
.sp-page--me .lx-me__hi {
  margin: 0;
  font-size: 15px !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sp-gold) !important;
}

.tff-page--account .lx-me__phone,
.sp-page--me .lx-me__phone {
  margin: 6px 0 0;
  font-size: 26px !important;
  font-weight: 900;
  line-height: 1.15;
  color: var(--sp-ink) !important;
}

.tff-page--account .lx-me__wallet,
.sp-page--me .lx-me__wallet {
  width: 100%;
  text-align: center;
  padding: 6px 0 10px !important;
}

.tff-page--account .lx-me__wallet > p,
.sp-page--me .lx-me__wallet > p {
  margin: 0;
  font-size: 15px !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sp-gold) !important;
  opacity: 1 !important;
}

.tff-page--account .lx-me__wallet strong,
.sp-page--me .lx-me__wallet strong {
  display: block;
  margin: 8px 0 14px;
  font-size: 50px !important;
  font-weight: 900;
  line-height: 1;
  color: var(--sp-gold) !important;
}

.tff-page--account .lx-me__wallet div,
.sp-page--me .lx-me__wallet div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 0 !important;
}

.tff-page--account .lx-me__wallet a,
.sp-page--me .lx-me__wallet a {
  min-height: 50px;
  font-size: 19px !important;
  font-weight: 900;
  border-radius: 0 !important;
}

.tff-page--account .lx-me__stats,
.sp-page--me .lx-me__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 10px;
  width: 100%;
}

.tff-page--account .lx-me__stats article,
.sp-page--me .lx-me__stats article {
  padding: 10px 6px !important;
  text-align: center;
  border-radius: 0 !important;
}

.tff-page--account .lx-me__stats span,
.sp-page--me .lx-me__stats span {
  font-size: 14px !important;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 250, 243, 0.88) !important;
}

.tff-page--account .lx-me__stats b,
.sp-page--me .lx-me__stats b {
  display: block;
  margin-top: 6px;
  font-size: 24px !important;
  font-weight: 900;
  color: var(--sp-gold) !important;
}

.tff-page--account .lx-me__menu,
.sp-page--me .lx-me__menu {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
  margin-top: 4px;
  overflow: visible !important;
  border-radius: 0 !important;
}

.tff-page--account .lx-me__menu a,
.sp-page--me .lx-me__menu a {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 58px;
  padding: 14px 2px !important;
  font-size: 21px !important;
  font-weight: 900;
  line-height: 1.25;
  color: var(--sp-ink) !important;
  border-bottom: 1px solid rgba(255, 231, 168, 0.45) !important;
  box-sizing: border-box;
}

.tff-page--account .lx-me__menu svg,
.sp-page--me .lx-me__menu svg {
  width: 34px !important;
  height: 34px !important;
  flex-shrink: 0;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--sp-gold) !important;
  fill: currentColor !important;
}

.tff-page--account .lx-me__menu a span,
.sp-page--me .lx-me__menu a span {
  flex: 1;
  text-align: left;
}

.tff-page--account .lx-me__out,
.sp-page--me .lx-me__out {
  justify-content: center;
  margin-top: 10px;
  border-bottom: 0 !important;
  color: #ffd0c4 !important;
  font-size: 20px !important;
}

.tff-page--account .lx-me__out svg,
.sp-page--me .lx-me__out svg {
  color: #ffd0c4 !important;
}

.open-me__hero {
  text-align: center;
  margin-bottom: 8px;
}

.open-me__phone {
  margin: 8px 0 0;
  font-size: 22px;
  font-weight: 900;
}

.open-balance {
  margin: 10px 0 4px;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

.open-kicker {
  margin: 0 0 14px;
  text-align: center;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sp-gold);
}

.open-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 12px;
  margin: 8px 0 22px;
  text-align: center;
}

.open-stats span {
  display: block;
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 4px;
}

.open-stats b {
  font-size: 22px;
  color: var(--sp-gold);
}

.open-me {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.open-menu {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
  margin: 0;
  padding: 0;
}

.open-menu a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: 14px 2px;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
  color: var(--sp-ink) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 231, 168, 0.45);
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.open-menu a:active {
  color: var(--sp-gold) !important;
}

.open-menu .is-out {
  color: #ffd0c4 !important;
  justify-content: center;
  border-bottom: 0;
  margin-top: 12px;
  min-height: 48px;
}

/* Holdings */
.open-hold__head,
.open-team__head {
  text-align: left;
  margin-bottom: 16px;
}

.sp-title {
  margin: 0;
  font-family: "Cinzel", Georgia, serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--sp-gold);
}

.sp-subtitle {
  margin: 6px 0 0;
  font-size: 17px;
  font-weight: 800;
}

.open-stats--3 {
  grid-template-columns: repeat(3, 1fr);
}

.hold-item {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 231, 168, 0.4);
  list-style: none;
}

.hold-item__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.hold-item__top h3 {
  margin: 0;
  font-size: 22px;
}

.hold-item__top strong {
  font-size: 20px;
  color: var(--sp-gold);
  white-space: nowrap;
}

.hold-item__line,
.hold-item__next {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}

.hold-list {
  margin: 0;
  padding: 0;
}

.pf-empty,
.fx-team__empty {
  font-size: 17px !important;
  font-weight: 800;
  line-height: 1.5;
  padding: 12px 0;
}

/* Team */
.open-code {
  margin: 4px 0 12px;
  font-size: 40px;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-align: center;
}

.open-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}

.open-levels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  text-align: center;
  margin: 8px 0 16px;
}

.open-levels article b {
  display: block;
  font-size: 28px;
  color: var(--sp-gold);
}

.open-levels article span,
.open-levels article small {
  display: block;
  font-size: 14px;
  font-weight: 800;
}

.open-note {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
  margin: 0 0 18px;
}

.fx-team__seg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 8px;
}

.fx-team__seg-btn {
  min-height: 46px;
  font-size: 17px !important;
  font-weight: 900;
  color: var(--sp-ink) !important;
  background: transparent !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
}

.fx-team__seg-btn.is-active {
  color: var(--sp-gold) !important;
  border-bottom-color: #ffe7a8 !important;
}

.fx-team__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 231, 168, 0.35);
}

.fx-team__avatar {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: transparent !important;
  border: 1px solid #ffe7a8 !important;
  color: var(--sp-gold) !important;
  font-size: 18px;
  font-weight: 900;
}

.fx-team__row-id {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
}

.fx-team__row-meta,
.fx-team__pill {
  font-size: 15px;
  font-weight: 800;
}

/* Sub pages */
.lx-sub__titles strong,
.tff-wal-head__title {
  font-size: 30px !important;
  color: var(--sp-gold) !important;
}

.lx-sub__titles span,
.tff-wal-block__lbl,
.tff-checkin-hero__sub {
  font-size: 16px !important;
}

.lx-sub__body {
  padding: 8px 18px 24px !important;
  font-size: 17px;
  line-height: 1.55;
}

.lx-info-card h2,
.lx-info-card h3 {
  font-size: 24px;
  color: var(--sp-gold);
}

.tff-amount__input,
.tff-gift-input,
input,
select,
textarea {
  background: transparent !important;
  color: var(--sp-ink) !important;
  border: 0 !important;
  border-bottom: 2px solid rgba(255, 231, 168, 0.7) !important;
  border-radius: 0 !important;
  font-size: 20px !important;
  box-shadow: none !important;
}

.tff-channel,
.tff-chip,
.tff-hist-filter {
  font-size: 16px !important;
  font-weight: 800;
  padding: 10px 4px !important;
  color: var(--sp-ink) !important;
}

.tff-channel.is-on,
.tff-chip.is-on,
.tff-hist-filter.is-active {
  color: var(--sp-gold) !important;
  border-bottom: 2px solid #ffe7a8 !important;
  background: transparent !important;
}

.tff-hist-card__title {
  font-size: 18px !important;
}

.tff-hist-card__amt {
  font-size: 20px !important;
  font-weight: 900;
  color: var(--sp-gold) !important;
}

.tff-checkin-hero__month {
  font-size: 28px !important;
  color: var(--sp-gold);
}

.tff-cal {
  font-size: 16px !important;
}

.tff-cal .dow {
  font-size: 14px !important;
}

.tff-spin-credits,
.tff-spin-note {
  font-size: 17px !important;
}

/* Dock — full width with splash image */
.lx-dock {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(255, 231, 168, 0.4) !important;
  background-color: #140a06 !important;
  background-image:
    linear-gradient(180deg, rgba(10, 5, 3, 0.35) 0%, rgba(10, 5, 3, 0.78) 55%, rgba(8, 4, 2, 0.92) 100%),
    var(--cc-bg-image) !important;
  background-size: cover !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.45) !important;
  padding:
    8px
    max(10px, env(safe-area-inset-left))
    calc(8px + env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-right)) !important;
  gap: 4px;
}

.lx-dock__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 52px;
  padding: 8px 4px 6px !important;
  font-size: 13px !important;
  font-weight: 900;
  color: var(--sp-ink) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: var(--sp-shadow);
  text-decoration: none;
}

.lx-dock__item svg {
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--sp-ink);
  fill: currentColor;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.85));
}

/* Active tab: same layout as others — gold highlight only */
.lx-dock__item.is-on {
  color: var(--sp-gold) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: var(--sp-title);
}

.lx-dock__item.is-on svg {
  color: var(--sp-gold) !important;
  fill: currentColor !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.85));
}

/* Auth */
.cc-auth.lx-auth {
  padding:
    calc(28px + env(safe-area-inset-top))
    22px
    calc(28px + env(safe-area-inset-bottom)) !important;
}

.cc-word,
.cc-hello {
  font-size: 34px !important;
  color: var(--sp-gold) !important;
}

.cc-tag,
.cc-hello__sub,
.cc-switch {
  font-size: 16px !important;
}

.cc-deco,
.cc-hero-band {
  display: none !important;
}

.lx-back,
.tff-wal-back,
.tff-info__back,
.fx-team__back,
.pf-nav__back {
  background: transparent !important;
  color: var(--sp-gold) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sp-page__head.lx-sub__head {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  margin-bottom: 8px;
}

.sp-page__head .sp-title {
  font-size: 30px;
}

/* Clear panels only — not every element (avoids mobile layout glitches). */
.tff-stage .lx-plan,
.tff-stage .lx-balance,
.tff-stage .lx-me__wallet,
.tff-stage .tff-sheet,
.tff-stage .lx-info-card,
.tff-stage .pf-slot__card,
.tff-stage .fx-team__slab,
.tff-stage .fx-team__pass,
.tff-stage .fx-team__ring,
.tff-stage .cc-panel {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .open-me__phone {
    font-size: 24px;
  }

  .open-balance {
    font-size: 44px;
  }

  .open-menu a {
    font-size: 21px;
    min-height: 54px;
  }

  .open-stats b {
    font-size: 24px;
  }

  .lx-sub__body {
    padding-left: var(--sp-pad-x) !important;
    padding-right: var(--sp-pad-x) !important;
  }
}
