/* GGF CLEAN — Like throb ownership (active only) */

@keyframes ggfThrob {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* Kill any legacy animation everywhere */


/* Blog Post Shell (single.php) */
.ggf-post-shell { max-width: 860px; margin: 0 auto; padding: 22px 16px 60px; }
.ggf-post { border-radius: 18px; padding: 18px 18px 24px; background: rgba(0,0,0,0.20); border: 1px solid rgba(255,255,255,0.10); }
.ggf-post-title { margin: 0 0 8px; font-size: 28px; line-height: 1.15; }
.ggf-post-meta { opacity: 0.75; font-size: 13px; margin-bottom: 16px; }
.ggf-post-content { font-size: 16px; line-height: 1.65; }
.ggf-post-content img { max-width: 100%; height: auto; border-radius: 14px; }

/* =========================================================
   Members Hub — Updates (light card)
   ====================================================== */

.mh-updates { margin: 18px 0 22px; }

.mh-updates-card {
  border-radius: 18px;
  padding: 14px 14px 10px;
  background: #e9eaec; /* light gray */
  border: 1px solid rgba(0,0,0,0.10);
}

.mh-update {
  border-radius: 14px;
  padding: 12px 12px 10px;
  background: #f4f5f6; /* slightly lighter inner */
  border: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 10px;
}
.mh-update:last-child { margin-bottom: 0; }

.mh-update-date {
  font-size: 12px;
  color: rgba(0,0,0,0.60);
}

/* Force readable text inside the light card */
.mh-update-content,
.mh-update-content * {
  color: #111;
}

/* Links look nice on light */
.mh-update-content a {
  color: #4b2bbd;
  text-decoration: underline;
}

/* Prevent blog image upscaling + keep it tidy */
.mh-update-content img {
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* =========================================================
   Comment Form → "Write a comment…" feel
   ====================================================== */

.ggf-post-comments .comment-respond,
.mh-update-comments .comment-respond {
  margin-top: 14px;
}

.ggf-post-comments .comment-reply-title,
.mh-update-comments .comment-reply-title {
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 8px;
  opacity: 0.85;
}

/* Hide noisy notes */
.ggf-post-comments .comment-notes,
.mh-update-comments .comment-notes,
.ggf-post-comments .logged-in-as,
.mh-update-comments .logged-in-as {
  display: none;
}

/* Inputs layout: make it compact */
.ggf-post-comments .comment-form,
.mh-update-comments .comment-form {
  display: grid;
  gap: 10px;
  margin: 0;
}

/* Textarea as the main bubble input */
.ggf-post-comments .comment-form textarea,
.mh-update-comments .comment-form textarea {
  width: 100%;
  min-height: 84px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.18);
  padding: 10px 12px;
  background: #fff;
  color: #111;
  font-size: 13px;
  line-height: 1.45;
}

/* Compact author/email fields */
.ggf-post-comments .comment-form-author input,
.ggf-post-comments .comment-form-email input,
.ggf-post-comments .comment-form-url input,
.mh-update-comments .comment-form-author input,
.mh-update-comments .comment-form-email input,
.mh-update-comments .comment-form-url input {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.18);
  padding: 10px 12px;
  background: #fff;
  color: #111;
  font-size: 13px;
}

/* Button like a social "Post" */
.ggf-post-comments .comment-form .form-submit,
.mh-update-comments .comment-form .form-submit {
  margin: 0;
  display: flex;
  justify-content: flex-end;
}

.ggf-post-comments .comment-form input[type="submit"],
.mh-update-comments .comment-form input[type="submit"] {
  border-radius: 999px;
  padding: 10px 14px;
  border: 1px solid rgba(0,0,0,0.18);
  background: #111;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
}

/* Optional: hide website field */
.ggf-post-comments .comment-form-url,
.mh-update-comments .comment-form-url {
  display: none;
}

/* =========================================================
   Social-style Comments (WP)
   Feels like IG / FB — bubbles, avatars, compact
   Scope: single.php + Members Hub updates
   ====================================================== */

.ggf-post-comments,
.mh-update-comments {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.10);
}

/* Reset default WP list */
.ggf-post-comments .comment-list,
.mh-update-comments .comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

/* Base comment row */
.ggf-post-comments .comment,
.mh-update-comments .comment {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* Layout: avatar + bubble */
.ggf-post-comments .comment-body,
.mh-update-comments .comment-body {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: start;
}

/* Avatar */
.ggf-post-comments .avatar,
.mh-update-comments .avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
}

