:root {
  --directory-bg: #050507;
  --directory-card: #0d0e14;
  --directory-border: #25283a;
  --directory-text: #f6f7fb;
  --directory-muted: #9ca1b8;
  --directory-accent: #df992e;
  --directory-accent-soft: rgba(223, 153, 46, 0.18);
  --directory-pill: #131522;
}

/* Global pointer cursors for interactive elements */
.directory_page a,
.directory_page button,
.directory_page select,
.directory_page input[type="submit"],
.directory_page label,
.directory_page [role="button"],
.directory_page .directory_niche_badge,
.directory_page .directory_platform_badge,
.directory_page .directory_commercial_badge,
.directory_page .directory_contact_badge,
.directory_page .directory_card_more,
.directory_page .directory_btn,
.directory_page .directory_carousel_nav,
.directory_page .directory_card_content_item,
.directory_page .directory_card_save_btn {
  cursor: pointer !important;
}

.directory_page {
  position: relative;
  min-height: 100vh;
  padding: calc(max(var(--site-header-offset, 140px), 136px) + 44px) 0 90px;
  background: radial-gradient(circle at 10% -5%, rgba(223, 153, 46, 0.2), transparent 30%),
    radial-gradient(circle at 100% 20%, rgba(95, 110, 255, 0.12), transparent 35%),
    var(--directory-bg);
  color: var(--directory-text);
}

.directory_container {
  max-width: 1180px;
}

/* ── Page Header Row ── */
.directory_page_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.directory_page_title {
  margin: 0;
  font-family: 'Bageki Luxury', serif;
  font-size: clamp(36px, 5.5vw, 70px);
  font-weight: 400;
  line-height: 1.1;
  color: #fff8dd;
  white-space: nowrap;
}

.directory_header_module {
  border: 1px solid #3a3142;
  border-radius: 12px;
  background: #11121b;
  padding: 10px 16px;
  min-width: 260px;
  font-size: 13px;
  color: #f2e6cf;
}

.directory_header_module_row {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.directory_header_module_reset {
  margin-left: auto;
  color: #9ca1b8;
  font-size: 12px;
}

.directory_header_module_bar {
  width: 100%;
  height: 5px;
  border-radius: 999px;
  background: #1f2233;
  overflow: hidden;
}

.directory_header_module_bar > span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffcf7a 0%, #df992e 100%);
}

/* ── Welcome Popup ── */
.directory_welcome_popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(2, 4, 9, 0.74);
  backdrop-filter: blur(8px);
}

.directory_welcome_popup.is-visible {
  display: flex;
}

.directory_welcome_popup_card {
  width: min(520px, 92%);
  padding: 52px 48px 48px;
  border-radius: 25px;
  border: 1px solid #545454;
  background: linear-gradient(180deg, #000 0%, #000 58%, #3b231b 150%);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.directory_welcome_popup_icon {
  width: 64px;
  height: 64px;
  margin-bottom: 28px;
  flex-shrink: 0;
}

.directory_welcome_popup_icon svg {
  width: 100%;
  height: 100%;
}

.directory_welcome_popup_title {
  margin: 0 0 20px;
  font-family: 'Bageki Luxury', serif;
  font-size: 52px;
  line-height: 1;
  color: #fff8dd;
  font-weight: 400;
}

.directory_welcome_popup_card p {
  margin: 0 0 32px;
  color: #e2e2e2;
  font-size: 17px;
  line-height: 1.55;
  max-width: 380px;
}

.directory_welcome_popup_close {
  padding: 14px 32px;
  border-radius: 200px;
  border: 1px solid #d67f5f;
  background: linear-gradient(180deg, transparent 0%, #d67f5f 220%);
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-family: 'Satoshi', arial, sans-serif;
  font-weight: 500;
  transition: opacity 0.15s ease, border-color 0.15s ease;
}

.directory_welcome_popup_close:hover {
  opacity: 0.85;
  border-color: #e8956f;
}

.directory_filters {
  background: rgba(10, 11, 17, 0.94);
  border: 1px solid var(--directory-border);
  border-radius: 20px;
  padding: 18px;
  margin-bottom: 14px;
}

.directory_filter_form {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(0, 1fr)) auto;
  gap: 12px;
  align-items: end;
}

.directory_filter_field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.directory_filter_field label {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--directory-muted);
}

.directory_filter_field input,
.directory_filter_field select {
  width: 100%;
  border-radius: 12px;
  border: 1px solid #2a2d40;
  background: #0f111c;
  color: var(--directory-text);
  height: 48px;
  padding: 0 14px;
  font-size: 15px;
}

.directory_filter_field input:focus,
.directory_filter_field select:focus {
  outline: none;
  border-color: rgba(223, 153, 46, 0.75);
  box-shadow: 0 0 0 3px rgba(223, 153, 46, 0.15);
}

.directory_filter_actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.directory_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: 0.2s ease;
}

.directory_btn--primary {
  min-width: 110px;
  height: 46px;
  color: #17110a;
  background: linear-gradient(135deg, #ffcf7a 0%, var(--directory-accent) 100%);
}

.directory_btn--primary:hover,
.directory_btn--primary:focus {
  color: #17110a;
  transform: translateY(-1px);
}

.directory_btn--ghost {
  min-width: 110px;
  height: 46px;
  color: #d9dcee;
  background: transparent;
  border-color: #30354b;
}

.directory_btn--ghost:hover,
.directory_btn--ghost:focus {
  color: #fff;
  border-color: #646c8d;
}

.directory_meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 0 4px;
  color: var(--directory-muted);
  font-size: 13px;
}

.directory_sort_control {
  display: flex;
  align-items: center;
  gap: 6px;
}

.directory_sort_control label {
  font-size: 13px;
  color: var(--directory-muted);
  white-space: nowrap;
}

.directory_sort_control select {
  height: 30px;
  line-height: 30px;
  border-radius: 8px;
  border: 1px solid #2a2d40;
  background: #0f111c;
  color: var(--directory-text);
  padding: 0 28px 0 10px;
  font-size: 13px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca1b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 10px;
}

.directory_sort_control select:focus {
  outline: none;
  border-color: rgba(223, 153, 46, 0.75);
  box-shadow: 0 0 0 3px rgba(223, 153, 46, 0.15);
}

