/*
Theme Name: GottaGF App Theme
Version: 1.1.8
Description: Stable hybrid of v1.1.3 and v1.1.6 — fixes gallery grid, restores clean header.
Author: GottaGF Dev
*/

/* =========================================================
   RESET / BASE
   ====================================================== */

html, body {
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Arial, sans-serif;
  background: #fff;
  color: #111;
}

img { max-width: 100%; height: auto; display: block; }

/* =========================================================
   HEADER / NAV
   ====================================================== */

.pg13-top-nav {
  position: sticky;
  top: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 14px 22px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
}

.pg13-logo {
  font-size: 20px;
  font-weight: 800;
  color: #111;
}
.pg13-logo span { color: #ff2e86; }

.pg13-top-links {
  display: flex;
  align-items: center;
  gap: 16px;
}

.pg13-top-link {
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  color: #444;
  padding: 6px 10px;
  border-radius: 8px;
  transition: background 0.2s ease, color 0.2s ease;
}

.pg13-top-link:hover {
  background: #f3f4f6;
  color: #111;
}

.pg13-top-link--active {
  background: #111;
  color: #fff !important;
}

/* Support pink pill */
.pg13-top-pill {
  border-radius: 999px;
  padding: 8px 18px;
  background: #ff2e86;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}

/* X-Rated red pill */
.pg13-top-link--xrated {
  background: #e50914;
  color: #fff !important;
  border-radius: 999px;
  padding: 6px 14px;
}
.pg13-top-link--xrated:hover {
  background: #c10810;
  color: #fff !important;
}


/* Default site header (used on single video pages & non-app pages) */
.site-header {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 12px;
  display: none !important;
}

.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo-main {
  font-weight: 700;
  letter-spacing: 0.05em;
}

.site-logo-q {
  color: #ff2e86;
  margin-left: 3px;
}

/* Hide default site header on app-style shells where we use pg13-top-nav */
body.tax-ggf_model .site-header,
body.home .site-header,
body.page-x-rated .site-header,
.xrated-shell .site-header,
.xrated-body .site-header {
  display: none !important;
}


/* =========================================================
   MODEL PAGE BASE STYLING
   ====================================================== */

body.tax-ggf_model {
  background: #f5f5f7;
  font-size: 17px;
  line-height: 1.8;
  color: #111827;
}

body.tax-ggf_model main { margin-top: 40px; }

/* Header */
body.tax-ggf_model .ggf-model-header {
  max-width: 960px;
  margin: 32px auto 16px;
  padding: 24px 16px 8px;
}

body.tax-ggf_model .ggf-model-meta {
  display: flex;
  align-items: center;
  gap: 24px;
}

body.tax-ggf_model .ggf-model-avatar-wrap {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,0.22);
}

body.tax-ggf_model .ggf-model-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.tax-ggf_model .ggf-model-name {
  font-size: 34px;
  font-weight: 800;
  margin: 0 0 6px;
}

body.tax-ggf_model .ggf-model-story {
  font-size: 18px;
  color: #444;
  margin: 0;
}

/* =========================================================
   MODEL NAV TABS
   ====================================================== */

body.tax-ggf_model .ggf-model-tabs {
  display: inline-flex;
  padding: 4px;
  border-radius: 999px;
  background: #f3f4f6;
  margin: 18px auto 26px;
  gap: 4px;
}

body.tax-ggf_model .ggf-tab {
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 16px;
  font-weight: 500;
  color: #555;
  text-decoration: none;
  background: #fff;
  border: none;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: background 0.15s ease, color 0.15s ease;
}

body.tax-ggf_model .ggf-tab.active {
  background: #111;
  color: #fff;
}

/* =========================================================
   BIO + REQUESTS
   ====================================================== */

body.tax-ggf_model .ggf-model-bio {
  background: #fff;
  border-radius: 24px;
  max-width: 960px;
  margin: 0 auto 28px;
  padding: 22px 22px 26px;
  box-shadow: 0 20px 50px rgba(15,23,42,0.12);
}

body.tax-ggf_model .ggf-model-bio-text {
  font-size: 19px;
  line-height: 1.95;
  color: #111827;
}

/* Compliments */
body.tax-ggf_model .model-requests {
  max-width: 960px;
  margin: 32px auto 40px;
  padding: 0 16px;
  font-size: 16px;
  color: #444;
}

body.tax-ggf_model .model-requests > h2 {
  font-size: 20px;
  margin-bottom: 12px;
}

body.tax-ggf_model .model-requests-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
}

