/* Directory + listing — light-green brand system */

.t88-directory,
.t88-standard-page,
.traffic88-clean-listing { box-sizing: border-box; }

.t88-directory {
  max-width: var(--rk-dir-max);
  margin: 0 auto;
}

.t88-directory .container {
  width: 100%;
  max-width: var(--rk-content);
  margin: 0 auto;
  padding: 0 16px;
}

/* Hero — light green first screen */
.t88-directory .clean-home-hero {
  padding: 22px 0 18px;
  background: var(--rk-hero-bg);
  color: var(--rk-text);
  border-radius: 0 0 20px 20px;
  border-bottom: 1px solid var(--rk-line);
}

body.directory-home .clean-home-hero,
body.home .clean-home-hero {
  background: var(--rk-hero-bg);
}

.t88-directory .clean-home-hero > .container {
  max-width: var(--rk-content);
}

.t88-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  font-weight: 800;
  color: var(--rk-accent);
  margin: 0 0 4px;
}

.t88-directory .clean-home-hero h1 {
  font-size: clamp(24px, 3.4vw, 32px);
  line-height: 1.2;
  color: var(--rk-brand);
  margin: 0 0 8px;
  font-weight: 900;
  max-width: none;
  letter-spacing: -0.01em;
}

.t88-directory .clean-home-hero > .container > p:not(.t88-eyebrow) {
  font-size: 14px;
  line-height: 1.55;
  color: var(--rk-text);
  text-align: left;
  margin: 0;
  max-width: 62ch;
}

.t88-directory .search-wrap {
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  max-width: 100%;
}

.t88-directory form[role="search"] {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 680px;
  align-items: stretch;
}

.t88-directory input[type="search"] {
  min-width: 0;
  flex: 1 1 auto;
  font-size: 16px;
  padding: 11px 14px;
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-radius-sm);
  color: var(--rk-brand);
  background: var(--rk-card);
  min-height: 44px;
}

.t88-directory input[type="search"]:focus {
  border-color: var(--rk-accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(52, 118, 76, 0.15);
}

.t88-directory form[role="search"] button {
  border: 0;
  border-radius: var(--rk-radius-sm);
  padding: 10px 16px;
  background: var(--rk-lime);
  color: var(--rk-brand);
  font-weight: 800;
  font-size: 14px;
  min-height: 44px;
  min-width: 88px;
  cursor: pointer;
  flex: 0 0 auto;
  white-space: nowrap;
}

.t88-directory form[role="search"] button:hover {
  background: #d2ef9f;
}

/* Tools */
.t88-directory-tools {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 22px 0 14px;
}

.t88-directory-tools[hidden] { display: none !important; }

.t88-directory-tools label {
  display: flex;
  flex: 1 1 140px;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
  color: var(--rk-brand);
  font-size: 12px;
  font-weight: 700;
}

.t88-directory-tools select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--rk-line);
  border-radius: 9px;
  padding: 8px 10px;
  background: var(--rk-card);
  color: var(--rk-brand);
  font-size: 14px;
}

.t88-directory-tools button {
  background: var(--rk-card);
  flex: 0 0 auto;
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-radius-sm);
  padding: 10px 16px;
  color: var(--rk-brand);
  font-weight: 800;
  font-size: 14px;
  min-height: 44px;
  cursor: pointer;
}

.t88-directory-tools button:hover {
  background: var(--rk-lime);
}

.t88-list-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 12px;
}

.t88-list-heading h2 {
  margin: 0;
  color: var(--rk-brand);
  font-size: 20px;
  font-weight: 900;
}

.t88-list-heading p {
  font-size: 12px;
  color: var(--rk-muted);
  margin: 0;
  white-space: nowrap;
}

/* Cards */
.clean-directory-list {
  display: grid;
  gap: 10px;
  margin: 0 0 22px;
}

.clean-directory-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-radius: var(--rk-radius);
  background: var(--rk-card);
  border: 1px solid var(--rk-line);
  box-shadow: var(--rk-shadow);
}

.clean-directory-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
  color: inherit;
  text-decoration: none;
}

.clean-directory-icon {
  flex: 0 0 48px;
}

.clean-directory-icon img,
.clean-directory-icon .rk-app-icon {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 11px;
}

.t88-icon-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.clean-directory-copy {
  display: block;
  min-width: 0;
}

.clean-directory-copy strong,
.clean-directory-copy small {
  display: block;
}

.clean-directory-copy strong {
  font-size: 16px;
  color: var(--rk-brand);
  line-height: 1.3;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.clean-directory-copy small {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--rk-muted);
}