/* Meta line (name + time) */
.ggf-post-comments .comment-meta,
.mh-update-comments .comment-meta {
  grid-column: 2 / 3;
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}

.ggf-post-comments .comment-author .fn,
.mh-update-comments .comment-author .fn {
  font-weight: 700;
  font-size: 13px;
}

.ggf-post-comments .comment-metadata,
.mh-update-comments .comment-metadata {
  font-size: 12px;
  opacity: 0.6;
}

.ggf-post-comments .comment-metadata a,
.mh-update-comments .comment-metadata a {
  text-decoration: none;
}

/* Bubble */
.ggf-post-comments .comment-content,
.mh-update-comments .comment-content {
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
}

/* Text spacing */
.ggf-post-comments .comment-content p,
.mh-update-comments .comment-content p {
  margin: 0 0 6px;
}
.ggf-post-comments .comment-content p:last-child,
.mh-update-comments .comment-content p:last-child {
  margin-bottom: 0;
}

/* Reply action (social-style) */
.ggf-post-comments .reply,
.mh-update-comments .reply {
  margin-top: 6px;
}

.ggf-post-comments .comment-reply-link,
.mh-update-comments .comment-reply-link {
  display: inline-flex;
  gap: 6px;
  font-size: 12px;
  opacity: 0.7;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.6);
  text-decoration: none;
}

/* Threaded replies */
.ggf-post-comments .children,
.mh-update-comments .children {
  list-style: none;
  margin: 10px 0 0 46px;
  padding: 0;
  display: grid;
  gap: 10px;
}

/* =========================================================
   Comment Form — Social style
   ====================================================== */

.ggf-post-comments .comment-respond,
.mh-update-comments .comment-respond {
  margin-top: 14px;
}

/* Remove WP noise */
.ggf-post-comments .comment-notes,
.mh-update-comments .comment-notes,
.ggf-post-comments .logged-in-as,
.mh-update-comments .logged-in-as {
  display: none;
}

.ggf-post-comments .comment-form,
.mh-update-comments .comment-form {
  display: grid;
  gap: 10px;
}

/* Main input */
.ggf-post-comments textarea,
.mh-update-comments textarea {
  width: 100%;
  min-height: 84px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.18);
  padding: 10px 12px;
  font-size: 13px;
  background: #fff;
  color: #111;
}

/* Inputs */
.ggf-post-comments input[type="text"],
.ggf-post-comments input[type="email"],
.mh-update-comments input[type="text"],
.mh-update-comments input[type="email"] {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.18);
  padding: 10px 12px;
  font-size: 13px;
}

/* Hide website field (IG-style) */
.ggf-post-comments .comment-form-url,
.mh-update-comments .comment-form-url {
  display: none;
}

/* Post button */
.ggf-post-comments .form-submit,
.mh-update-comments .form-submit {
  display: flex;
  justify-content: flex-end;
}

.ggf-post-comments input[type="submit"],
.mh-update-comments input[type="submit"] {
  border-radius: 999px;
  padding: 10px 16px;
  border: 0;
  background: #111;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
}

/* Compliance: Support pill must be visible */
.pg13-top-pill--support {
  display: inline-flex !important;
}

/* =========================================================
   Support Page polish (logo stays)
   ====================================================== */

/* Kill purple visited links on support page */
body.page-support a:link,
body.page-support a:visited,
body.page-support a:hover,
body.page-support a:active {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 0.92;
}

/* Readable content width */
body.page-support main,
body.page-support .site-main,
body.page-support .ggf-post-shell,
body.page-support .entry-content {
  max-width: 860px;
  margin: 0 auto;
}

/* Give the support content a tidy card (adjust selectors to match your theme) */
body.page-support .entry-content,
body.page-support article,
body.page-support .ggf-post {
  border-radius: 18px;
  padding: 18px 18px 22px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
}

/* =========================================================
   Support / Legal minimal branded shell
   ====================================================== */

.ggf-support-top {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,0.90);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.ggf-support-top-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ggf-support-brand {
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.2px;
  color: #111;
  text-decoration: none;
}

.ggf-support-brand span {
  color: rgb(255, 46, 134);
}

.ggf-support-back {
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  color: #111;
  text-decoration: none;
}

/* Page content container (replaces inline styles) */
.ggf-page.ggf-support-legal {
  max-width: 980px;
  margin: 0 auto;
  padding: 22px 16px 60px;
}