.directory_grid {
  --directory-grid-row-height: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  grid-auto-rows: var(--directory-grid-row-height);
  gap: 20px;
  align-items: start;
}

.directory_card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(9, 10, 16, 0.98) 0%, rgba(10, 11, 18, 0.98) 64%, rgba(54, 27, 18, 0.88) 100%);
  border: 1px solid rgba(226, 136, 88, 0.45);
  border-radius: 28px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 430px;
  align-self: start;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.directory_card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 86% -12%, rgba(223, 153, 46, 0.22), transparent 46%);
  pointer-events: none;
}

.directory_card_top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.directory_card_identity {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  min-height: 78px;
  flex: 1 1 auto;
}

.directory_card h2 {
  margin: 0;
  font-size: clamp(19px, 1.8vw, 23px);
  line-height: 1.14;
  max-width: calc(100% - 36px);
}

.directory_avatar {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  border: 1px solid rgba(223, 153, 46, 0.6);
  background: #101325;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 800;
  color: #f6f7fb;
  overflow: hidden;
  flex: 0 0 auto;
}

.directory_avatar img,
.directory_card img,
.creator_profile img {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}

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

.directory_avatar--card {
  width: 78px;
  height: 78px;
}

.directory_card_location {
  margin: 0;
  color: #aeb6d4;
  font-size: 12px;
  line-height: 1.25;
}

.directory_card_location--profile {
  margin-top: 4px;
  font-size: 16px;
}

