@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --gw-bg: #0c0c0e;
  --gw-surface: #16161a;
  --gw-surface-hover: #1e1e24;
  --gw-card: #18181d;
  --gw-line: rgba(255, 255, 255, 0.08);
  --gw-line-hover: rgba(255, 255, 255, 0.15);
  --gw-text: #f4f4f5;
  --gw-muted: #9b9ba3;
  --gw-pink: #ff2d6a;
  --gw-pink-hover: #ff4d80;
  --gw-pink-subtle: rgba(255, 45, 106, 0.12);
  --gw-blue-verified: var(--gw-pink);
  --gw-max: 1180px;
  --gw-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
}

/* -------------------------------------------------------------------------- */
/* Global Reset & Base Typography                                             */
/* -------------------------------------------------------------------------- */
html, body {
  background-color: var(--gw-bg) !important;
  color: var(--gw-text) !important;
  font-family: var(--gw-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  text-decoration: none;
}

/* -------------------------------------------------------------------------- */
/* Header (Desktop) - Minimalist Sheer.com / OnlyFans Style                  */
/* -------------------------------------------------------------------------- */
.header {
  background: rgba(12, 12, 14, 0.95) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--gw-line) !important;
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 0 24px !important;
  height: 64px;
  display: flex;
  align-items: center;
}

.header .container {
  max-width: var(--gw-max);
  width: 100%;
  margin: 0 auto;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff !important;
  text-decoration: none;
}

.logo .mark {
  color: #fff !important;
  background: transparent !important;
  padding: 0 !important;
  font-weight: 800;
}

.header__options {
  background: transparent !important;
  display: flex;
  align-items: center;
  gap: 28px;
}

.header__options:before,
.header__options:after {
  display: none !important;
}

.main-menu__list {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-menu__item > a {
  background: transparent !important;
  color: var(--gw-muted) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 20px 2px !important;
  position: relative;
  transition: color 0.15s ease;
  display: inline-flex;
  align-items: center;
}

.main-menu__item > a:hover,
.main-menu__item.active > a {
  color: #fff !important;
  background: transparent !important;
}

.main-menu__item > a:hover:after,
.main-menu__item.active > a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gw-pink);
  border-radius: 3px 3px 0 0;
}

.main-menu__item > a.premium-link {
  color: var(--gw-pink) !important;
  font-weight: 700 !important;
}

/* -------------------------------------------------------------------------- */
/* Creator Page Hero / Profile Layout (1.jpg Desktop & Mobile)                */
/* -------------------------------------------------------------------------- */
.gw-creator {
  color: var(--gw-text);
  font-family: var(--gw-font);
  max-width: 100%;
  margin: 0 auto;
}

.gw-cover {
  position: relative;
  height: 280px;
  overflow: hidden;
  background: #18181d;
}

.gw-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-cover:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12,12,14,0.1) 0%, rgba(12,12,14,0.4) 60%, #0c0c0e 100%);
  pointer-events: none;
}

.gw-identity {
  max-width: var(--gw-max);
  margin: -60px auto 0;
  padding: 0 24px 12px;
  display: grid;
  grid-template-columns: 136px 1fr auto;
  gap: 20px 24px;
  align-items: end;
  position: relative;
  z-index: 2;
}

.gw-avatar {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #0c0c0e;
  background: #1c1c22;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.gw-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-meta {
  min-width: 0;
  padding-bottom: 6px;
}

.gw-handle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}

.gw-handle svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

.gw-bio {
  margin: 6px 0 0;
  color: var(--gw-muted);
  font-size: 14px;
  line-height: 1.5;
}

.gw-loc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: var(--gw-muted);
  font-size: 13px;
}

.gw-loc svg {
  width: 14px;
  height: 14px;
}

.gw-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  padding-bottom: 8px;
}

.gw-stats {
  display: flex;
  align-items: center;
  color: var(--gw-muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}

.gw-stats strong {
  color: #fff;
  font-size: 22px;
  letter-spacing: 0;
  display: block;
  text-align: center;
  font-weight: 800;
}

.gw-stats span {
  display: block;
  text-align: center;
  margin-top: 2px;
}

.gw-stats i {
  width: 1px;
  height: 30px;
  background: var(--gw-line);
  margin: 0 24px;
  display: block;
}

.gw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gw-pink) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px;
  padding: 12px 32px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  min-width: 180px;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(255, 45, 106, 0.28);
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

.gw-btn:hover,
.gw-btn:focus {
  background: var(--gw-pink-hover) !important;
  box-shadow: 0 6px 22px rgba(255, 45, 106, 0.4);
  transform: translateY(-1px);
}

.gw-btn:active {
  transform: translateY(0);
}

.gw-btn-subscribed {
  background: var(--gw-pink) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Tabs Navigation (Posts, Videos, Photos, About)                             */
/* -------------------------------------------------------------------------- */
.gw-tabs {
  max-width: var(--gw-max);
  margin: 20px auto 0;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid var(--gw-line);
}

.gw-tab {
  appearance: none;
  background: none !important;
  border: 0 !important;
  color: var(--gw-muted);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 0 16px;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
}

.gw-tab:hover {
  color: #fff;
}

.gw-tab.is-active {
  color: #fff;
}

.gw-tab.is-active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gw-pink);
  border-radius: 3px 3px 0 0;
}