body.tax-ggf_model .model-request-item-inner {
  background: #fff;
  border-radius: 18px;
  padding: 12px 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
}

/* =========================================================
   GALLERY GRID (UNIFIED)
   ====================================================== */

.model-gallery { padding: 16px; }

/* Recognize both old and new classnames */
.model-gallery-grid,
.gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
}

.model-gallery-item,
.gallery-item {
  position: relative;
  background: #000;
  border-radius: 14px;
  overflow: hidden;
}

.model-gallery-item img,
.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================================================
   X-RATED PAGE THEME
   ====================================================== */

.xrated-shell,
.xrated-body {
  background: #000;
  color: #fff;
}

.xrated-shell .pg13-top-nav,
.xrated-body .pg13-top-nav {
  background: #000;
  border-bottom-color: rgba(255,255,255,0.1);
}

.xrated-shell .pg13-logo,
.xrated-body .pg13-logo {
  color: #fff;
}

.xrated-shell .pg13-logo span,
.xrated-body .pg13-logo span {
  color: #ff2d8d;
}

.xrated-shell .pg13-top-link,
.xrated-body .pg13-top-link {
  color: #f5f5f5;
}

/* =========================================================
   RESPONSIVE
   ====================================================== */

@media (max-width: 768px) {
  body.tax-ggf_model {
    font-size: 15px;
  }

  body.tax-ggf_model .ggf-model-name {
    font-size: 26px;
  }

  body.tax-ggf_model .ggf-model-bio-text {
    font-size: 17px;
  }

  body.tax-ggf_model .model-requests-list {
    grid-template-columns: 1fr;
  }

  .model-gallery-grid,
  .gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
  }
}

/* === Restore header on single video pages === */
body.single-short_video .site-header {
  display: block !important;
}

/* === X-Rated: hide per-clip titles (set name) === */
.xrated-shell .ggf-title,
.xrated-body .ggf-title {
  display: none !important;
}

/* === X-Rated: center "Scroll for hotness" and use real text === */
/* Global swipe intro text (Scroll for hotness) */
.ggf-swipe-intro {
  display: block;
  max-width: 540px;
  margin: 12px auto 8px;
  text-align: center;
  color: #999;
  font-size: 13px;
}

.xrated-shell .ggf-swipe-intro,
.xrated-body .ggf-swipe-intro {
  max-width: 540px;
  margin: 12px auto 8px;
  text-align: center;
  color: #999;
  font-size: 13px;
}

/* Disable the PG13 pseudo-label on X-Rated so inner text shows */
.xrated-shell .ggf-swipe-intro::before,
.xrated-body .ggf-swipe-intro::before {
  content: none;
}

/* =========================================================
   SINGLE short_video PAGE LAYOUT
   ====================================================== */

body.single-short_video {
  background: #f5f5f7;
}

/* Constrain main content to same width as model pages */
body.single-short_video #primary,
body.single-short_video .content-area,
body.single-short_video .site-main {
  max-width: 960px;
  margin: 32px auto 40px;
  padding: 0 16px;
}

/* Title + tiny description */
body.single-short_video h1.entry-title,
body.single-short_video .entry-title {
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 4px;
}

body.single-short_video .entry-header p,
body.single-short_video .entry-content > p:first-of-type {
  font-size: 14px;
  color: #666;
  margin: 0 0 8px;
}

/* Main image / video frame – be generous: target any <img> in content */
body.single-short_video .entry-content img,
body.single-short_video .post-thumbnail img,
body.single-short_video .short-video-player img,
body.single-short_video .short-video-player video,
body.single-short_video .ggf-video-frame img,
body.single-short_video .ggf-video-frame video,
body.single-short_video .content-area img {
  margin: 12px auto 16px;
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.2);
  display: block;
}