.directory_info_group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.directory_info_group--inline {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.directory_group_label {
  display: inline-flex;
  align-items: center;
  color: #dca248;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.directory_card h2 a {
  color: var(--directory-text);
  text-decoration: none;
  display: block;
  max-width: 100%;
  padding-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.directory_card h2 a:hover,
.directory_card h2 a:focus {
  color: #ffe8bc;
}

.directory_platform_badges {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}

.directory_platform_badge {
  min-width: 34px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.directory_platform_badge.is-active {
  background: rgba(223, 153, 46, 0.2);
  color: #ffd58a;
  border: 1px solid rgba(223, 153, 46, 0.55);
}

.directory_platform_badge.is-muted {
  background: #131625;
  border: 1px solid #2b3047;
  color: #6d738f;
}

.directory_metric_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.directory_metric_chips--compact {
  gap: 6px;
}

.directory_metric_chips--compact .directory_metric_chip {
  padding: 7px 9px;
}

.directory_metric_chips--summary {
  margin-bottom: 10px;
}

.directory_sensitive_block {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.directory_sensitive_block.is-locked {
  border: 1px solid rgba(88, 94, 126, 0.55);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(16, 18, 30, 0.75), rgba(15, 17, 27, 0.68));
  padding: 10px;
  overflow: hidden;
}

.directory_sensitive_block.is-locked::after {
  content: "Date limitate în preview";
  position: absolute;
  right: 10px;
  top: 10px;
  border-radius: 999px;
  border: 1px solid rgba(223, 153, 46, 0.45);
  background: rgba(13, 15, 25, 0.82);
  color: #ffdca1;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 4px 8px;
  z-index: 2;
}

.directory_sensitive_block.is-locked .directory_platform_rows,
.directory_sensitive_block.is-locked .directory_contact_line {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
  opacity: 0.72;
}

.directory_sensitive_block.is-clickable {
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.directory_sensitive_block.is-clickable:hover {
  border-color: rgba(223, 153, 46, 0.55);
  box-shadow: 0 0 0 1px rgba(223, 153, 46, 0.12);
}

/* ── Stats lock overlay ── */
.directory_sensitive_lock_overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-align: center;
  padding: 12px;
}
.directory_sensitive_lock_icon {
  color: #838aa8;
  margin-bottom: 2px;
}
.directory_sensitive_lock_title {
  font-size: 13px;
  font-weight: 700;
  color: #d3d7e8;
  letter-spacing: 0.01em;
}
.directory_sensitive_lock_desc {
  font-size: 11px;
  color: #9ea5c2;
}
.directory_sensitive_lock_action {
  font-size: 11px;
  font-weight: 700;
  color: #ffd58a;
  margin-top: 2px;
  transition: color 0.15s ease;
}
.directory_sensitive_block.is-clickable:hover .directory_sensitive_lock_action {
  color: #ffe6b5;
}

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

.directory_platform_row {
  border: 1px solid rgba(70, 77, 108, 0.65);
  border-radius: 16px;
  background: rgba(9, 11, 20, 0.72);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.directory_platform_row.is-inactive {
  border-color: #252a3d;
  background: rgba(9, 11, 18, 0.46);
}

.directory_platform_row_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.directory_platform_row_name {
  display: block;
  font-size: 15px;
  color: #f3f5ff;
}

.directory_platform_row_caption {
  display: block;
  margin-top: 4px;
  color: #8f97b6;
  font-size: 12px;
}

.directory_platform_row_empty {
  margin: 0;
  color: #98a0bc;
  font-size: 13px;
  line-height: 1.45;
}

.directory_growth_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(82, 89, 120, 0.7);
  background: rgba(14, 16, 28, 0.72);
  color: #d8ddf0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  flex: 0 0 auto;
  white-space: nowrap;
}

.directory_growth_badge.is-up {
  border-color: rgba(76, 162, 102, 0.7);
  background: rgba(50, 108, 67, 0.22);
  color: #b9f0c6;
}

.directory_growth_badge.is-down {
  border-color: rgba(208, 104, 104, 0.7);
  background: rgba(128, 47, 47, 0.24);
  color: #ffc1c1;
}

.directory_growth_badge.is-muted {
  border-color: rgba(82, 89, 120, 0.55);
  background: rgba(14, 16, 28, 0.48);
  color: #8e97b8;
}

.directory_metric_chip {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 12px;
  border: 1px solid rgba(110, 119, 156, 0.55);
  background: rgba(8, 9, 15, 0.62);
  color: #d8dced;
  font-size: 12px;
  line-height: 1;
}

.directory_metric_chip strong {
  font-size: 14px;
  color: #fff;
}

.directory_metric_chip span {
  font-size: 12px;
  color: #cad0e8;
}

.directory_card_about {
  margin: 0;
  color: #cfd3e5;
  font-size: 14px;
  line-height: 1.55;
  min-height: 44px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.directory_card_content_shell {
  position: relative;
  margin: 0 -2px;
}

.directory_card_content_shell::before,
.directory_card_content_shell::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 22px;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.directory_card_content_shell::before {
  left: 0;
  background: linear-gradient(90deg, rgba(10, 11, 18, 0.98), rgba(10, 11, 18, 0));
  opacity: 0;
}

.directory_card_content_shell::after {
  right: 0;
  background: linear-gradient(270deg, rgba(10, 11, 18, 0.98), rgba(10, 11, 18, 0));
  opacity: 0;
}

.directory_card_content_shell.is-scrollable:not(.is-at-start)::before {
  opacity: 1;
}

.directory_card_content_shell.is-scrollable:not(.is-at-end)::after {
  opacity: 1;
}

.directory_card_content_track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 0 0 4px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x proximity;
}

.directory_card_content_track::-webkit-scrollbar {
  display: none;
}

.directory_card_content_item {
  min-width: 108px;
  max-width: 108px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  scroll-snap-align: start;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
  appearance: none;
}

.directory_card_content_media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(66, 73, 103, 0.65);
  background: #14192a;
}

.directory_content_platform_marker {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(9, 11, 18, 0.76);
  color: #f7f8fd;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.directory_content_platform_marker.is-instagram {
  border-color: rgba(223, 153, 46, 0.55);
  color: #ffd58a;
}

.directory_content_platform_marker.is-tiktok {
  border-color: rgba(119, 132, 255, 0.55);
  color: #d4dbff;
}

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

.directory_carousel_nav {
  position: absolute;
  top: 68px;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.82);
  font-size: 19px;
  line-height: 1;
  z-index: 3;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease, color 0.2s ease;
}

.directory_carousel_nav:hover,
.directory_carousel_nav:focus {
  color: #ffffff;
}

.directory_carousel_nav:disabled {
  opacity: 0;
  cursor: default;
}

.directory_carousel_nav--prev {
  left: 4px;
}

.directory_carousel_nav--next {
  right: 4px;
}

.directory_card_content_shell.is-scrollable:not(.is-at-start) .directory_carousel_nav--prev,
.directory_card_content_shell.is-scrollable:not(.is-at-end) .directory_carousel_nav--next {
  opacity: 1;
  pointer-events: auto;
}

.directory_card_more {
  margin-top: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 0 2px;
  border: 0;
  background: transparent;
  color: #d8dcf0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  width: 100%;
}

.directory_card_more::after {
  content: "▾";
  display: inline-block;
  transition: transform 0.2s ease;
}

.directory_card_more.is-open::after {
  transform: rotate(180deg);
}

.directory_card_more_panel[hidden] {
  display: none;
}

.directory_card_more_panel {
  margin-top: 12px;
}

.directory_recent_media_button {
  border: 0;
  padding: 0;
  width: 100%;
  background: transparent;
  cursor: pointer;
  text-align: left;
  appearance: none;
}

.directory_contact_line {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  color: #9fa8c9;
  font-size: 14px;
}

.directory_contact_line > span {
  color: #838aa8;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.directory_contact_label_gold {
  color: #d6a64e !important;
  text-transform: uppercase;
}

/* ── Contact glass (locked state) ── */
.directory_contact_wrapper {
  position: relative;
}
.directory_contact_glass {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(88, 94, 126, 0.55);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(16, 18, 30, 0.75), rgba(15, 17, 27, 0.68));
  padding: 5px 10px;
}
.directory_contact_glass_blur {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
  opacity: 0.6;
  font-size: 12px;
  color: #9fa8c9;
  white-space: nowrap;
}
.directory_contact_glass_overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #838aa8;
}
.directory_contact_glass_icon {
  flex-shrink: 0;
}
.directory_contact_glass_action {
  font-size: 11px;
  font-weight: 700;
  color: #ffd58a;
  transition: color 0.15s ease;
}
.directory_contact_glass.is-clickable {
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.directory_contact_glass.is-clickable:hover {
  border-color: rgba(223, 153, 46, 0.55);
  box-shadow: 0 0 0 1px rgba(223, 153, 46, 0.12);
}
.directory_contact_glass.is-clickable:hover .directory_contact_glass_action {
  color: #ffe6b5;
}
.directory_contact_wrapper.is-revealed .directory_contact_glass {
  display: none;
}
.directory_contact_wrapper.is-revealed .directory_contact_revealed {
  display: inline-flex !important;
}

.directory_niche_row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.directory_commercial_row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.directory_commercial_badge {
  display: inline-flex;
  align-items: center;
  border-radius: 12px;
  border: 1px solid rgba(82, 89, 120, 0.65);
  background: rgba(14, 16, 28, 0.65);
  color: #e9eeff;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
}

.directory_commercial_badge.is-positive {
  border-color: #3f8a56;
  background: rgba(58, 120, 78, 0.22);
  color: #acefbe;
}

.directory_budget_contact_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.directory_budget_contact_row .directory_info_group {
  min-width: 0;
}

.directory_contact_badge {
  cursor: pointer;
  gap: 6px;
  font-weight: 500;
  transition: border-color 0.15s ease, background 0.15s ease;
  max-width: 100%;
  min-width: 0;
}
.directory_contact_email_text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

button.directory_contact_badge {
  font-family: inherit;
  appearance: none;
}

button.directory_contact_badge:hover {
  border-color: rgba(206, 127, 93, 0.6);
  background: rgba(206, 127, 93, 0.12);
}

.directory_contact_copy_icon {
  flex-shrink: 0;
  opacity: 0.55;
}

button.directory_contact_badge:hover .directory_contact_copy_icon {
  opacity: 1;
}

.directory_niche_badge {
  display: inline-flex;
  align-items: center;
  border-radius: 11px;
  padding: 6px 10px;
  border: 1px solid rgba(74, 80, 112, 0.78);
  background: rgba(13, 15, 26, 0.75);
  color: #d8ddf0;
  font-size: 12px;
  font-weight: 600;
}

.directory_niche_badge--style {
  border-color: rgba(92, 100, 136, 0.82);
  background: rgba(16, 18, 30, 0.88);
  color: #bfc6e1;
}

.directory_niche_badge.is-empty {
  color: #8f95af;
}

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

.directory_stat {
  border: 1px solid #2a2e45;
  border-radius: 12px;
  padding: 10px;
  background: #0f111d;
}

.directory_stat span {
  display: block;
  color: #8f94ae;
  font-size: 11px;
  margin-bottom: 2px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.directory_stat strong {
  font-size: 16px;
  color: #f0f3ff;
}

.directory_stat strong.is-email {
  font-size: 13px;
  line-height: 1.4;
  word-break: break-word;
}

.directory_stat_link {
  color: #d7e2ff;
  text-decoration: none;
}

.directory_stat_link:hover,
.directory_stat_link:focus {
  color: #fff;
  text-decoration: underline;
}

.directory_card_actions {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 10px;
  flex-wrap: nowrap;
  padding-top: 12px;
  border-top: 1px solid rgba(69, 75, 104, 0.45);
}

.directory_card_actions > * {
  flex: 1 1 0;
  min-width: 0;
}

.directory_profile_actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.directory_campaign_popup_wrapper {
  width: min(100vw - 32px, 700px);
  padding: 28px 28px 24px;
  background: linear-gradient(180deg, rgba(10, 11, 18, 0.98) 0%, rgba(10, 11, 18, 0.98) 64%, rgba(54, 27, 18, 0.92) 100%);
  border: 1px solid rgba(226, 136, 88, 0.35);
}

.directory_campaign_popup_close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 18, 32, 0.72);
  color: #fff;
}