/* Kill purple visited links inside support/legal content */
.ggf-page.ggf-support-legal a,
.ggf-page.ggf-support-legal a:visited {
  color: rgb(255, 46, 134) !important;
  text-decoration: none;
}

.ggf-page.ggf-support-legal a:hover {
  text-decoration: underline;
}

/* Support: headings look like headings, not links */
.ggf-page.ggf-support-legal h1,
.ggf-page.ggf-support-legal h2,
.ggf-page.ggf-support-legal h3 {
  color: rgb(255, 46, 134);
}

/* If headings are links, make them non-clickable (visual + interaction) */
.ggf-page.ggf-support-legal h1 a,
.ggf-page.ggf-support-legal h2 a,
.ggf-page.ggf-support-legal h3 a {
  color: rgb(255, 46, 134) !important;
  text-decoration: none !important;
  pointer-events: none; /* no click */
  cursor: default;
}

/* Support: on-brand links */
.ggf-page.ggf-support-legal a,
.ggf-page.ggf-support-legal a:visited {
  color: rgb(255, 46, 134) !important;
  text-decoration: none;
}

.ggf-page.ggf-support-legal a:hover {
  color: rgb(255, 46, 134) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Support: form polish */
.ggf-page.ggf-support-legal input[type="text"],
.ggf-page.ggf-support-legal input[type="email"],
.ggf-page.ggf-support-legal select,
.ggf-page.ggf-support-legal textarea {
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  background: #fff !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  outline: none;
}

.ggf-page.ggf-support-legal textarea {
  min-height: 110px;
  resize: vertical;
}

.ggf-page.ggf-support-legal input[type="submit"],
.ggf-page.ggf-support-legal button,
.ggf-page.ggf-support-legal .wp-element-button {
  border-radius: 999px !important;
  padding: 10px 16px !important;
  background: rgb(255, 46, 134) !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 700;
  cursor: pointer;
}

.ggf-page.ggf-support-legal input[type="submit"]:hover,
.ggf-page.ggf-support-legal button:hover,
.ggf-page.ggf-support-legal .wp-element-button:hover {
  filter: brightness(0.95);
}

/* =========================================================
   Support: clickable cards (no link-y headings)
   ====================================================== */

/* Any links inside the support content should not turn purple */
.ggf-page.ggf-support-legal a,
.ggf-page.ggf-support-legal a:visited {
  color: rgb(255, 46, 134) !important;
  text-decoration: none;
}

.ggf-page.ggf-support-legal a:hover {
  color: rgb(255, 46, 134) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Cards: if a whole card is an <a>, make it look like a card */
.ggf-page.ggf-support-legal a.ggf-support-card,
.ggf-page.ggf-support-legal a.wp-block-group,
.ggf-page.ggf-support-legal a.wp-block-column,
.ggf-page.ggf-support-legal a.wp-block-cover {
  display: block;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  padding: 16px 16px 14px;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
  text-decoration: none !important;
}

/* Hover: subtle lift */
.ggf-page.ggf-support-legal a.ggf-support-card:hover,
.ggf-page.ggf-support-legal a.wp-block-group:hover,
.ggf-page.ggf-support-legal a.wp-block-column:hover,
.ggf-page.ggf-support-legal a.wp-block-cover:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.08);
  border-color: rgba(255,46,134,0.22);
  text-decoration: none !important;
}

/* Heading inside card: pink, but not link-styled */
.ggf-page.ggf-support-legal a.ggf-support-card h1,
.ggf-page.ggf-support-legal a.ggf-support-card h2,
.ggf-page.ggf-support-legal a.ggf-support-card h3,
.ggf-page.ggf-support-legal a.wp-block-group h1,
.ggf-page.ggf-support-l


/* =========================================================
   Support Page Module (ggf-support-*)
   ====================================================== */

/* Subtle branded wash so it's not sterile */
body.page-support {
  background:
    radial-gradient(900px 520px at 30% -220px, rgba(255,46,134,0.10), transparent 60%),
    #f7f7f9;
}

/* Layout */
.ggf-support-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 22px 16px 60px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 26px;
  align-items: start;
}

/* Mobile */
@media (max-width: 900px) {
  .ggf-support-wrap {
    grid-template-columns: 1fr;
  }
}

/* Typography */
.ggf-support-left h1 {
  margin: 0 0 6px;
  color: rgba(0,0,0,0.72); /* dark gray */
  font-size: 34px;
  letter-spacing: -0.4px;
}