/* Previous / Next nav */
body.single-short_video .post-navigation,
body.single-short_video .nav-links {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

body.single-short_video .post-navigation a,
body.single-short_video .nav-links a {
  text-decoration: none;
  color: #111;
}

/* Use only the app nav on GottaGF shells */
body.tax-ggf_model .site-header,
.xrated-shell .site-header,
.xrated-body .site-header,
body.single-short_video .site-header {
  display: none !important;
}

/* =========================================================
   SINGLE short_video PAGE LAYOUT
   ====================================================== */

body.single-short_video {
  background: #f5f5f7;
}

/* Constrain content to same width as model pages */
body.single-short_video #primary,
body.single-short_video .content-area,
body.single-short_video .site-main {
  max-width: 960px;
  margin: 32px auto 48px;
  padding: 0 16px;
}

/* Center text + meta */
body.single-short_video .site-main,
body.single-short_video .entry-header,
body.single-short_video .entry-content,
body.single-short_video .post-navigation,
body.single-short_video .nav-links {
  text-align: center;
}

/* Title + set name */
body.single-short_video h1.entry-title,
body.single-short_video .entry-title {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 6px;
}

body.single-short_video .entry-header p,
body.single-short_video .entry-content > p:first-of-type {
  font-size: 14px;
  color: #666;
  margin: 0 0 10px;
}

/* “Back to Abigail White’s gallery” link */
body.single-short_video a[href*="Back to"],
body.single-short_video .back-to-gallery {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 8px;
}

/* Main image / video frame: slightly bigger */
body.single-short_video .entry-content img,
body.single-short_video .entry-content video {
  max-width: 480px;
  width: 100%;
  margin: 16px auto 16px;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(15,23,42,0.2);
  display: block;
}

/* Like button wrapper */
body.single-short_video .wp-ulike,
body.single-short_video .like-button-wrapper {
  display: inline-block;
  margin-top: 10px;
}

/* Previous / Next nav links */
body.single-short_video .post-navigation,
body.single-short_video .nav-links {
  margin-top: 16px;
  font-size: 13px;
}

body.single-short_video .post-navigation a,
body.single-short_video .nav-links a {
  text-decoration: none;
  color: #111;
}

/* =========================================================
   SINGLE short_video PAGE – CENTERED LAYOUT
   ====================================================== */

body.single-short_video {
  background: #f5f5f7;
}

/* Put the content in the same 960px column as model pages */
body.single-short_video #primary,
body.single-short_video .content-area,
body.single-short_video .site-main {
  max-width: 960px;
  margin: 32px auto 48px;
  padding: 0 16px;
}

/* Center header/meta text (Back link, title, set name) */
body.single-short_video .entry-header {
  text-align: center;
}

/* Back link line */
body.single-short_video .entry-header a {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 8px;
}

/* Title + set name */
body.single-short_video h1.entry-title,
body.single-short_video .entry-title {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 6px;
}

body.single-short_video .entry-header p {
  font-size: 14px;
  color: #666;
  margin: 0 0 10px;
}

/* Main image/video – keep it big and centered */
body.single-short_video .entry-content img,
body.single-short_video .entry-content video {
  max-width: 480px;
  width: 100%;
  margin: 16px auto 16px;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(15,23,42,0.2);
  display: block;
}

/* Like button */
body.single-short_video .wp-ulike,
body.single-short_video .like-button-wrapper {
  display: inline-block;
  margin-top: 10px;
}

/* Prev / Next links */
body.single-short_video .post-navigation,
body.single-short_video .nav-links {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

body.single-short_video .post-navigation a,
body.single-short_video .nav-links a {
  text-decoration: none;
  color: #111;
}

/* =========================================================
   GGF SINGLE VIDEO PAGE – UNIFIED CENTERED STYLE
   ====================================================== */

body.single-short_video .ggf-video-page {
  max-width: 960px;
  margin: 32px auto 48px;
  padding: 0 16px;
  text-align: center;
}

body.single-short_video .ggf-video-breadcrumb a {
  display: inline-block;
  font-size: 13px;
  color: #444;
  margin-bottom: 8px;
  text-decoration: none;
}

body.single-short_video .ggf-video-header {
  margin-bottom: 8px;
}

body.single-short_video .ggf-video-title {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 6px;
}

body.single-short_video .ggf-video-subtitle {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

body.single-short_video .ggf-video-frame video {
  max-width: 480px;
  width: 100%;
  margin: 16px auto;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(15,23,42,0.2);
  display: block;
}

body.single-short_video .ggf-video-actions {
  margin-top: 10px;
}

body.single-short_video .ggf-like-button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #ff2e86;
}

body.single-short_video .ggf-video-nav {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #111;
}

body.single-short_video .ggf-video-nav a {
  text-decoration: none;
  color: #111;
}

/* =========================================================
   MEMBERS PORTAL – BLOCK 1: MODEL GRID
   ====================================================== */

/* Shell for the /members/ page */
body.page-id-members .ggf-members-page,
body.page-template-members .ggf-members-page,
body.page .ggf-members-page {
  max-width: 1200px;
  margin: 32px auto 48px;
  padding: 0 16px;
}

/* Optional heading above the grid */
.ggf-members-heading {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 18px;
  text-align: left;
}

/* Grid wrapper – 4 columns on desktop */
.ggf-members-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 18px;
}

/* Individual model card */
.ggf-members-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 16px 14px 14px;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.12);
  text-align: center;
}