.directory_campaign_form {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.directory_campaign_project_list {
  display: grid;
  gap: 10px;
}

.directory_campaign_option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #2d3148;
  background: #0f1220;
  cursor: pointer;
}

.directory_campaign_option input {
  margin-top: 3px;
}

.directory_campaign_option_body {
  display: grid;
  gap: 3px;
}

.directory_campaign_option_body strong {
  font-size: 15px;
}

.directory_campaign_option_body span {
  color: #afb6d0;
  font-size: 13px;
}

.directory_campaign_empty {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed #363b59;
  background: #0d0f18;
  color: #bcc3dc;
  line-height: 1.55;
}

.directory_campaign_new_project {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 18px;
}

.directory_campaign_new_project_head {
  margin-bottom: 10px;
  color: #ffcf7a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.directory_campaign_fields {
  display: grid;
  gap: 12px;
}

.directory_campaign_field {
  display: grid;
  gap: 6px;
}

.directory_campaign_field span {
  color: #b8bfd7;
  font-size: 13px;
  font-weight: 600;
}

.directory_campaign_field input,
.directory_campaign_field textarea {
  width: 100%;
  border-radius: 14px;
  border: 1px solid #303550;
  background: #0f1220;
  color: #fff;
  padding: 12px 14px;
}

.directory_campaign_field textarea {
  min-height: 110px;
  resize: vertical;
}

.directory_campaign_actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* ── Unlock Confirm Popup ── */

/* Centering fix: constrain .popup_center width so the existing
   left:50% + translateX(-50%) in style.css centers correctly.
   Base style.css sets .popup_center to 850px — too wide. */
.directory_unlock_confirm_popup .popup_center {
  width: min(100vw - 32px, 480px);
}

/* Wrapper fills parent. Left-align text. Override global padding. */
.form_popup .popup_center .directory_unlock_confirm_wrapper {
  width: 100%;
  padding: 32px 28px 28px;
  text-align: left;
}

/* Bageki Luxury headline at confirmation-dialog size */
.form_popup .popup_center .directory_unlock_confirm_wrapper .popup_title {
  font-family: 'Bageki Luxury', arial, sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.1;
  margin-top: 6px;
  color: #fff8dd;
}

/* Body text */
.form_popup .popup_center .directory_unlock_confirm_wrapper .popup_text {
  font-size: 15px;
  line-height: 1.55;
  margin-top: 10px;
  margin-bottom: 0;
  color: #b0b4c8;
}

/* Detail box (creator name + cost) */
.directory_unlock_confirm_detail {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #2d3148;
  background: #0f1220;
  font-size: 14px;
  color: #d0d4e4;
}

/* Button row */
.form_popup .directory_unlock_confirm_wrapper .directory_campaign_actions {
  margin-top: 22px;
  flex-wrap: nowrap;
  align-items: center;
}

/* Primary button: reset margin, match height to ghost */
.form_popup .popup_center .directory_unlock_confirm_wrapper .btn_type1 {
  margin-top: 0;
  display: inline-flex;
  align-items: stretch;
}

.form_popup .popup_center .directory_unlock_confirm_wrapper .btn_type1 span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
}

/* Mobile: stack buttons full-width */
@media (max-width: 500px) {
  .directory_unlock_confirm_popup .popup_center {
    width: min(100vw - 20px, 480px);
  }

  .form_popup .popup_center .directory_unlock_confirm_wrapper {
    padding: 28px 20px 22px;
  }

  .form_popup .popup_center .directory_unlock_confirm_wrapper .popup_title {
    font-size: 32px;
  }

  .form_popup .directory_unlock_confirm_wrapper .directory_campaign_actions {
    flex-wrap: wrap;
  }

  .form_popup .popup_center .directory_unlock_confirm_wrapper .btn_type1,
  .form_popup .popup_center .directory_unlock_confirm_wrapper .directory_btn--ghost {
    width: 100%;
    justify-content: center;
  }

  .form_popup .popup_center .directory_unlock_confirm_wrapper .btn_type1 span {
    width: 100%;
    justify-content: center;
  }
}

.directory_unlock_form {
  margin: 0;
  min-width: 0;
}

.directory_btn--small {
  height: 40px;
  width: 100%;
  min-width: 0;
  padding: 0 10px;
  background: rgba(15, 17, 31, 0.9);
  color: #f0f2fc;
  border: 1px solid rgba(73, 80, 111, 0.85);
  font-size: 14px;
  white-space: nowrap;
}

.directory_btn--small:hover,
.directory_btn--small:focus {
  color: #fff;
  border-color: #6b749f;
}