.clean-view-listing {
  flex: 0 0 auto;
  min-height: 40px;
  min-width: 84px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border-radius: 9px;
  background: var(--rk-lime);
  color: var(--rk-brand);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.clean-view-listing:hover {
  background: #d2ef9f;
}

/* Empty state — compact */
.t88-empty {
  padding: 14px 16px;
  margin: 4px 0 18px;
  border: 1px solid var(--rk-line);
  border-radius: 12px;
  line-height: 1.5;
  background: var(--rk-card);
  color: var(--rk-muted);
  font-size: 14px;
}

.t88-empty strong {
  color: var(--rk-brand);
  font-size: 14px;
  font-weight: 800;
}

.t88-directory [hidden],
.t88-standard-page [hidden] { display: none !important; }

.clean-home-about {
  margin: 8px 0 32px !important;
  padding: 18px 16px;
  border: 1px solid var(--rk-line);
  border-radius: 16px;
  background: var(--rk-card);
  box-shadow: var(--rk-shadow);
}

.clean-home-about h2 {
  margin: 0 0 8px;
  font-size: 18px;
  color: var(--rk-brand);
  font-weight: 900;
}

.clean-home-about p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--rk-text);
  margin: 8px 0;
}

.clean-home-about a {
  color: var(--rk-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Standard pages */
.t88-standard-page {
  max-width: 760px;
  margin: 20px auto;
  padding: 22px 18px;
  background: var(--rk-card);
  border: 1px solid var(--rk-line);
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--rk-text);
}

.t88-standard-page h1 {
  font-size: 28px;
  line-height: 1.3;
  color: var(--rk-brand);
  margin: 0 0 20px;
}

.t88-standard-page a {
  color: var(--rk-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ===== Single app ===== */
body.single-app {
  background: var(--rk-bg);
}

.rank1-app-page .container.two-col {
  max-width: 480px;
  margin: 0 auto;
  padding: 0 8px 24px;
}

.traffic88-clean-listing .app-page-card {
  background: var(--rk-card);
  border: 0;
  border-radius: 0 0 22px 22px;
  box-shadow: var(--rk-shadow);
  overflow: hidden;
  padding-bottom: 18px;
}

.t88-breadcrumb {
  font-size: 12px;
  line-height: 1.5;
  margin: 12px 12px 8px;
  color: var(--rk-muted);
}

.t88-breadcrumb a {
  color: var(--rk-accent);
  text-decoration: underline;
}

/* Detail hero — brand deep green recognition block */
.traffic88-promo-hero {
  position: relative;
  overflow: hidden;
  margin: 8px 6px 12px;
  padding: 16px;
  border-radius: 20px;
  background: var(--rk-brand);
  border: 1px solid rgba(221, 244, 181, 0.28);
  box-shadow: 0 12px 28px rgba(21, 61, 44, 0.18);
  color: #fff;
}

.traffic88-promo-hero.hero-slots,
.traffic88-promo-hero.hero-bingo,
.traffic88-promo-hero.hero-cards {
  background: var(--rk-brand-soft);
}

.promo-hero-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(2px);
  pointer-events: none;
  opacity: 0.5;
}

.promo-glow-one {
  width: 170px;
  height: 170px;
  right: -65px;
  top: -75px;
  background: radial-gradient(circle, rgba(221, 244, 181, 0.35), transparent 68%);
}

.promo-glow-two {
  width: 140px;
  height: 140px;
  left: -55px;
  bottom: -65px;
  background: radial-gradient(circle, rgba(52, 118, 76, 0.4), transparent 68%);
}

.promo-hero-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.promo-app-icon { flex: 0 0 72px; }

.promo-app-icon img,
.promo-app-icon .rk-app-icon {
  display: block;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: 16px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.promo-app-icon .t88-icon-placeholder {
  width: 72px;
  height: 72px;
  font-size: 20px;
  border: 2px solid rgba(255, 255, 255, 0.8);
}

.promo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(221, 244, 181, 0.16);
  border: 1px solid rgba(221, 244, 181, 0.4);
  color: var(--rk-lime);
  font-size: 9px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 1000;
}

.promo-kicker::before {
  content: "●";
  font-size: 7px;
  color: #a8e08a;
}

.promo-hero-copy h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 1000 !important;
  letter-spacing: -0.02em;
}

.promo-hero-copy p {
  margin: 8px 0 0 !important;
  color: #d7e8d2 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

.t88-hero-facts {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 14px 0;
  color: #eef7ea;
}

.t88-hero-facts span {
  font-size: 12px;
  padding: 6px 9px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
}

.promo-download-btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 9px 12px;
  border-radius: 12px;
  background: var(--rk-lime);
  color: var(--rk-brand) !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 1000;
  box-shadow: 0 8px 18px rgba(21, 61, 44, 0.18);
}

.promo-download-btn:hover {
  background: #d2ef9f;
}

.promo-download-btn::after {
  content: " →";
  margin-left: 5px;
  font-size: 17px;
}

.promo-hero-note {
  position: relative;
  z-index: 2;
  margin-top: 10px;
  color: #c5d9c0;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
  font-weight: 500;
}

.t88-no-download {
  position: relative;
  z-index: 2;
  font-size: 14px !important;
  color: #fff !important;
  margin: 12px 0 0;
}

.t88-page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 10px 12px;
}