.ggf-members-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Avatar */
.ggf-members-card-avatar {
  width: 96px;
  height: 96px;
  margin: 0 auto 10px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.ggf-members-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Name + subline */
.ggf-members-card-name {
  font-size: 15px;
  font-weight: 700;
  margin: 6px 0 2px;
}

.ggf-members-card-meta {
  font-size: 12px;
  color: #666;
}

/* Nav under the grid (Previous / Next “swipe” controls) */
.ggf-members-grid-nav {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

.ggf-members-nav-btn {
  border-radius: 999px;
  padding: 7px 16px;
  border: none;
  background: #f3f4f6;
  color: #111;
  cursor: pointer;
  font-weight: 500;
}

.ggf-members-nav-btn--primary {
  background: #111;
  color: #fff;
}

/* RESPONSIVE: 2 columns on mobile, 3 on small tablets */
@media (max-width: 900px) {
  .ggf-members-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

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

/* =========================================================
   MEMBERS PAGE – HIDE LEGACY HEADER
   ====================================================== */

body.page-template-members-hub .site-header {
  display: none !important;
}

/* =========================================================
   MEMBERS PORTAL – GRID + CARD STYLE
   ====================================================== */

/* Shell is already .ggf-members-page; just keep it centered */
.ggf-members-page {
  max-width: 1200px;
  margin: 32px auto 48px;
  padding: 0 16px;
}

/* Section heading */
.ggf-members-heading {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 18px;
}

/* 4-column grid on desktop */
.ggf-members-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 18px;
}

/* Card: mostly image, very light chrome */
.ggf-members-card {
  text-align: center;
}

.ggf-members-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Image tile – full width, soft radius + shadow */
.ggf-members-card-avatar {
  width: 100%;
  max-width: 220px;
  margin: 0 auto 8px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.45);
  background: #000;
}

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

/* Name under the image */
.ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 4px 0 0;
}

/* On black members background, keep text bright */
.xrated-shell .ggf-members-card-name {
  color: #f9fafb;
}

/* Grid nav buttons (prev/next) */
.ggf-members-grid-nav {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

.ggf-members-nav-btn {
  border-radius: 999px;
  padding: 7px 16px;
  border: none;
  background: #f3f4f6;
  color: #111;
  cursor: pointer;
  font-weight: 500;
  text-decoration: none;
}

.ggf-members-nav-btn--primary {
  background: #111;
  color: #fff;
}

/* Responsive: 3 columns on tablet, 2 on mobile */
@media (max-width: 900px) {
  .ggf-members-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

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

/* =========================================================
   MEMBERS PORTAL – BLOCK 3 + BLOCK 4 (HALF-WIDTH)
   ====================================================== */

.members-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}

/* GOTW card */
.members-gf-week-card {
  background: #111;
  border-radius: 22px;
  padding: 18px 18px 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.7);
  color: #f9fafb;
}