.gw-tab-more {
  margin-left: auto;
  color: var(--gw-muted);
  padding: 6px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.gw-tab-more:hover {
  color: #fff;
}

.gw-about {
  display: none;
  max-width: var(--gw-max);
  margin: 0 auto;
  padding: 32px 24px;
  color: var(--gw-muted);
  font-size: 15px;
  line-height: 1.7;
}

.gw-about.is-active {
  display: block;
}

/* Tab Filtering */
body[data-gw-tab="videos"] .gw-feed-photos,
body[data-gw-tab="photos"] .gw-feed-videos,
body[data-gw-tab="about"] .gw-feed-videos,
body[data-gw-tab="about"] .gw-feed-photos {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Media Grid Feed & Cards (1.jpg 3 Columns Desktop / 2 Columns Mobile)       */
/* -------------------------------------------------------------------------- */
.gw-feed {
  max-width: var(--gw-max);
  margin: 0 auto;
  padding: 20px 24px;
}

.gw-feed .container {
  padding: 0 !important;
  max-width: 100% !important;
}

.gw-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gw-card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: var(--gw-card);
  aspect-ratio: 16 / 10;
  display: block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gw-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.gw-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.gw-card:hover img {
  transform: scale(1.03);
}

.gw-card .gw-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  background: var(--gw-pink);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* Blur the image alone; badges and information stay sharp. */
.gw-card-locked > img { filter: blur(8px); }
.gw-lock {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.gw-lock-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 56px;
  min-height: 56px;
  padding: 12px 16px;
  box-sizing: border-box;
  border: 2px solid #ff8bbb;
  border-radius: 999px;
  background: var(--gw-pink);
  box-shadow: 0 0 0 6px rgba(255, 52, 143, .18), 0 4px 24px rgba(255, 52, 143, .5);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.gw-lock svg { width: 24px; height: 24px; flex-shrink: 0; }

.gw-empty {
  grid-column: 1 / -1;
  color: var(--gw-muted);
  padding: 48px 0;
  text-align: center;
  font-size: 15px;
}

.gw-more {
  margin: 24px 0 12px;
  text-align: center;
}

.gw-more a {
  display: inline-flex;
  padding: 12px 28px;
  border-radius: 999px;
  border: 1px solid var(--gw-line);
  background: var(--gw-surface);
  color: var(--gw-text);
  font-size: 14px;
  font-weight: 600;
  transition: all 0.15s ease;
}

.gw-more a:hover {
  border-color: var(--gw-pink);
  color: #fff;
  background: var(--gw-surface-hover);
}

/* -------------------------------------------------------------------------- */
/* Mobile View & Dock Navigation (1.jpg Mobile iPhone View)                   */
/* -------------------------------------------------------------------------- */
.gw-creator-top {
  display: none;
}

.gw-dock {
  display: none;
}

@media (max-width: 767px) {
  .header {
    display: none !important;
  }

  .gw-creator-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 90;
    height: 52px;
    padding: 0 14px;
    background: rgba(12, 12, 14, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--gw-line);
    color: #fff;
  }

  .gw-creator-top a,
  .gw-creator-top button {
    color: #fff;
    background: none !important;
    border: 0;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .gw-creator-top strong {
    font-size: 16px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .gw-cover {
    height: 200px;
  }

  .gw-identity {
    margin-top: -42px;
    padding: 0 16px 8px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .gw-avatar {
    width: 86px;
    height: 86px;
    border-width: 3px;
  }

  .gw-handle {
    font-size: 22px;
  }

  .gw-side {
    width: 100%;
    align-items: stretch;
    padding-bottom: 0;
    gap: 12px;
  }

  .gw-stats {
    justify-content: flex-start;
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    font-weight: 600;
    gap: 16px;
  }

  .gw-stats strong,
  .gw-stats span {
    display: inline;
    font-size: 14px;
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
  }

  .gw-stats i {
    display: none;
  }

  .gw-btn {
    width: 100%;
    min-width: 0;
    padding: 13px 20px;
    font-size: 15px;
  }

  .gw-tabs {
    padding: 0 16px;
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .gw-tabs::-webkit-scrollbar {
    display: none;
  }

  .gw-feed {
    padding: 14px 16px 84px;
  }

  .gw-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  /* Bottom Fixed Dock */
  .gw-dock {
    display: grid;
    grid-template-columns: 1fr 1fr 1.3fr 1fr 1fr;
    align-items: center;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    height: 64px;
    padding: 4px 6px calc(6px + env(safe-area-inset-bottom));
    background: rgba(12, 12, 14, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--gw-line);
  }

  .gw-dock a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--gw-muted);
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
  }

  .gw-dock a.is-active,
  .gw-dock a:hover {
    color: #fff;
  }

  .gw-dock a svg {
    width: 22px;
    height: 22px;
  }

  .gw-dock-join {
    background: var(--gw-pink) !important;
    color: #fff !important;
    border-radius: 999px;
    padding: 10px 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 4px;
    flex-direction: row !important;
    box-shadow: 0 3px 12px rgba(255, 45, 106, 0.35);
  }

  .gw-dock-badge {
    position: absolute;
    top: -2px;
    right: 22%;
    width: 8px;
    height: 8px;
    background: var(--gw-pink);
    border-radius: 50%;
  }
}

/* Hide leftover unwanted tube elements on creator pages */
.comments_models,
.join-spot-01,
.join-spot-02,
.join-block-thin,
.footer-text {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Kill tube orange (#f86900) and green (#70cd05 / #7da530 / #8cc80d)         */
/* all-dark.css dark overlay loads first; these rules must win.               */
/* -------------------------------------------------------------------------- */
.main-menu__item .premium-link,
a.premium-link,
.footer-menu__item a.premium-link {
  color: var(--gw-pink) !important;
  background: transparent !important;
}

.main-menu__item:hover > a.premium-link,
.main-menu__item.active > a.premium-link {
  color: var(--gw-pink-hover) !important;
  background: transparent !important;
}

.main-menu__drop__item span,
.main-menu__drop__item.active > a,
.main-menu__drop__item:hover > a {
  background: var(--gw-pink) !important;
  color: #fff !important;
}

.btn:hover,
.btn.active,
.dropdown__block:hover > .btn,
.drop-inner li a:hover,
.pagination li a:hover,
.pagination li.active a,
.btn--color,
.btn--duble span,
.btn--duble:hover strong,
.info-bar__button:hover,
.info-bar__button.active,
.album-images__item .btn:hover,
.price-list__item input[type=radio]:checked + .price-list__item__body,
.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__button,
.playing__holder-btn {
  background: var(--gw-pink) !important;
  border-color: var(--gw-pink) !important;
  color: #fff !important;
}

.btn--green,
.btn--unlock,
.btn--alt-hover:hover,
.btn--duble strong,
.success,
.info-bar__button span {
  background: var(--gw-pink) !important;
  border-color: var(--gw-pink) !important;
  color: #fff !important;
}

.btn--unlock .lock {
  background: #6b1433 !important;
  color: var(--gw-pink) !important;
}

.btn--unlock span {
  color: #fff !important;
}

.btn--unlock--danger,
.btn--unlock--danger .lock {
  background: var(--gw-pink) !important;
  color: #fff !important;
}

.thumb-spot__rating {
  border-color: var(--gw-pink) !important;
  background: var(--gw-pink) !important;
}

.thumb:hover .thumb__info,
.thumb:hover .thumb__line,
.hover .thumb__info,
.drop-categories__item a:hover .drop-categories__title {
  background: rgba(12, 12, 14, 0.78) !important;
}

.thumb--albums:hover .thumb__info,
.thumb--albums:hover .thumb__line,
.thumb--models:hover .thumb__info,
.thumb--models:hover .thumb__line {
  background: rgba(255, 45, 106, 0.85) !important;
}

.footer-menu__item a {
  color: var(--gw-muted) !important;
}

.footer-menu__item a:hover,
.footer-menu__item.active a,
.footer-menu__item a.premium-link,
.footer-menu__item a.premium-link:hover {
  color: var(--gw-pink) !important;
}

.join-spot-01__title,
.join-spot-02__title,
.join-block-thin__text span,
.list-sort .title a,
.playing,
.mark-color,
.mark-color a,
.modal__join__text span,
.price-list__text span,
.price-list__price,
.media-container__join__text strong,
.btn__like,
.btn__like:hover,
.btn__like.voted {
  color: var(--gw-pink) !important;
}

.btn__like:hover,
.btn__like.voted {
  text-shadow: 0 0 13px rgba(255, 45, 106, 0.55) !important;
}

.mark-color2,
.info-bar__button .icon-icons8-Plus,
.btn__like {
  color: var(--gw-pink) !important;
}

.item--bordered:hover img,
.item--bordered.flex-active-slide img {
  outline-color: var(--gw-pink) !important;
}

.album-images__item .btn {
  background: rgba(255, 45, 106, 0.5) !important;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: var(--gw-pink) !important;
}

.comments__item__avatar {
  background: var(--gw-pink) !important;
}

.drop-media li:hover {
  background: var(--gw-pink) !important;
}

.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__text strong,
.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__text span,
.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__price {
  color: #fff !important;
}

/* Creator directory cards */
.gw-creators {
  max-width: var(--gw-max);
  margin: 0 auto;
  padding: 24px 24px 48px;
}

.gw-creators .title {
  color: #fff !important;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}

.gw-creators-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gw-creator-card {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: var(--gw-card);
  aspect-ratio: 3 / 4;
  text-decoration: none !important;
  color: #fff !important;
}

.gw-creator-card img,
.gw-creator-card .gw-creator-card-empty {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-creator-card-empty {
  background: #1c1c22;
}

.gw-creator-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(12, 12, 14, 0.92) 100%);
  pointer-events: none;
}

.gw-creator-card-meta {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
}

.gw-creator-card-meta strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.gw-creator-card-meta span {
  display: block;
  margin-top: 4px;
  color: var(--gw-muted);
  font-size: 12px;
  font-weight: 600;
}

.gw-creator-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.gw-creator-card:hover:after {
  background: linear-gradient(180deg, rgba(255, 45, 106, 0.12) 30%, rgba(255, 45, 106, 0.88) 100%);
}

@media (max-width: 991px) {
  .gw-creators-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .gw-creators {
    padding: 16px 16px 84px;
  }
  .gw-creators-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

.gw-become {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}

.gw-become-card {
  background: var(--gw-card);
  border: 1px solid var(--gw-line);
  border-radius: 18px;
  padding: 32px 28px;
}

.gw-become-kicker {
  margin: 0 0 8px;
  color: var(--gw-pink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.gw-become-card h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.gw-become-lead,
.gw-become-note,
.gw-become-url {
  color: var(--gw-muted);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 16px;
}

.gw-become-url strong {
  color: #fff;
  font-weight: 600;
  word-break: break-all;
}

.gw-become-errors {
  list-style: none;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 45, 106, 0.12);
  color: #ff8fb0;
}

.gw-become-errors li + li {
  margin-top: 6px;
}

.gw-become-form {
  display: grid;
  gap: 14px;
}

.gw-become-form label {
  display: grid;
  gap: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

.gw-become-form input[type="text"],
.gw-become-form input[type="email"],
.gw-become-form input[type="password"],
.gw-become-form textarea {
  width: 100%;
  background: #101014 !important;
  border: 1px solid var(--gw-line) !important;
  border-radius: 10px;
  color: #fff !important;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
}

.gw-become-form input:focus,
.gw-become-form textarea:focus {
  outline: none;
  border-color: var(--gw-pink) !important;
  box-shadow: 0 0 0 3px var(--gw-pink-subtle);
}

.gw-become-check {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500 !important;
  color: var(--gw-muted) !important;
}

.gw-become-check input {
  margin-top: 3px;
}

.gw-become-form .gw-btn {
  width: 100%;
  margin-top: 8px;
}

.gw-become-hp {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

.gw-become-note a {
  color: var(--gw-pink);
}

@media (max-width: 767px) {
  .gw-become {
    padding: 24px 16px 96px;
  }
  .gw-become-card {
    padding: 22px 16px;
  }
  .gw-become-card h1 {
    font-size: 26px;
  }
}

/* Shared navigation foundation — 2026-09-05. */
.gw-dock { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gwfan a:focus-visible, .gwfan button:focus-visible, .gwfan input:focus-visible {
  outline: 2px solid var(--gw-pink);
  outline-offset: 4px;
}

/* Phase 1 — shared frame and creator discovery. */
.gw-site-header { position: sticky; top: 0; z-index: 100; background: #0c0c0ef5; border-bottom: 1px solid var(--gw-line); }
.gw-header-inner { max-width: 1180px; margin: auto; padding: 0 24px; min-height: 72px; display: flex; align-items: center; gap: 48px; }
.gw-brand { color: var(--gw-text); font-size: 25px; font-weight: 800; letter-spacing: -1px; white-space: nowrap; }
.gw-brand span { color: var(--gw-pink); }
.gw-primary { display: flex; align-self: stretch; gap: 28px; }
.gw-primary a { display: flex; align-items: center; font-size: 14px; color: var(--gw-muted); border-bottom: 2px solid transparent; }
.gw-primary a:hover, .gw-primary a[aria-current] { color: var(--gw-text); border-color: var(--gw-pink); }
.gw-account { margin-left: auto; display: flex; align-items: center; gap: 20px; font-size: 14px; }
.gw-action { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 13px 22px; border-radius: 6px; background: var(--gw-pink); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.4; }
.gw-action:hover { background: var(--gw-pink-hover); color: white; }
.gw-account-link:hover, .gw-text-link:hover, .gw-site-footer a:hover { color: var(--gw-pink); }
.gw-signout { color: var(--gw-muted); }
.gw-skip { position: fixed; top: -80px; left: 16px; z-index: 200; background: var(--gw-pink); padding: 12px 20px; }
.gw-skip:focus { top: 10px; }
.gw-discovery-intro, .gw-directory-intro { max-width: 1180px; margin: auto; padding: 64px 24px 40px; }
.gw-eyebrow { color: var(--gw-pink); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin: 0 0 18px; }
.gw-discovery-intro h1, .gw-directory-intro h1 { color: var(--gw-text); font-size: clamp(34px, 4.5vw, 58px); line-height: 1.12; font-weight: 700; letter-spacing: -.045em; margin: 0 0 22px; }
.gw-discovery-intro h1 span { color: #9b9ba3; }
.gw-discovery-intro > p:not(.gw-eyebrow), .gw-directory-intro > p:not(.gw-eyebrow) { color: var(--gw-muted); max-width: 530px; font-size: 16px; line-height: 1.7; margin: 0; }
.gw-intro-actions { display: flex; align-items: center; gap: 26px; margin-top: 28px; }
.gw-text-link { font-size: 14px; }
.gw-creators { padding: 28px 24px 48px; }
.gw-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.gw-section-heading h2 { margin: 0; font-size: 23px; font-weight: 650; letter-spacing: -.03em; color: var(--gw-text); }
.gw-section-heading > a { font-size: 13px; color: var(--gw-muted); }
.gw-section-heading > a:hover { color: var(--gw-pink); }
.gw-creators-grid { gap: 20px; }
.gw-creator-card { aspect-ratio: auto; border-radius: 8px; border: 1px solid var(--gw-line); background: #131316; transition: border-color .15s; }
.gw-card-portrait { aspect-ratio: 1; overflow: hidden; background: #1b1b20; }
.gw-card-portrait img { height: 100%; width: 100%; object-fit: cover; }
.gw-creator-card:after { display: none; }
.gw-creator-card:hover .gw-creator-card-meta, .gw-creator-card:focus-visible .gw-creator-card-meta { background: rgba(255, 45, 106, 0.85); }
.gw-creator-card:hover .gw-creator-card-meta span, .gw-creator-card:focus-visible .gw-creator-card-meta span { color: #fff; }
.gw-creator-card:hover { transform: none; box-shadow: none; border-color: #686872; }
.gw-creator-card-meta { position: relative; left: auto; right: auto; bottom: auto; padding: 16px; }
.gw-creator-card-meta strong { font-size: 16px; overflow-wrap: anywhere; }
.gw-creator-card-meta > span { font-size: 12px; font-weight: 400; margin-top: 8px; }
.gw-creator-card-meta .gw-card-action { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--gw-line); color: #e5e5e9; display: flex; justify-content: space-between; }
.gw-card-action span { margin: 0; color: var(--gw-pink); }
.gw-card-portrait .gw-creator-card-empty { display: flex; align-items: center; justify-content: center; color: #5d5d69; font-size: 64px; }
.gw-empty { border: 1px solid var(--gw-line); border-radius: 8px; padding: 36px 24px; text-align: center; }
.gw-empty h3 { color: var(--gw-text); font-size: 18px; margin: 0 0 12px; }
.gw-empty p { color: var(--gw-muted); margin: 0; }
.gw-home-media { border-top: 1px solid var(--gw-line); padding-top: 24px; }
.gw-home-media .title { font-size: 23px; text-transform: none; letter-spacing: -.03em; }

/* Card authors identify the member who published each item. */
.thumb .gw-card-author {
  display: block;
  margin: 2px 0 2px;
  color: #b9b9c2;
  font-size: 11px;
  line-height: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.thumb:hover .gw-card-author,
.thumb.hover .gw-card-author { color: #fff; }

/* Video cards keep their details visible, matching album cards on hover. */
.gwfan .thumb--videos .thumb__info {
  padding: 6px 10px;
  transform: none !important;
}
.gwfan .thumb--videos .thumb-spot__title {
  height: 17px;
  margin-bottom: 2px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.gwfan .thumb--videos:hover .thumb__info,
.gwfan .thumb--videos:hover .thumb__line,
.gwfan .thumb--videos.hover .thumb__info,
.gwfan .thumb--videos.hover .thumb__line {
  background: rgba(255, 45, 106, 0.9) !important;
}
.gwfan .thumb--videos:hover .thumb-spot__data,
.gwfan .thumb--videos.hover .thumb-spot__data {
  color: #fff;
}
.gw-site-footer { border-top: 1px solid var(--gw-line); margin-top: 40px; }
.gw-footer-inner { max-width: 1180px; padding: 32px 24px; margin: auto; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.gw-footer-inner p { color: var(--gw-muted); margin: 0; font-size: 12px; }
.gw-footer-inner nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 18px; font-size: 12px; color: var(--gw-muted); }
.gw-nav-icon { font-size: 24px; line-height: 26px; }
@media (max-width: 767px) {
 .gw-header-inner { min-height: 60px; padding: 0 16px; gap: 16px; }
 .gw-brand { font-size: 23px; }
 .gw-primary { display: none; }
 .gw-account { gap: 14px; font-size: 13px; }
 .gw-account .gw-action { padding: 9px 14px; font-size: 13px; }
 .gw-discovery-intro, .gw-directory-intro { padding: 36px 16px 24px; }
 .gw-discovery-intro h1, .gw-directory-intro h1 { font-size: 38px; }
 .gw-discovery-intro > p:not(.gw-eyebrow), .gw-directory-intro > p:not(.gw-eyebrow) { font-size: 14px; }
 .gw-intro-actions { gap: 20px; flex-wrap: wrap; }
 .gw-creators { padding: 24px 16px 32px; }
 .gw-section-heading { gap: 12px; }
 .gw-section-heading h2 { font-size: 20px; }
 .gw-section-heading > a { font-size: 11px; }
 .gw-creators-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .gw-creator-card-meta { padding: 12px; }
 .gw-creator-card-meta strong { font-size: 13px; }
 .gw-creator-card-meta > span { font-size: 11px; line-height: 1.5; }
 .gw-creator-card-meta .gw-card-action { margin-top: 12px; }
 .gw-site-footer { margin-bottom: calc(72px + env(safe-area-inset-bottom)); }
 .gw-footer-inner { padding: 24px 16px; gap: 18px; }
 .gw-footer-inner nav { margin-left: 0; width: 100%; }
 .gw-dock { grid-template-columns: repeat(5, minmax(0, 1fr)); height: auto; min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) { .gw-creator-card, .gw-creator-card:after { transition: none; } }
.gwfan .main { background: none; }
.gwfan #modal-logon { background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; }
.gwfan #modal-logon .title__modal { font-size: 26px; font-weight: 650; }
.gwfan #modal-logon .modal__join__title { font-size: 18px; text-transform: none; }
.gwfan #modal-logon .btn--duble { background: transparent; }
.gwfan #modal-logon .btn--duble strong { font-size: 15px; padding: 13px 18px; border-radius: 6px; text-transform: none; }
.gwfan #modal-logon .btn--duble span { background: transparent !important; color: var(--gw-muted) !important; font-size: 11px; line-height: 1.5; text-transform: none; padding: 12px 0 0; }

/* Album carousel controls share the GWfan accent. */
.gwfan .album-view .flex-direction-nav a:hover .rotated,
.gwfan .album-view .flex-direction-nav a:focus-visible .rotated {
  background: var(--gw-pink);
}
.gwfan .album-view .flex-direction-nav a:focus-visible .rotated i {
  color: #fff;
}

.gwfan .thumb--videos .thumb-spot__data { line-height: 14px; }
/* Unified creator editor, image framing and native token actions. */
.gw-editor { margin: 24px 0 36px; padding: 24px; background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; }
.gw-editor-note,.gw-image-field small { color: var(--gw-muted); font-size: 13px; line-height: 1.5; }
.gw-editor label,.gw-action-dialog label { display: block; margin: 16px 0 8px; font-size: 14px; color: var(--gw-text); }
.gw-editor input:not([type=hidden]),.gw-editor textarea,.gw-action-dialog input,.gw-action-dialog textarea { box-sizing:border-box; width:100%; background:#101014; color:var(--gw-text); border:1px solid var(--gw-line); border-radius:5px; padding:10px; font:inherit; }
.gw-editor textarea,.gw-action-dialog textarea { resize:vertical; }
.gw-image-fields { display:grid; grid-template-columns:1fr 1.5fr; gap:24px; }
.gw-image-preview { display:block; width:180px; height:180px; object-fit:cover; border-radius:6px; }
.gw-banner-preview { width:100%; height:auto; aspect-ratio:3; }
.gw-image-field small { display:block; margin-top:8px; }
.gw-image-field button { padding:8px 0; color:var(--gw-pink); background:none; border:0; }
.gw-editor-details { display:grid; grid-template-columns:1fr 1fr .7fr; gap:18px; }
.gw-form-status { font-size:13px; line-height:1.5; color:var(--gw-text); margin:12px 0; }
.gw-crop-dialog,.gw-action-dialog { color:var(--gw-text); background:#16161a; border:1px solid var(--gw-line); border-radius:10px; padding:24px; width:min(580px,calc(100vw - 32px)); max-height:90vh; overflow:auto; }
.gw-crop-dialog::backdrop,.gw-action-dialog::backdrop { background:#000b; }
.gw-crop-dialog h2,.gw-action-dialog h2 { margin:0 0 16px; font-size:23px; color:var(--gw-text); }
.gw-crop-dialog p { color:var(--gw-muted); font-size:13px; }
.gw-crop-dialog canvas { display:block; width:100%; height:auto; max-height:55vh; object-fit:contain; touch-action:none; cursor:move; }
.gw-crop-dialog input[type=range] { width:100%; accent-color:var(--gw-pink); }
.gw-crop-nudge,.gw-crop-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:16px; }
.gw-crop-dialog button,.gw-action-dialog button { padding:10px 16px; border:1px solid var(--gw-line); border-radius:5px; color:white; background:#25252c; }
.gw-crop-actions .gw-action { background:var(--gw-pink); }
.gw-profile-secondary { display:flex; gap:12px; margin-top:12px; }
.gw-profile-secondary a,.gw-profile-secondary button { flex:1; padding:10px 16px; background:var(--gw-surface); border:1px solid var(--gw-line); color:var(--gw-text); border-radius:5px; text-align:center; font-size:13px; }
.gw-profile-secondary button:hover { border-color:var(--gw-pink); }
.gw-token-balance { background:var(--gw-pink-subtle); color:var(--gw-pink); border:1px solid var(--gw-line); border-radius:5px; padding:8px 12px; white-space:nowrap; font:inherit; }
.gw-editor [hidden] { display:none; }
@media(max-width:767px){.gw-editor{padding:16px}.gw-image-fields,.gw-editor-details{grid-template-columns:1fr}.gw-account{gap:8px}.gw-account-link{font-size:11px}.gw-token-balance{padding:7px;font-size:11px}.gw-signout{font-size:11px}.gw-crop-dialog,.gw-action-dialog{padding:16px}.gw-editor .gw-section-heading{align-items:flex-start;flex-direction:column}.gw-site-header .gw-header-inner{gap:8px}}

.gw-message-warning { padding:12px; border:1px solid var(--gw-pink); border-radius:5px; background:rgba(239,42,130,.09); color:var(--gw-text); }

/* Native dialog positioning must override the theme reset. */
dialog.gw-action-dialog { position:fixed; inset:0; margin:auto; box-sizing:border-box; height:fit-content; }
dialog.gw-confirmation-dialog { width:min(340px,calc(100vw - 32px)); padding:28px 24px; text-align:center; }
dialog.gw-confirmation-dialog h2 { font-size:20px; line-height:1.4; margin:0 0 20px; }
dialog.gw-confirmation-dialog > button { display:inline-flex; background:var(--gw-pink); min-width:100px; }
.gw-action-dialog [hidden] { display:none !important; }

/* Shared account layout and discovery cards. */
.gw-account-page, .gw-create { box-sizing:border-box; max-width:1120px; margin:0 auto; padding:38px 24px 70px; font-size:15px; line-height:1.5; }
.gw-account-heading h1, .gw-create .gw-account-heading h1 { margin:0 0 8px; color:var(--gw-text); font-size:clamp(26px,3vw,38px); font-weight:700; line-height:1.2; letter-spacing:-.03em; }
.gw-account-heading p { margin:0; color:var(--gw-muted); font-size:14px; }
.gw-account-tabs { display:flex; gap:28px; margin:28px 0; border-bottom:1px solid var(--gw-line); }
.gw-account-tabs a { padding:12px 0; border-bottom:2px solid transparent; color:var(--gw-muted); font-size:14px; font-weight:600; white-space:nowrap; }
.gw-account-tabs a:hover, .gw-account-tabs a[aria-current] { color:var(--gw-text); border-color:var(--gw-pink); }
.gw-header-create { padding:10px 18px; gap:8px; white-space:nowrap; }
.gw-account-page .full-width-box { margin:0; padding:0; background:none; }
.gw-account-page .cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gw-account-page .cols:after { display:none; }
.gw-account-page .cols .col { float:none; width:auto; margin:0; padding:20px; min-width:0; background:var(--gw-surface); border:1px solid var(--gw-line); border-radius:8px; }
.gw-account-page .title, .gw-account-page h2 { font-size:20px; line-height:1.35; font-weight:600; text-transform:none; letter-spacing:-.02em; }
.gw-account-page input, .gw-account-page textarea, .gw-account-page select, .gwfan button { font-family:var(--gw-font); }
.gw-account-page .gw-editor { margin-top:28px; }
.gw-creators-grid, .gw-feed .gw-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.gw-creator-card, .gw-feed-photos .gw-card { aspect-ratio:2/3; border-radius:8px; border:1px solid var(--gw-line); }
.gw-card-portrait { position:absolute; inset:0; aspect-ratio:auto; }
.gw-creator-card-meta, .gw-media-meta { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:12px; background:linear-gradient(transparent,rgba(12,12,14,.95)); color:var(--gw-text); }
.gw-creator-card-meta strong, .gw-media-meta strong { display:block; font-size:14px; line-height:1.4; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gw-creator-card-meta > span, .gw-media-meta > span { display:block; margin-top:4px; color:#d4d4da; font-size:12px; line-height:1.5; font-weight:400; }
.gw-card .gw-badge { top:10px; bottom:auto; max-width:calc(100% - 20px); box-sizing:border-box; font-size:11px; font-weight:600; letter-spacing:0; }
.gw-feed-videos .gw-card { aspect-ratio:16/10; border-radius:8px; }
.gw-card:hover .gw-media-meta, .gw-card:focus-visible .gw-media-meta, .gw-creator-card:hover .gw-creator-card-meta, .gw-creator-card:focus-visible .gw-creator-card-meta { background:rgba(255,45,106,.9); }
.gw-feed .gw-lock-pill { min-width:40px; min-height:40px; padding:8px; font-size:12px; }
.gwfan .thumb-spot__title { font-size:14px; font-weight:600; }
.gwfan .thumb--albums, .gwfan .thumb--videos { border-radius:8px; }
@media(max-width:991px) { .gw-account-page .cols { grid-template-columns:1fr; } .gw-creators-grid, .gw-feed .gw-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 .gw-account-page, .gw-create { padding:28px 16px 48px; }
 .gw-account-tabs { gap:24px; margin:24px 0; }
 .gw-account-tabs a { font-size:13px; }
 .gw-creators-grid, .gw-feed .gw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .gw-header-inner { flex-wrap:wrap; padding-top:10px; padding-bottom:10px; }
 .gw-account { flex-wrap:wrap; justify-content:flex-end; }
 .gw-account .gw-header-create { padding:8px 12px; font-size:12px; }
 .gw-creator-card-meta, .gw-media-meta { padding:10px; }
 .gw-creator-card-meta strong, .gw-media-meta strong { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .gw-card, .gw-card img { transition:none; } }

/* Account and voucher dialogs: shared site palette and clear primary actions. */
.fancybox-skin:has(.gw-account-modal) { background: var(--gw-surface); border: 1px solid var(--gw-line-hover); border-radius: 18px; box-shadow: 0 24px 80px #0009; color: var(--gw-text); }
.gw-account-modal, .gw-account-modal * { box-sizing: border-box; }
.gw-account-modal { width: 440px; max-width: 100%; padding: 28px; background: var(--gw-surface); color: var(--gw-text); font-family: var(--gw-font); border-radius: 14px; }
.gw-account-modal .modal__window { width: auto; padding: 0; background: none; border: 0; }
.gw-account-modal .title__modal { margin: 0 0 12px; padding: 0; color: var(--gw-text); font-size: 26px; font-weight: 700; line-height: 1.2; text-align: left; text-transform: none; background: none; }
.gw-account-modal p { margin: 0 0 20px; color: #c5c5cd; font-size: 14px; line-height: 1.6; }
.gw-account-modal .popup-holder { padding: 0; }
.gw-account-modal .row, .gw-account-modal .modal__window__row { margin: 0 0 16px; padding: 0; }
.gw-account-modal label { display: block; margin: 0 0 8px; color: var(--gw-text); font-size: 13px; font-weight: 600; line-height: 1.4; }
.gw-account-modal .textfield, .gw-account-modal .input { display: block; width: 100%; height: 46px; padding: 12px 14px; border: 1px solid #45454f; border-radius: 8px; background: var(--gw-bg); color: var(--gw-text); font: 400 16px var(--gw-font); box-shadow: none; }
.gw-account-modal input::placeholder { color: #a6a6b0; opacity: 1; }
.gw-account-modal input:focus { border-color: var(--gw-pink); outline: 2px solid var(--gw-pink-subtle); outline-offset: 2px; }
.gw-account-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin: 8px 0 0; padding: 12px 18px; border: 0; border-radius: 8px; background: var(--gw-pink); color: #fff !important; font: 600 15px/1.4 var(--gw-font); text-align: center; text-decoration: none; cursor: pointer; }
.gw-account-button:hover { background: var(--gw-pink-hover); }
.gw-account-button:focus-visible { outline: 2px solid var(--gw-text); outline-offset: 3px; }
.gw-account-button:disabled { opacity: .6; cursor: wait; }
.gw-account-button--secondary { background: var(--gw-surface-hover); border: 1px solid #555560; }
.gw-account-button--secondary:hover { background: #303038; }
.gw-account-modal .bottom, .gw-account-modal .btn__row { padding: 0; margin: 16px 0 0; background: none; }
.gw-account-modal .captcha-control { margin-bottom: 16px; }
.gw-account-modal .field-error, .gw-account-modal .generic-error { position: static; color: #ff9eb9; font-size: 13px; line-height: 1.5; }
.gw-account-modal .gw-account-footer { margin: 20px 0 0; text-align: center; font-size: 13px; }
.gw-account-footer a { color: #ff80a5; font-weight: 600; }
.gw-account-confirmation { text-align: center; }
.gw-account-confirmation .title__modal { text-align: center; }
.gw-account-confirmation .success { margin: 0 0 24px; padding: 0; background: none; border: 0; color: #d6d6dd; font-size: 15px; line-height: 1.6; }
.gw-account-check { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin: 0 auto 20px; border-radius: 50%; background: var(--gw-pink-subtle); color: #ff80a5; font-size: 26px; }
@media (max-width: 520px) { .gw-account-modal { width: 100%; padding: 22px 12px; } .gw-account-modal .title__modal { font-size: 23px; } }
.gw-account-modal.modal .title__modal { margin: 0 0 12px !important; border-bottom: 0; }
.gw-account-creator-link { display: flex; flex-direction: column; gap: 5px; margin: 0 0 24px; padding: 14px 16px; border: 1px solid #ff80a580; border-radius: 8px; background: var(--gw-pink-subtle); color: var(--gw-text); font-size: 14px; line-height: 1.5; }
.gw-account-creator-link span { color: #ff9eb9; }
.gw-account-creator-link:hover { background: #ff2d6a30; border-color: var(--gw-pink); }
.gw-account-creator-link:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 3px; }

/* Profile actions and compact fan signup — 2026-09-13. */
.gw-verified { color:var(--gw-pink); vertical-align:middle; }
.gw-profile-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100%; max-width:480px; }
.gw-profile-actions .gw-btn { flex-direction:column; min-width:0; width:100%; min-height:50px; padding:8px 10px; box-sizing:border-box; font-size:13px; line-height:1.3; text-align:center; }
.gw-profile-actions .gw-btn small { display:block; margin-top:0; font-size:11px; font-weight:400; }
.gw-profile-actions .gw-form-status { grid-column:1/-1; margin:0; }
.gwfan .album-view + .info-bar .btn__like { color:#fff !important; }
.gwfan .album-view + .info-bar .btn__dislike { color:var(--gw-pink) !important; }
.gw-signup-modal { padding:18px 22px; }
.gw-signup-modal .gw-account-creator-link { flex-direction:row; align-items:center; margin-bottom:12px; padding:9px 12px; }
.gw-signup-modal .row { margin-bottom:9px; }
.gw-signup-modal .field-label { margin:0 0 3px; padding:0; }
.gw-signup-modal .textfield { height:40px; padding:8px 10px; }
.gw-signup-modal .bottom { margin-top:10px; }
.gw-signup-modal .captcha-control { margin-bottom:0; }
.gw-signup-modal .captcha-control .image { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto; align-items:center; column-gap:12px; row-gap:3px; padding:0; margin:0; width:100%; }
.gw-signup-modal .captcha-control .image img { position:static; float:none; width:100%; height:auto; margin:0; grid-column:1; grid-row:1/3; }
.gw-signup-modal .captcha-control .image label { margin:0; width:auto; grid-column:2; grid-row:1; align-self:end; }
.gw-signup-modal .captcha-control .image input { width:100%; margin:0; grid-column:2; grid-row:2; align-self:start; }
.gw-signup-modal .captcha-control .field-error { grid-column:1/-1; }
.gw-signup-modal .gw-account-footer { margin-top:12px; }
@media(max-width:520px) { .gw-signup-modal { padding:16px 10px; } }

/* Follow-up: equal creator actions and shared login treatment. */
.gw-profile-actions { align-items:stretch; }
.gw-profile-actions > .gw-btn { height:44px; min-height:44px; margin:0; align-self:stretch; border-radius:8px; padding:5px 12px; }
.gw-signup-modal .gw-account-creator-link { justify-content:space-between; gap:8px; font-size:13px; white-space:nowrap; }
.gw-signup-modal .gw-account-creator-link > span { text-decoration:underline; font-weight:600; }
.gw-login-modal .modal__window__form { width:100%; float:none; padding:0; margin:0; }
.gw-login-modal .modal__window__label { padding:0; margin-bottom:4px; }
.gw-login-modal .btn__row { display:flex; flex-direction:column; gap:12px; }
.gw-login-modal .btn__row .gw-account-button { margin:0; }
.gw-login-modal .link__holder { display:flex; justify-content:space-between; gap:12px; float:none; margin:0; width:100%; font-size:12px; line-height:1.5; }
.gw-login-modal .link__holder br { display:none; }
.gw-login-modal .link__holder a { color:#ff80a5; }
.gw-login-modal .gw-login-join { border-top:1px solid var(--gw-line); padding-top:12px; margin-top:16px; font-size:12px; color:var(--gw-muted); }

/* Packages come directly from KVS billing configuration. */
.gw-token-packages { border:0; padding:0; margin:0; min-width:0; }
.gw-token-packages legend { color:var(--gw-text); font-size:14px; margin-bottom:12px; }
.gw-token-packages .gw-token-package { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid var(--gw-line); border-radius:8px; margin-bottom:10px; cursor:pointer; }
.gw-token-package:has(input:checked) { border-color:var(--gw-pink); background:var(--gw-pink-subtle); }
.gw-token-package input { flex:none; width:18px; height:18px; accent-color:var(--gw-pink); }
.gw-token-package > span { flex:1; min-width:0; }
.gw-token-package small { display:block; margin-top:4px; font-size:11px; font-weight:400; color:var(--gw-muted); overflow-wrap:anywhere; }
.gw-token-price { white-space:nowrap; font-size:13px; }

/* Refined proportions, login alignment and album creator card. */
@media(min-width:768px) { .gw-side:has(.gw-profile-actions) { min-width:340px; } }
.gw-login-modal { width:min(380px,calc(100vw - 40px)); max-width:none; padding:24px; margin:0 auto; }
.gw-login-modal .title__modal { text-align:center; font-size:24px; }
.gw-account-modal .gw-account-footer a, .gw-login-modal .link__holder a { color:var(--gw-pink); text-transform:none; }
.gw-login-modal .modal__window__row { margin-bottom:12px; }
.gw-login-modal .link__holder { justify-content:center; gap:20px; }
.gw-login-modal .gw-login-join { text-align:center; }
.fancybox-skin:has(.gw-login-modal) { padding:0 !important; border-radius:10px; }
.gw-login-modal .input { height:42px; }
.gw-album-creator { display:flex; align-items:flex-start; gap:16px; float:none; width:100%; padding:0; }
.gw-album-creator .media-box__img { flex:0 0 88px; width:88px; height:88px; margin:0; float:none; }
.gw-album-creator .media-box__img img { display:block; width:88px; height:88px; object-fit:cover; border-radius:8px; }
.gw-album-creator .media-box__content { flex:1; min-width:0; margin:0; padding:0; }
.gw-album-creator .media-box__title { margin:0 0 6px; font-size:16px; text-transform:none; }
.gw-album-bio { color:var(--gw-muted); font-size:13px; line-height:1.5; margin:0 0 8px; overflow-wrap:anywhere; }
.gw-album-facts { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--gw-muted); font-size:12px; margin:0 0 12px; }
.gw-album-facts:empty { display:none; }
.gw-album-creator .gw-view-profile { min-width:0; width:auto; min-height:40px; padding:8px 18px; border-radius:8px; box-shadow:none; font-size:13px; line-height:1.3; }
@media(max-width:520px) { .gw-login-modal { padding:22px 18px; } .gw-album-creator { gap:12px; } .gw-album-creator .media-box__img,.gw-album-creator .media-box__img img { width:64px; height:64px; } .gw-album-creator .media-box__img { flex-basis:64px; } }

/* Recovery and support share the account dialog system. */
.gw-support-modal { width:min(400px,calc(100vw - 40px)); max-width:none; padding:24px; }
.gw-support-modal .modal__window__form { float:none; width:100%; padding:0; margin:0; }
.gw-support-modal .modal__window__label { padding:0; }
.gw-support-modal .title__modal { text-align:center; }
.gw-support-modal textarea.input { height:auto; min-height:100px; resize:vertical; }
.gw-support-modal .captcha-control .image { display:flex; align-items:center; gap:12px; padding:0; }
.gw-support-modal .captcha-control .image img { position:static; width:45%; height:auto; margin:0; float:none; }
.gw-support-modal .captcha-control .image .relative { flex:1; min-width:0; }
.gw-support-modal .captcha-control .title_tiny { margin:0 0 8px; font-size:12px; line-height:1.5; }
.fancybox-skin:has(.gw-support-modal) { padding:0 !important; border-radius:10px; }

/* Fancybox keeps legacy inline widths: size its wrapper as well as the form. */
.fancybox-wrap:has(.gw-login-modal) { width:min(380px,calc(100vw - 40px)) !important; left:50% !important; transform:translateX(-50%); }
.fancybox-wrap:has(.gw-support-modal) { width:min(400px,calc(100vw - 40px)) !important; left:50% !important; transform:translateX(-50%); }
.fancybox-wrap:has(.gw-login-modal) .fancybox-inner,.fancybox-wrap:has(.gw-support-modal) .fancybox-inner { width:100% !important; }
.fancybox-wrap .gw-login-modal,.fancybox-wrap .gw-support-modal { width:100%; }

/* Native login: override the legacy ID widths, not just the outer dialog. */
#modal-logon.gw-login-modal { width:100%; max-width:100%; min-width:0; margin:0; padding:28px 24px 22px; border:0; background:var(--gw-surface); border-radius:10px; }
#modal-logon.gw-login-modal form,#modal-logon.gw-login-modal .modal__window,#modal-logon.gw-login-modal .modal__window__form { width:100%; min-width:0; margin:0; padding:0; float:none; }
#modal-logon.gw-login-modal .modal__window__row { width:100%; margin:0 0 14px; }
#modal-logon.gw-login-modal .btn__row { width:100%; float:none; margin:18px 0 0; padding:0; }
#modal-logon.gw-login-modal .input { float:none; width:100%; min-width:0; }
#modal-logon.gw-login-modal .link__holder { flex-wrap:wrap; gap:8px 20px; }
#modal-logon.gw-login-modal .field-error,#modal-logon.gw-login-modal .generic-error { max-width:100%; white-space:normal; overflow-wrap:anywhere; background:none; border:0; padding:0; }
#modal-logon.gw-login-modal .field-error:before,#modal-logon.gw-login-modal .field-error:after { display:none; }
#modal-logon.gw-login-modal .captcha-control .image { display:flex; gap:12px; align-items:center; padding:0; }
#modal-logon.gw-login-modal .captcha-control .image img { position:static; float:none; width:42%; height:auto; margin:0; }
#modal-logon.gw-login-modal .captcha-control .image .relative { flex:1; min-width:0; }
.fancybox-wrap:has(.gw-login-modal) { position:fixed !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%); }
.fancybox-wrap:has(.gw-login-modal) .fancybox-inner { max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); height:auto !important; }
.fancybox-wrap:has(.gw-login-modal) .fancybox-close { top:8px; right:8px; }
@media(max-width:400px) { #modal-logon.gw-login-modal { padding:26px 18px 20px; } }

#modal-logon.gw-login-modal .modal__window__row > .relative { width:100%; float:none; margin:0; }
#modal-logon.gw-login-modal .modal__window__label { display:block; width:100%; float:none; text-align:left; padding:0; margin:0 0 5px; }


/* Direct auth pages use the shared shell while popup responses remain fragments. */
.gw-direct-auth-page { width:min(calc(100% - 32px), 480px); margin:36px auto 72px; padding:0; }
.gw-direct-auth-page > h1 { margin:0 0 16px; color:var(--gw-text); font-size:clamp(24px,4vw,30px); line-height:1.2; text-align:center; }
.gw-direct-auth-card { width:100%; min-width:0; }
.gw-direct-auth-card > .gw-account-modal { display:block; width:100%; max-width:100%; margin:0; box-shadow:none; }
.gw-direct-auth-card > .gw-account-modal:not(.gw-account-confirmation) .title__modal { display:none; }
.gw-direct-auth-card #modal-logon.gw-login-modal { width:100%; max-width:100%; }
@media(max-width:520px) { .gw-direct-auth-page { width:calc(100% - 24px); margin:24px auto 84px; } }

/* Keep the fan signup dialog centered in the visible viewport on desktop. */
.fancybox-wrap:has(.gw-signup-modal) { position:fixed !important; top:50% !important; left:50vw !important; width:min(472px,calc(100vw - 40px)) !important; transform:translate(-50%,-50%); }
.fancybox-wrap:has(.gw-signup-modal) .fancybox-inner { width:100% !important; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); height:auto !important; overflow-y:auto; }
.fancybox-wrap:has(.gw-signup-modal) .fancybox-close { top:8px; right:8px; }
/* Red-team UX fixes: mixed creator feeds, accessible profile names and shared navigation. */
.gw-handle { margin: 0; }
.gw-empty.is-hidden { display: none !important; }
.gw-empty-posts { margin: 24px auto; text-align: center; }
.gw-account-tabs { overflow-x: auto; scrollbar-width: thin; }
.gw-account-tabs a { flex: 0 0 auto; }
.gw-topup-context { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-bg); color: var(--gw-text); font-size: 14px; line-height: 1.5; }
.gw-topup-return { max-width: 1120px; margin: 16px auto; padding: 12px 16px; border: 1px solid var(--gw-line); border-radius: 8px; color: var(--gw-text); background: var(--gw-surface); font-size: 14px; line-height: 1.5; }
.gw-subscription-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 8px 0 0; color: var(--gw-muted); font-size: 13px; }
@media (max-width: 767px) {
  .gw-account-tabs { gap: 20px; }
  .gw-topup-return { margin: 12px 16px; }
}

/* Compact, readable access prompts replace the legacy oversized join banner copy. */
.media-access-notice { padding:16px; border:1px solid var(--gw-line); border-radius:8px; background:var(--gw-surface); color:var(--gw-text); font-size:14px; line-height:1.5; text-align:center; }
.album-view > .media-access-notice { margin:0 0 16px; }
.media-container__join--access { text-transform:none; }
.media-container__join--access .media-container__join__img { opacity:.35; }
.media-container__join--access .media-container__join__text { padding:clamp(24px,6vw,64px) 16px; }
.media-container__join--access .media-container__join__text strong { font-size:clamp(20px,4vw,42px); line-height:1.2; }
.media-container__join--access .media-container__join__text span { font-size:clamp(15px,2vw,22px); line-height:1.5; }