.t88-page-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 7px 10px;
  border-radius: 9px;
  background: var(--rk-lime);
  color: var(--rk-brand);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.t88-app-details > h2 {
  font-size: 20px;
  line-height: 1.3;
  margin: 18px 12px 10px;
  color: var(--rk-brand);
}

.clean-facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px;
  margin: 0 8px 12px;
}

.clean-facts .info {
  min-width: 0;
  padding: 12px !important;
  border-radius: 12px;
  background: #F7FBF5;
  border: 1px solid var(--rk-line);
}

.clean-facts .info.highlight {
  background: var(--rk-hero-bg);
  border-color: #b8d0b4;
}

.clean-facts .k {
  font-size: 11px !important;
  color: var(--rk-muted);
  font-weight: 900;
  text-transform: uppercase;
}

.clean-facts .v {
  font-size: 14px !important;
  font-weight: 900;
  color: var(--rk-brand);
  overflow-wrap: anywhere;
  margin-top: 4px;
}

.t88-updated {
  font-size: 12px !important;
  color: var(--rk-muted) !important;
  margin: 10px 12px !important;
}

.clean-field-note {
  margin: 8px 8px 12px;
  padding: 9px 10px;
  border-radius: 10px;
  background: #F7FBF5;
  border: 1px solid var(--rk-line);
  color: var(--rk-muted);
  font-size: 11.5px;
  line-height: 1.5;
}

.clean-editorial {
  margin: 12px 8px;
  padding: 17px;
  background: var(--rk-card);
  border: 1px solid var(--rk-line);
  border-radius: 16px;
  box-shadow: var(--rk-shadow);
}

.clean-editorial h2 {
  font-size: 20px;
  margin: 0 0 10px;
  color: var(--rk-brand);
}

.clean-editorial p,
.clean-editorial li {
  font-size: 14px;
  line-height: 1.8;
  color: var(--rk-text);
}

.clean-source-card {
  margin: 12px 6px;
  padding: 14px;
  border: 1px solid var(--rk-line);
  border-radius: 16px;
  background: var(--rk-card);
  box-shadow: var(--rk-shadow);
}

.clean-source-head h2 {
  margin: 3px 0 0;
  font-size: 18px;
  color: var(--rk-brand);
  font-weight: 900;
}

.clean-kicker {
  display: block;
  font-size: 10px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rk-accent);
  font-weight: 900;
}

.clean-source-card p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--rk-text);
  margin: 8px 0 12px;
}

.clean-download-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  width: 100%;
  border-radius: 10px;
  background: var(--rk-lime);
  color: var(--rk-brand) !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 900;
  padding: 8px 12px;
}

.clean-download-btn:hover {
  background: #d2ef9f;
}

.t88-correction-link a {
  color: var(--rk-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 13px;
}

.faq-wrap.app-faq { margin: 16px 6px !important; }

.faq-wrap.app-faq .faq-title {
  margin: 0 0 11px !important;
  color: var(--rk-brand) !important;
  text-align: center !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
}

.faq-wrap.app-faq .faq-item {
  margin: 8px 0 !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: 14px !important;
  background: var(--rk-card) !important;
  overflow: hidden !important;
  box-shadow: var(--rk-shadow) !important;
}

.faq-wrap.app-faq .faq-item summary {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 12px !important;
  cursor: pointer !important;
}

.faq-wrap.app-faq .faq-item summary::-webkit-details-marker { display: none !important; }

.faq-wrap.app-faq .faq-item h3 {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 1000 !important;
  color: var(--rk-brand) !important;
}

.faq-wrap.app-faq .faq-plus {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--rk-hero-bg);
  color: var(--rk-accent);
  font-size: 17px;
  font-weight: 1000;
  flex: 0 0 auto;
}

.faq-wrap.app-faq .faq-item[open] .faq-plus { transform: rotate(45deg); }

.faq-wrap.app-faq .faq-answer { border-top: 1px solid var(--rk-line) !important; }

.faq-wrap.app-faq .faq-answer-inner {
  padding: 12px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: var(--rk-text) !important;
}