.members-gf-week-card a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.members-gf-week-hero img {
  width: 100%;
  border-radius: 18px;
  display: block;
  margin-bottom: 10px;
}

/* Member Support placeholder */
.members-support-card {
  background: #111;
  border-radius: 22px;
  padding: 18px 18px 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.7);
  color: #f9fafb;
}

.members-support-card h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 700;
}

.members-support-card p {
  margin: 0;
  font-size: 14px;
  color: #d4d4d8;
}

/* Stack GOTW + Support vertical on mobile */
@media (max-width: 900px) {
  .members-two-column {
    grid-template-columns: 1fr;
  }
}

/* Space between blocks */
.members-section {
  margin-bottom: 32px;
}

/* Clean heading style */
.ggf-members-heading {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 16px;
}

/* Grid: 4 per row on desktop */
.ggf-members-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

/* Clean, image-forward tiles */
.ggf-members-card {
  text-align: center;
}

.ggf-members-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Almost all picture, light stroke, soft radius */
.ggf-members-card-avatar {
  width: 100%;
  max-width: 240px;
  margin: 0 auto 6px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
  background: #000;
}

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

.ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 2px 0 0;
  color: #f9fafb;
}

/* Prev / next under Block 1 */
.ggf-members-grid-nav {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

.ggf-members-nav-btn {
  border-radius: 999px;
  padding: 6px 16px;
  border: none;
  background: #f3f4f6;
  color: #111;
  cursor: pointer;
  font-weight: 500;
  text-decoration: none;
}

.ggf-members-nav-btn--primary {
  background: #111;
  color: #fff;
}

/* MEMBERS – ultra-clean image tiles */

.ggf-members-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.ggf-members-card {
  background: transparent;
  padding: 0;
  box-shadow: none;
  text-align: center;
}

.ggf-members-card-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

/* Almost pure image: no card chrome, just a soft radius + subtle shadow */
.ggf-members-card-avatar {
  width: 210px;
  max-width: 100%;
  margin: 0 auto 6px;
  border-radius: 18px;
  overflow: hidden;
  border: none;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  background: #000;
}

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

.ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 2px 0 0;
  color: #f9fafb;
}

/* Breathing room between sections */
.members-section {
  margin-bottom: 32px;
}

/* MEMBERS – force ultra-minimal image tiles (override any older card styles) */

.members-shell .ggf-members-card {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.members-shell .ggf-members-card-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Image is the “card” */
.members-shell .ggf-members-card-avatar {
  width: 210px;
  max-width: 100%;
  margin: 0 auto 6px;
  border-radius: 18px;
  overflow: hidden;
  border: none !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
  background: #000;
}

.members-shell .ggf-members-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.members-shell .ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 2px 0 0;
  color: #f9fafb;
}

/* Space between sections */
.members-section {
  margin-bottom: 32px;
}

/* MEMBERS – TikTok-style portrait tiles, ultra-minimal */

.members-shell .ggf-members-card,
.members-shell .ggf-members-card-link {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Portrait image as the “card” */
.members-shell .ggf-members-card-avatar {
  width: 240px;                /* a bit bigger */
  max-width: 100%;
  aspect-ratio: 9 / 16;        /* tall like a phone video */
  margin: 0 auto 6px;
  border-radius: 20px;
  overflow: hidden;
  border: none !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
  background: #000;
}

.members-shell .ggf-members-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.members-shell .ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 2px 0 0;
  color: #f9fafb;
}

/* Space between rows */
.members-section {
  margin-bottom: 32px;
}

/* MEMBERS – TikTok-style portrait tiles, ultra-minimal override */

.members-shell .ggf-members-card,
.members-shell .ggf-members-card-link {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Portrait video-style thumb is the “card” */
.members-shell .ggf-members-card-avatar {
  width: 240px;              /* bigger tile */
  max-width: 100%;
  aspect-ratio: 9 / 16;      /* tall, phone-style */
  margin: 0 auto 6px;
  border-radius: 20px;
  overflow: hidden;
  border: none !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
  background: #000;
}

.members-shell .ggf-members-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.members-shell .ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 2px 0 0;
  color: #f9fafb;
}