.directory_btn--accent {
  border-color: rgba(223, 153, 46, 0.7);
  color: #ffdca2;
  background: rgba(223, 153, 46, 0.12);
}

.directory_btn--accent:hover,
.directory_btn--accent:focus {
  border-color: rgba(223, 153, 46, 0.95);
  color: #fff0d1;
}

.directory_link {
  color: #9fc0ff;
  font-size: 13px;
  text-decoration: none;
}

.directory_link:hover,
.directory_link:focus {
  color: #d3e2ff;
  text-decoration: underline;
}

.directory_empty {
  padding: 40px 24px;
  border-radius: 16px;
  border: 1px solid var(--directory-border);
  background: #0d0f18;
  text-align: center;
}

.directory_empty h2 {
  margin: 0;
  font-size: 24px;
}

.directory_empty p {
  margin: 10px 0 0;
  color: var(--directory-muted);
}

.directory_pagination {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.directory_page_link {
  min-width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid #2e334d;
  background: #0f1220;
  color: #d7dbef;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  padding: 0 12px;
}

.directory_page_link:hover,
.directory_page_link:focus {
  color: #fff;
  border-color: #727ca8;
}

.directory_page_link.is-current {
  color: #1e1404;
  border-color: transparent;
  background: linear-gradient(135deg, #ffce74 0%, var(--directory-accent) 100%);
}

.directory_page_link.is-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.directory_back_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: #bec6ea;
  text-decoration: none;
  font-weight: 600;
}

.directory_back_link:hover,
.directory_back_link:focus {
  color: #fff;
}

.directory_preview_banner {
  margin-bottom: 16px;
  padding: 18px 22px;
  border-radius: 16px;
  border: 1px solid rgba(52, 199, 89, 0.35);
  background: rgba(52, 199, 89, 0.08);
}
.directory_preview_banner h3 {
  margin: 0;
  font-size: 18px;
  color: #f7f8fd;
}
.directory_preview_banner p {
  margin: 6px 0 0;
  font-size: 14px;
  color: #9fa5bc;
  line-height: 1.5;
}

.directory_profile_intro {
  margin-bottom: 20px;
  border: 1px solid var(--directory-border);
  border-radius: 16px;
  background: #0d0f18;
  padding: 22px;
}

.directory_profile_intro h1 {
  margin: 0;
  font-size: clamp(30px, 4.5vw, 44px);
}

.directory_profile_intro_grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.9fr);
  gap: 18px;
  align-items: start;
}

.directory_profile_identity_block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.directory_profile_identity {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.directory_avatar--profile {
  width: 88px;
  height: 88px;
  font-size: 34px;
}

.directory_profile_about {
  margin: 0;
  color: #ccd0df;
  font-size: 16px;
  line-height: 1.65;
  white-space: pre-line;
}

.directory_profile_summary_stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.directory_profile_card--summary {
  min-height: 100%;
}

.directory_section_head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}

.directory_section_head h2 {
  margin: 4px 0 0;
}

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

.directory_profile_card {
  border: 1px solid var(--directory-border);
  border-radius: 16px;
  background: #0d0f18;
  padding: 16px;
}

.directory_profile_card.is-inactive {
  background: #0a0c13;
  border-color: #1f2230;
}

.directory_profile_card h2 {
  margin: 0 0 10px;
  font-size: 24px;
}

.directory_profile_card.is-inactive h2 {
  color: #8f94a8;
}

.directory_profile_rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.directory_profile_unavailable {
  margin: 0;
  color: #8f94a8;
  font-size: 14px;
  line-height: 1.45;
}

.directory_profile_row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #1f2438;
}

.directory_profile_row--stacked {
  align-items: flex-start;
}

.directory_profile_row:last-child {
  border-bottom: none;
}

.directory_profile_row span:first-child {
  color: var(--directory-muted);
}

.directory_profile_row span:last-child {
  text-align: right;
  color: #f0f2fb;
}

.directory_profile_row span.is-wrap {
  display: inline-block;
  max-width: 68%;
  white-space: normal;
  line-height: 1.35;
}

.directory_profile_mentions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.directory_niche_badge--brand {
  border-color: rgba(212, 162, 92, 0.38);
  color: #f5e5c4;
  background: rgba(212, 162, 92, 0.12);
}

.directory_locked_value {
  color: #c9a66d;
  font-weight: 600;
  font-size: 13px;
}

.directory_profile_row a {
  color: #9fc0ff;
  text-decoration: none;
}

.directory_profile_row a:hover,
.directory_profile_row a:focus {
  color: #d3e2ff;
  text-decoration: underline;
}

.directory_recent_section {
  margin-top: 14px;
  border: 1px solid var(--directory-border);
  border-radius: 16px;
  background: #0d0f18;
  padding: 16px;
}

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

.directory_history_card {
  border: 1px solid #2a2f47;
  border-radius: 14px;
  background: #0a0d1b;
  padding: 12px;
}

.directory_history_head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}

.directory_history_head h3 {
  margin: 0;
  font-size: 16px;
  color: #eceffa;
}

.directory_history_head span {
  color: #f4d79f;
  font-weight: 700;
}

.directory_history_delta {
  font-size: 12px;
  margin-bottom: 8px;
}

.directory_history_delta.is-positive {
  color: #8fd8a2;
}

.directory_history_delta.is-negative {
  color: #f39ea0;
}

.directory_history_plot {
  border: 1px solid #242a40;
  border-radius: 12px;
  background: #090b15;
  padding: 8px;
}

.directory_history_plot svg {
  width: 100%;
  height: auto;
  display: block;
}

.directory_history_gridline {
  stroke: #1f2439;
  stroke-width: 1;
  fill: none;
}