.ggf-support-right h2 {
  margin: 0 0 6px;
  color: rgb(255,46,134); /* brand pink */
  font-size: 22px;
  letter-spacing: -0.2px;
}

.ggf-support-sub {
  margin: 0 0 14px;
  color: rgba(0,0,0,0.62);
  font-size: 13px;
  line-height: 1.45;
}


/* Email row styling */
.ggf-support-email {
  margin: 10px 0 14px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  font-size: 13px;
  color: rgba(0,0,0,0.68);
}

/* Kill purple visited links inside this module */
.ggf-support-wrap a,
.ggf-support-wrap a:visited {
  color: rgb(255,46,134);
  text-decoration: none;
}

/* Cards */
.ggf-support-links {
  display: grid;
  gap: 12px;
}

.ggf-support-card {
  display: block;
  padding: 16px 16px 14px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  color: rgba(0,0,0,0.66);
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.ggf-support-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  border-color: rgba(255,46,134,0.22);
}

/* Card "heading" is strong text: keep pink but not link-like */
.ggf-support-card strong {
  display: block;
  margin-bottom: 6px;
  color: rgb(255,46,134);
  font-size: 13px;
  font-weight: 800;
}

/* Mini links */
.ggf-support-mini {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ggf-support-mini-link {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  font-size: 12px;
  font-weight: 700;
  color: rgba(0,0,0,0.62);
}

.ggf-support-mini-link:hover {
  border-color: rgba(255,46,134,0.22);
  color: rgb(255,46,134);
}

/* Form panel */
.ggf-support-right {
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 14px 14px 12px;
}

/* Form controls inside the shortcode output */
.ggf-support-right input[type="text"],
.ggf-support-right input[type="email"],
.ggf-support-right select,
.ggf-support-right textarea {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  padding: 10px 12px;
  font-size: 13px;
  outline: none;
}

.ggf-support-right textarea {
  min-height: 110px;
  resize: vertical;
}

/* Tight spacing (best-effort across plugins) */
.ggf-support-right form p,
.ggf-support-right form .field,
.ggf-support-right form .wpforms-field,
.ggf-support-right form .gfield {
  margin-bottom: 10px;
}

/* Smaller submit */
.ggf-support-right input[type="submit"],
.ggf-support-right button[type="submit"],
.ggf-support-right button,
.ggf-support-right .wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  border-radius: 999px;
  border: 0;
  background: rgb(255,46,134);
  color: #fff;
  cursor: pointer;
}

.ggf-support-right input[type="submit"]:hover,
.ggf-support-right button[type="submit"]:hover,
.ggf-support-right button:hover,
.ggf-support-right .wp-element-button:hover {
  filter: brightness(0.95);
}


/* =========================================================
   Support: tighten right column + form field widths
   ====================================================== */

/* Make the form column a bit narrower vs the left */
.ggf-support-wrap {
  grid-template-columns: 1.15fr 0.85fr; /* was ~1.05/0.95 */
}

/* Center and cap the form content */
.ggf-support-right form,
.ggf-support-right .wpforms-container,
.ggf-support-right .wpcf7,
.ggf-support-right .gform_wrapper {
  max-width: 420px;
  margin: 0 auto;
}

/* Cap individual controls too (some plugins ignore form width) */
.ggf-support-right input[type="text"],
.ggf-support-right input[type="email"],
.ggf-support-right select,
.ggf-support-right textarea {
  max-width: 420px;
  width: 100%;
  box-sizing: border-box;
}

.ggf-model-actions{
  margin-top: 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.ggf-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.92);
  color: rgba(0,0,0,0.78);
  cursor: pointer;
}

.ggf-btn--subscribe{
  background: rgb(255,46,134);
  border-color: rgba(255,46,134,0.35);
  color: #fff;
}

.ggf-btn--message{
  opacity: 0.55;
  pointer-events: none;
}

.ggf-btn--message.is-enabled{
  opacity: 1;
  pointer-events: auto;
  background: rgba(255,255,255,0.92);
}

.ggf-btn--upgrade{
  background: rgba(0,0,0,0.06);
}

.ggf-model-action-note{
  font-size: 12px;
  color: rgba(0,0,0,0.62);
}

a.js-ggf-model-message[aria-disabled="true"]{
  pointer-events:none;
  opacity:.55;
}
button.js-ggf-model-subscribe.is-subscribed{
  opacity:.9;
}