/* Space between rows */
.members-section {
  margin-bottom: 32px;
}

/* MEMBERS HUB — TikTok-style portrait tiles, ultra minimal */

body.page-template-members-hub .ggf-members-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: flex-start;
}

/* Remove any existing “card” chrome */
body.page-template-members-hub .ggf-members-card,
body.page-template-members-hub .ggf-members-card-link {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Portrait video-style thumb is the card */
body.page-template-members-hub .ggf-members-card-avatar {
  width: 220px;              /* tweak up/down for size */
  max-width: 100%;
  aspect-ratio: 9 / 16;      /* tall, phone-style */
  margin: 0 auto 6px;
  border-radius: 20px;
  overflow: hidden;
  border: none !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
  background: #000;
}

body.page-template-members-hub .ggf-members-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Label under the tile */
body.page-template-members-hub .ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 4px 0 0;
  text-align: center;
  color: #f9fafb;
}

/* Extra breathing room between the main blocks */
body.page-template-members-hub .members-section {
  margin-bottom: 36px;
}

/* MEMBERS HUB — TikTok-style portrait tiles, ultra minimal */

body.page-template-members-hub .ggf-members-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: flex-start;
}

/* Remove any existing “card” chrome */
body.page-template-members-hub .ggf-members-card,
body.page-template-members-hub .ggf-members-card-link {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none;
  color: inherit;
  display: block;
}

/* Portrait video-style thumb is the card */
body.page-template-members-hub .ggf-members-card-avatar {
  width: 220px;              /* tweak up/down for size */
  max-width: 100%;
  aspect-ratio: 9 / 16;      /* tall, phone-style */
  margin: 0 auto 6px;
  border-radius: 20px;
  overflow: hidden;
  border: none !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
  background: #000;
}

body.page-template-members-hub .ggf-members-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Label under the tile */
body.page-template-members-hub .ggf-members-card-name {
  font-size: 14px;
  font-weight: 600;
  margin: 4px 0 0;
  text-align: center;
  color: #f9fafb;
}

/* Extra breathing room between the main blocks */
body.page-template-members-hub .members-section {
  margin-bottom: 36px;
}

/* =========================================================
   MEMBERS HUB — CLEAN SLATE PORTRAIT GRID
   ====================================================== */

body.page-template-members-hub {
  background: #000;
  color: #fff;
  font-family: "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.members-hub {
  max-width: 1200px;
  margin: 40px auto 80px;
  padding: 0 16px;
}

.mh-welcome {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 4px;
}

.mh-subtitle {
  font-size: 15px;
  color: #bbb;
  margin: 0 0 24px;
}

.mh-section {
  margin-bottom: 40px;
}

.mh-heading {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}

/* ===== GRID ===== */
.mh-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

/* ===== TILE ===== */
.mh-tile {
  text-align: center;
}

.mh-tile-link {
  text-decoration: none;
  color: inherit;
  display: inline-block;
}

.mh-thumb {
  width: 220px;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 20px;
  display: block;
  background: #111;
}

.mh-label {
  margin-top: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #f9fafb;
}

/* ===== TWO COLUMN (GOTW + SUPPORT) ===== */
.mh-two-col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.mh-gotw-card,
.mh-placeholder {
  background: #111;
  border-radius: 20px;
  padding: 20px;
}

.mh-gotw-card img {
  width: 100%;
  border-radius: 18px;
  margin-bottom: 10px;
}

.mh-meta {
  font-size: 13px;
  color: #ccc;
}

/* ===== MOBILE ===== */
@media (max-width: 900px) {
  .mh-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .mh-two-col {
    grid-template-columns: 1fr;
  }
}

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

/* =========================================================
   FEED-SPECIFIC TWEAKS (GLOBAL PG13 / X-RATED)
   ====================================================== */

/* Hide set name subtitles in global feeds to keep tiles clean */
.ggf-feed .ggf-video-subtitle,
.pg13-fullscreen-shell .ggf-video-subtitle,
.xrated-shell .ggf-video-subtitle {
  display: none !important;
}