.directory_history_line {
  stroke: var(--history-line-color, #dfa44d);
  stroke-width: 3;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.directory_history_empty {
  margin: 0;
  font-size: 13px;
  color: #9096b1;
}

.directory_history_meta {
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  color: #8c92ad;
}

.directory_recent_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.directory_recent_head h2 {
  margin: 0;
  font-size: 24px;
}

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

.directory_recent_card {
  border: 1px solid #242942;
  border-radius: 14px;
  background: #111425;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.directory_recent_media {
  position: relative;
  width: 100%;
  padding-top: 62%;
  background: #171c31;
}

.directory_recent_media img,
.directory_recent_placeholder {
  position: absolute;
  inset: 0;
}

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

.directory_recent_media.is-locked img {
  filter: blur(8px) saturate(0.85);
  transform: scale(1.04);
}

/* Override generic .form_popup .popup_center sizing for the content preview */
.directory_content_preview_popup .popup_center {
  width: auto;
  max-width: min(720px, calc(100vw - 32px));
  background: none;
  padding: 0;
  border-radius: 0;
}

.directory_content_preview_popup .popup_center .directory_content_preview_wrapper {
  position: relative;
  width: min(720px, calc(100vw - 32px));
  padding: 34px 34px 30px;
  border-radius: 28px;
  border: 1px solid rgba(226, 136, 88, 0.35);
  background: linear-gradient(180deg, rgba(9, 10, 16, 0.98) 0%, rgba(10, 11, 18, 0.98) 68%, rgba(54, 27, 18, 0.88) 100%);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.5);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  text-align: left;
}

.directory_content_preview_close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(98, 105, 140, 0.65);
  background: rgba(13, 15, 25, 0.82);
  color: #eef1fb;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.directory_content_preview_media {
  position: relative;
  width: 100%;
  min-height: 300px;
  max-height: min(72vh, 760px);
  border-radius: 22px;
  overflow: hidden;
  background: #111522;
  border: 1px solid rgba(67, 73, 103, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.directory_content_preview_platform_marker {
  top: 14px;
  left: 14px;
}

.directory_content_preview_media img,
.directory_content_preview_placeholder {
  position: static;
}

.directory_content_preview_media img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(min(72vh, 760px) - 36px);
  object-fit: contain;
  display: block;
}

.directory_content_preview_placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #aab2cf;
  font-size: 15px;
  font-weight: 600;
  width: 100%;
  min-height: 240px;
}

.directory_content_preview_video_badge {
  right: 16px;
  bottom: 16px;
}

[data-content-preview-image][hidden],
[data-content-preview-placeholder][hidden],
[data-content-preview-video][hidden],
[data-content-preview-link][hidden],
[data-content-preview-date][hidden] {
  display: none !important;
}

.directory_content_preview_body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 18px;
}

.directory_content_preview_labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.directory_content_preview_caption {
  margin: 0;
  color: #d3d8eb;
  font-size: 16px;
  line-height: 1.6;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: calc(1.6em * 4);
}

.directory_content_preview_note {
  margin: -6px 0 0;
  color: #f0c26f;
  font-size: 13px;
  line-height: 1.45;
}

.directory_content_preview_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding-top: 6px;
}

.directory_video_badge {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(8, 10, 18, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #f4f6ff;
  font-size: 13px;
  line-height: 28px;
  text-align: center;
  font-weight: 700;
}

.directory_recent_placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a6aecf;
  font-weight: 700;
  font-size: 14px;
}

.directory_recent_body {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.directory_recent_labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.directory_recent_date {
  font-size: 12px;
  color: #99a2c7;
}

.directory_recent_body p {
  margin: 0;
  color: #d2d7ef;
  font-size: 14px;
  line-height: 1.45;
  min-height: 42px;
}

.directory_recent_stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #aeb6d4;
  font-size: 12px;
}

.directory_metric_chart {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.directory_metric_row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.directory_metric_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.directory_metric_head span {
  color: #aeb6d4;
}

.directory_metric_head strong {
  color: #f0f2fb;
  font-size: 14px;
}

.directory_metric_bar {
  height: 9px;
  border-radius: 999px;
  background: #1a1f34;
  overflow: hidden;
}

.directory_metric_bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff8f66 0%, #f4b152 100%);
}

.directory_empty--compact {
  padding: 20px;
}

.directory_empty--compact p {
  margin: 0;
}

.directory_preview_popup .popup_center {
  max-width: 860px;
}

.directory_preview_popup .popup_wrapper {
  padding: 78px 140px 72px;
}

.directory_preview_popup_icon {
  width: 86px;
  height: 86px;
  margin: 0 auto 18px;
  border-radius: 999px;
  border: 1px solid rgba(223, 153, 46, 0.48);
  background: radial-gradient(circle at 50% 35%, rgba(223, 153, 46, 0.12), rgba(11, 12, 18, 0.94) 72%);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.34), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  display: flex;
  align-items: center;
  justify-content: center;
}

.directory_preview_popup_eyebrow {
  margin: 0 0 10px;
  color: #dca248;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.directory_preview_popup .popup_text {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  color: #d8dbe9;
}