.faq-wrap.app-faq .faq-answer-inner p { margin: 0 !important; }

.related-apps-premium {
  margin: 12px 6px 16px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: var(--rk-card) !important;
  border: 1px solid var(--rk-line) !important;
  box-shadow: var(--rk-shadow) !important;
}

.related-apps-premium h2 {
  margin: 0 !important;
  padding: 11px 8px !important;
  background: var(--rk-brand) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  text-align: center !important;
}

.related-apps-premium .ora-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  gap: 8px !important;
  padding: 9px 10px !important;
  border-bottom: 1px solid var(--rk-line) !important;
}

.related-apps-premium .ora-item:last-child { border-bottom: 0 !important; }

.related-apps-premium .ora-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
}

.related-apps-premium .ora-left img,
.related-apps-premium .ora-left .rk-app-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 12px !important;
  object-fit: cover;
}

.related-apps-premium .ora-left .t88-icon-placeholder {
  width: 46px;
  height: 46px;
  font-size: 13px;
}

.related-apps-premium .ora-title {
  margin: 0 0 2px !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  color: var(--rk-brand) !important;
}

.related-apps-premium .ora-subtitle {
  color: var(--rk-muted) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}

.related-apps-premium .ora-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  min-height: 34px;
  border-radius: 10px;
  padding: 6px 10px;
  background: var(--rk-lime) !important;
  color: var(--rk-brand) !important;
  text-decoration: none !important;
  font-size: 11px;
  font-weight: 1000;
}

.seo-fold {
  margin: 10px 6px !important;
  border-radius: 16px !important;
  background: var(--rk-card) !important;
  border: 1px solid var(--rk-line) !important;
  box-shadow: var(--rk-shadow) !important;
  overflow: hidden !important;
}

.seo-fold summary {
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 12px 13px !important;
}

.seo-fold summary::-webkit-details-marker { display: none !important; }

.seo-fold summary h2 {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  color: var(--rk-brand) !important;
}

.fold-plus {
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--rk-hero-bg) !important;
  color: var(--rk-accent) !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  flex: 0 0 auto !important;
}

.seo-fold[open] .fold-plus { transform: rotate(45deg) !important; }

.fold-body { padding: 0 13px 13px !important; }

.fold-body p {
  font-size: 13px !important;
  line-height: 1.62 !important;
  color: var(--rk-text) !important;
  margin: 0 0 8px !important;
}

.t88-page-links a,
.t88-app-details,
.clean-editorial,
#app-faq { scroll-margin-top: 16px; }

/* Search / archive extras */
.search-results,
.archive .t88-directory {
  background: transparent;
}

/* Mobile directory */
@media (max-width: 700px) {
  .t88-directory .clean-home-hero {
    padding: 18px 0 16px;
    border-radius: 0 0 16px 16px;
  }

  .t88-directory .clean-home-hero h1 {
    max-width: none;
    font-size: clamp(22px, 6.2vw, 26px);
    line-height: 1.22;
    margin: 0 0 6px;
  }

  .t88-directory .clean-home-hero > .container > p:not(.t88-eyebrow) {
    font-size: 13.5px;
    line-height: 1.55;
  }

  .t88-directory .search-wrap {
    margin-top: 12px;
  }

  .t88-directory form[role="search"] {
    gap: 8px;
    max-width: 100%;
  }

  .t88-directory input[type="search"],
  .t88-directory form[role="search"] button {
    min-height: 44px;
  }

  .t88-directory-tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: end;
  }

  .t88-directory-tools label {
    flex: none;
    width: 100%;
  }

  .t88-directory-tools button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .clean-directory-card {
    padding: 12px;
    gap: 10px;
  }

  .clean-directory-copy strong {
    font-size: 15px;
  }

  .clean-view-listing {
    min-width: 76px;
    padding: 8px 10px;
  }

  .t88-empty {
    padding: 12px 14px;
    margin: 2px 0 14px;
  }
}

@media (max-width: 400px) {
  .t88-directory .container { padding: 0 12px; }
  .t88-directory .clean-directory-card {
    padding: 10px;
    gap: 8px;
  }
  .t88-directory .clean-directory-copy strong { font-size: 14px; }
  .t88-standard-page {
    margin: 12px 7px;
    padding: 18px 13px;
  }
  .promo-hero-copy h1 { font-size: 21px !important; }
  .promo-app-icon { flex-basis: 64px; }
  .promo-app-icon img,
  .promo-app-icon .rk-app-icon {
    width: 64px !important;
    height: 64px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .t88-directory *,
  .traffic88-clean-listing * { scroll-behavior: auto !important; }
}