/* Hide large feed titles in fullscreen / swipe feeds (home PG13, X-rated members, model swipe) */
.pg13-fullscreen-shell .ggf-title,
.model-feed-swipe .ggf-title,
.xrated-shell .ggf-title {
  display: none !important;
}


/* =========================================================
   X-RATED LANDING – STACK FEED ABOVE FORM (ALL VIEWPORTS)
   ====================================================== */

/* Use page-id so this only touches /x-rated/ */
body.page-id-1737 .ggf-x-landing-inner {
  display: flex;
  flex-direction: column !important; /* override plugin's row layout */
  align-items: center;
  gap: 32px;
}

/* Make both sections full-width, like the PG13 feed */
body.page-id-1737 .ggf-x-landing-video,
body.page-id-1737 .ggf-x-landing-form {
  width: 100% !important;
  max-width: 640px;     /* tweak up/down if you want it wider/narrower */
}

/* Stack the tiles cleanly */
body.page-id-1737 .ggf-x-landing-player-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Let each video tile span the full column */
body.page-id-1737 .ggf-x-landing-player {
  width: 100%;
}


/* =========================================================
   X-RATED LANDING – FORCE PG13-STYLE TILE SIZING
   Target page: /x-rated/ (page-id-1737)
   ====================================================== */

body.page-id-1737 .ggf-x-landing-player .ggf-x-landing-video-tag {
  width: 100% !important;
  max-width: 480px !important;   /* bump to 520/540 if you want larger */
  aspect-ratio: 9 / 16 !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
  object-fit: cover !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.45) !important;
}

/* Center each tile and add spacing between them */
body.page-id-1737 .ggf-x-landing-player {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto 32px !important;
}

/* Keep the whole stack nicely narrowed like PG13 feed */
body.page-id-1737 .ggf-x-landing-player-stack {
  max-width: 520px;
  margin: 24px auto 8px;
}

/* =========================================================
   X-RATED LANDING – FINAL TILE SIZE TWEAK
   Target: /x-rated/ (page-id-1737)
   ====================================================== */

/* Make the stack itself a bit wider and centered */
body.page-id-1737 .ggf-x-landing-player-stack {
  max-width: 560px !important;   /* bump up or down to taste */
  margin: 32px auto 8px !important;
}

/* Make each video tile big + PG13-style */
body.page-id-1737 .ggf-x-landing-player .ggf-x-landing-video-tag {
  display: block !important;
  width: 100% !important;
  max-width: 560px !important;   /* match stack width */
  margin: 0 auto 24px !important;

  border-radius: 22px !important;
  box-shadow: 0 20px 50px rgba(15,23,42,0.55) !important;

  /* keep tall portrait vibe */
  aspect-ratio: 9 / 16 !important;
  object-fit: cover !important;
}

/* =========================================================
   HOME – LEFT FOOTER SIDEBAR LINKS (TikTok-style)
   Shown on PG13 fullscreen homepage template only
   ====================================================== */

.pg13-fullscreen-shell .ggf-left-footer {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 16px;          /* larger base font */
  color: #555555;           /* medium gray for legibility */
  pointer-events: auto;
}

/* Links */
.pg13-fullscreen-shell .ggf-left-footer a {
  text-decoration: none;
  color: #555555;           /* same as base */
  transition: color 0.2s ease;
}

.pg13-fullscreen-shell .ggf-left-footer a:hover {
  color: #ff2e86;           /* pink hover color */
}

/* Copyright line */
.pg13-fullscreen-shell .ggf-left-footer-copy {
  margin-top: 6px;
  font-size: 15px;
  color: #777777;
}

/* Hide on very small screens so it doesn't compete with feed UI */
@media (max-width: 640px) {
  .pg13-fullscreen-shell .ggf-left-footer {
    display: none;
  }
}

/* =========================================================
   FIX: iOS email input overflow on X-RATED landing
   ====================================================== */
body.page-id-1737 .ggf-x-landing-form input[type="email"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-right: 12px; /* prevents text from touching edge */
  overflow: hidden;
}

@supports (-webkit-touch-callout: none) {
  body.page-id-1737 .ggf-x-landing-form input[type="email"] {
    max-width: calc(100% - 8px) !important;
  }
}