.directory_preview_popup_actions {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.directory_preview_popup_actions .btn_type1 {
  display: inline-flex;
  align-items: stretch;
  justify-content: center;
  flex: 0 0 auto;
  margin: 0;
}

.directory_preview_popup_actions .btn_type1 span {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
}

.directory_preview_popup_secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 54px;
  padding: 0 32px;
  border-radius: 999px;
  border: 1px solid rgba(109, 116, 151, 0.72);
  color: #d7dbee;
  background: rgba(12, 14, 23, 0.9);
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.directory_preview_popup_secondary:hover,
.directory_preview_popup_secondary:focus {
  color: #fff;
  border-color: rgba(223, 153, 46, 0.8);
  background: rgba(18, 20, 30, 0.96);
  text-decoration: none;
}

/* ── Card Save (Bookmark) Button ── */
.directory_card_save_btn {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 4;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(156, 161, 184, 0.3);
  background: rgba(13, 14, 20, 0.62);
  backdrop-filter: blur(8px);
  color: #9ca1b8;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, background 0.2s ease;
}

.directory_card_save_btn .directory_save_icon--filled {
  display: none;
}

.directory_card_save_btn .directory_save_icon--outline {
  display: block;
}

.directory_card_save_btn:hover {
  color: #ffcf7a;
  border-color: rgba(223, 153, 46, 0.55);
  background: rgba(223, 153, 46, 0.1);
  transform: scale(1.08);
}

.directory_card_save_btn.is-saved {
  color: var(--directory-accent);
  border-color: rgba(223, 153, 46, 0.55);
  background: rgba(223, 153, 46, 0.14);
}

.directory_card_save_btn.is-saved .directory_save_icon--outline {
  display: none;
}

.directory_card_save_btn.is-saved .directory_save_icon--filled {
  display: block;
}

.directory_card_save_btn.is-loading {
  pointer-events: none;
  opacity: 0.45;
}

@keyframes directoryPulse {
  0% { transform: scale(1); }
  30% { transform: scale(1.22); }
  60% { transform: scale(0.95); }
  100% { transform: scale(1); }
}

.directory_card_save_btn.is-pulse {
  animation: directoryPulse 0.35s ease;
}

/* ── Save Badge (notification dot on bookmark) ── */
.directory_save_badge {
  position: absolute;
  top: -4px;
  right: -4px;
  z-index: 5;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background: var(--directory-accent);
  color: #1a1a2e;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  padding: 0 4px;
  pointer-events: auto;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s ease;
}

.directory_save_badge:hover {
  transform: scale(1.12);
}

/* ── Save Popover ── */
.directory_save_popover {
  position: fixed;
  z-index: 1000;
  width: 240px;
  background: rgba(30, 30, 52, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(223, 153, 46, 0.3);
  border-radius: 10px;
  padding: 12px 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

.directory_save_popover[hidden] {
  display: none;
}

.directory_save_popover_arrow {
  position: absolute;
  top: -6px;
  width: 12px;
  height: 12px;
  rotate: 45deg;
  background: rgba(30, 30, 52, 0.96);
  border-top: 1px solid rgba(223, 153, 46, 0.3);
  border-left: 1px solid rgba(223, 153, 46, 0.3);
}

.directory_save_popover_title {
  padding: 0 14px 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: #9ca1b8;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 4px;
}

.directory_save_popover_list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 200px;
  overflow-y: auto;
}

.directory_save_popover_item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  font-size: 13px;
  color: #e0e0e0;
  cursor: default;
  transition: background 0.12s ease;
}

.directory_save_popover_item:hover {
  background: rgba(255, 255, 255, 0.04);
}

.directory_save_popover_item.is-active {
  border-left: 2px solid var(--directory-accent);
  padding-left: 12px;
  background: rgba(223, 153, 46, 0.06);
  color: #ffd28d;
}

.directory_save_popover_item_icon {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  color: var(--directory-accent);
  opacity: 0.7;
}

.directory_save_popover_item_name {
  flex: 1 1 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.directory_save_popover_empty {
  padding: 10px 14px;
  font-size: 12px;
  color: #9ca1b8;
  text-align: center;
}

@media (max-width: 767px) {
  .directory_save_popover {
    position: fixed;
    top: auto !important;
    bottom: 0;
    left: 0 !important;
    right: 0;
    width: auto;
    border-radius: 14px 14px 0 0;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .directory_save_popover_arrow {
    display: none;
  }
}

/* ── Header Modules Wrapper ── */
.directory_header_modules {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: stretch;
}

/* ── Campaign Header Module ── */
.directory_header_campaign {
  position: relative;
  border-color: rgba(223, 153, 46, 0.28);
}

.directory_campaign_module_row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 26px;
}

.directory_campaign_module_icon {
  color: var(--directory-accent);
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

.directory_campaign_module_name {
  font-weight: 700;
  font-size: 13px;
  color: #f2e6cf;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
  text-decoration: none;
  transition: color 0.15s ease;
}
a.directory_campaign_module_name:hover {
  color: var(--directory-accent);
}

.directory_campaign_module_count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--directory-accent);
  color: #17110a;
  font-size: 12px;
  font-weight: 800;
  flex: 0 0 auto;
}

.directory_campaign_module_empty {
  color: var(--directory-muted);
  font-size: 13px;
  flex: 1 1 auto;
}

.directory_campaign_module_toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 0;
  padding: 0;
  margin-left: auto;
  background: transparent;
  color: #9ca1b8;
  cursor: pointer;
  border-radius: 6px;
  flex: 0 0 auto;
  transition: color 0.15s ease, background 0.15s ease, transform 0.2s ease;
}

.directory_campaign_module_toggle:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

.directory_campaign_module_toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

/* ── Campaign Dropdown ── */
.directory_campaign_dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 50;
  width: 300px;
  border-radius: 16px;
  border: 1px solid rgba(223, 153, 46, 0.22);
  background: rgba(13, 14, 22, 0.97);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}

.directory_campaign_dropdown[hidden] {
  display: none;
}

.directory_campaign_dropdown_list {
  max-height: 240px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #2a2e45 transparent;
  padding: 6px;
}

.directory_campaign_dropdown_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #d8dbe9;
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease;
}

.directory_campaign_dropdown_item:hover {
  background: rgba(255, 255, 255, 0.05);
}

.directory_campaign_dropdown_item.is-active {
  background: rgba(223, 153, 46, 0.1);
  color: #ffcf7a;
}

.directory_campaign_dropdown_item_name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  font-weight: 600;
}

.directory_campaign_dropdown_item_count {
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--directory-muted);
}

.directory_campaign_dropdown_item.is-active .directory_campaign_dropdown_item_count {
  color: #ffd28d;
}

.directory_campaign_dropdown_footer {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.directory_campaign_dropdown_link {
  display: block;
  text-align: center;
  padding: 8px 12px;
  border-radius: 10px;
  color: var(--directory-muted);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease, background 0.15s ease;
}
.directory_campaign_dropdown_link:hover {
  color: var(--directory-accent);
  background: rgba(223, 153, 46, 0.06);
}

.directory_campaign_dropdown_create {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 12px;
  border: 1px dashed rgba(223, 153, 46, 0.35);
  border-radius: 10px;
  background: transparent;
  color: #ffcf7a;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.directory_campaign_dropdown_create:hover {
  background: rgba(223, 153, 46, 0.08);
  border-color: rgba(223, 153, 46, 0.55);
}

.directory_campaign_dropdown_create_form {
  padding: 10px 12px 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.directory_campaign_dropdown_create_form[hidden] {
  display: none;
}

.directory_campaign_dropdown_field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.directory_campaign_dropdown_field span {
  font-size: 12px;
  font-weight: 600;
  color: #b8bfd7;
}

.directory_campaign_dropdown_field input {
  width: 100%;
  height: 38px;
  border-radius: 10px;
  border: 1px solid #303550;
  background: #0f1220;
  color: #fff;
  padding: 0 12px;
  font-size: 13px;
  font-family: inherit;
}

.directory_campaign_dropdown_field input:focus {
  outline: none;
  border-color: rgba(223, 153, 46, 0.65);
  box-shadow: 0 0 0 2px rgba(223, 153, 46, 0.12);
}

.directory_campaign_dropdown_submit {
  height: 36px;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(135deg, #ffcf7a 0%, var(--directory-accent) 100%);
  color: #17110a;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.directory_campaign_dropdown_submit:hover {
  opacity: 0.88;
}

.directory_campaign_dropdown_submit:disabled {
  opacity: 0.5;
  cursor: default;
}

/* ── Toast Notification ── */
.directory_toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(14px);
  z-index: 10000;
  padding: 12px 22px;
  border-radius: 14px;
  border: 1px solid rgba(223, 153, 46, 0.35);
  background: rgba(13, 14, 22, 0.95);
  backdrop-filter: blur(12px);
  color: #f2e6cf;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.directory_toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

@media (max-width: 1200px) {
  .directory_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .directory_page {
    padding-top: calc(max(var(--site-header-offset, 110px), 96px) + 32px);
  }

  .directory_preview_popup .popup_wrapper {
    padding: 72px 48px 64px;
  }

  .directory_preview_popup_icon {
    width: 78px;
    height: 78px;
  }

  .directory_card {
    border-radius: 22px;
    padding: 18px 16px;
    min-height: 0;
  }

  .directory_card h2 {
    font-size: clamp(18px, 4.2vw, 22px);
  }

  .directory_avatar--card {
    width: 72px;
    height: 72px;
  }

  .directory_card_about {
    font-size: 14px;
  }

  .directory_platform_rows {
    grid-template-columns: 1fr;
  }

  .directory_filter_form {
    grid-template-columns: 1fr;
  }

  .directory_filter_actions {
    justify-content: stretch;
  }

  .directory_btn--primary,
  .directory_btn--ghost {
    flex: 1;
  }

  .directory_meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .directory_profile_grid {
    grid-template-columns: 1fr;
  }

  .directory_profile_intro_grid {
    grid-template-columns: 1fr;
  }

  .directory_recent_grid {
    grid-template-columns: 1fr;
  }

  .directory_history_grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .directory_page_header {
    flex-direction: column;
    align-items: stretch;
  }

  .directory_header_modules {
    flex-direction: column;
  }

  .directory_header_module {
    min-width: 0;
  }

  .directory_campaign_module_name {
    max-width: 140px;
  }

  .directory_campaign_dropdown {
    width: 100%;
    right: 0;
    left: 0;
  }

  .directory_toast {
    left: 16px;
    right: 16px;
    transform: translateX(0) translateY(14px);
    white-space: normal;
    text-align: center;
  }

  .directory_toast.is-visible {
    transform: translateX(0) translateY(0);
  }

  .directory_welcome_popup_title {
    font-size: 38px;
  }

  .directory_welcome_popup_card {
    padding: 40px 28px 36px;
  }

  .directory_grid {
    grid-template-columns: 1fr;
  }

  .directory_preview_popup .popup_wrapper {
    padding: 56px 24px 48px;
  }

  .directory_preview_popup_icon {
    width: 72px;
    height: 72px;
    margin-bottom: 16px;
  }

  .directory_preview_popup_eyebrow {
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  .directory_preview_popup_actions {
    gap: 12px;
  }

  .directory_preview_popup_actions .btn_type1,
  .directory_preview_popup_secondary {
    width: 100%;
  }

  .directory_card {
    min-height: auto;
  }

  .directory_metric_chip {
    font-size: 11px;
  }

  .directory_card_top,
  .directory_platform_row_head,
  .directory_section_head {
    flex-direction: column;
  }

  .directory_card h2 {
    max-width: 100%;
  }

  .directory_card h2 a {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .directory_card_content_shell {
    margin: 0;
  }

  .directory_content_preview_popup .popup_center {
    max-width: calc(100vw - 24px);
  }

  .directory_content_preview_popup .popup_center .directory_content_preview_wrapper {
    width: calc(100vw - 24px);
    padding: 28px 18px 22px;
  }

  .directory_content_preview_media {
    min-height: 200px;
    max-height: 50vh;
    padding: 10px;
  }

  .directory_content_preview_media img {
    max-height: calc(50vh - 20px);
  }

  .directory_content_preview_actions .btn_type1,
  .directory_content_preview_actions .directory_preview_popup_secondary {
    width: 100%;
  }

  .directory_profile_row {
    flex-direction: column;
    align-items: flex-start;
  }

  .directory_profile_row span:last-child,
  .directory_profile_row span.is-wrap {
    text-align: left;
    max-width: 100%;
  }

  .directory_campaign_popup_wrapper {
    width: min(100vw - 20px, 700px);
    padding: 24px 18px 20px;
  }

  .directory_campaign_actions .btn_type1,
  .directory_campaign_actions .directory_btn {
    width: 100%;
  }

  .directory_unlock_summary_head {
    flex-direction: column;
    align-items: flex-start;
  }

  .directory_stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .directory_profile_identity {
    align-items: flex-start;
  }

  .directory_avatar--profile {
    width: 72px;
    height: 72px;
    font-size: 28px;
  }
}

@media (max-width: 480px) {
  .directory_stats {
    grid-template-columns: 1fr;
  }

  .directory_budget_contact_row {
    grid-template-columns: 1fr;
  }

  .directory_filter_field label {
    font-size: 14px;
  }

  .directory_filter_field input,
  .directory_filter_field select {
    height: 48px;
    font-size: 16px;
    padding: 0 14px;
    border-radius: 12px;
  }

  .directory_btn--primary,
  .directory_btn--ghost {
    height: 48px;
    font-size: 15px;
  }

  .directory_sort_control label {
    font-size: 14px;
  }

  .directory_sort_control select {
    height: 36px;
    font-size: 14px;
  }
}
