/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/











.stretch-link{
	position: relative;
}

.stretch-link a::after{
	content: '';
	position: absolute;
	inset: 0;
}

.stretch-link a:is(:focus-visible)::after{
	outline: 2px solid;
}

.stretch-link a:is(:hover, :focus){
	outline: none;
}

.sticky-cta {
  position: sticky;
  top: 70px; /* Adjust based on your nav bar height */
  z-index: 5; /* Make sure it stays above other elements */
}

/* Tablet and below */
@media (max-width: 1024px) {
  .sticky-cta {
    top: 85px;
  }
}

.dynamic-title a {
  text-decoration: none;
}

.dynamic-title a:hover,
.dynamic-title a:focus {
  text-decoration: underline; /* Optional hover effect */
}

/* =========================
   SimpleTOC — clean + twist icon + aligned list (final)
   ========================= */

/* Base wrapper */
.simpletoc.wp-block-simpletoc-toc {
  --toc-icon-offset: 2.25rem; /* keep in sync with summary padding-left */
  background: transparent;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0;
}

/* Remove native marker */
.simpletoc.wp-block-simpletoc-toc details > summary {
  list-style: none;
}
.simpletoc.wp-block-simpletoc-toc details > summary::-webkit-details-marker {
  display: none !important;
}
.simpletoc.wp-block-simpletoc-toc details > summary::marker {
  content: "" !important;
}

/* Summary (title) + space for custom icon */
.simpletoc.wp-block-simpletoc-toc details > summary {
  position: relative;
  padding-left: var(--toc-icon-offset);
  cursor: pointer;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 700;
  font-size: 1.3rem;
  color: #000;                /* closed color */
}
.simpletoc.wp-block-simpletoc-toc details[open] > summary {
  color: #6f41a1;             /* open color */
}

/* Twisting + / – icon (left of title), centered inside a soft box */
.simpletoc.wp-block-simpletoc-toc details > summary::before,
.simpletoc.wp-block-simpletoc-toc details > summary::after {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-52%);        /* slight optical nudge */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;                       /* icon box size */
  height: 1.6rem;
  border-radius: 4px;                  /* 50% for circle */
  background-color: rgba(111, 64, 161, 0.08); /* Thoolie purple @ 20% */
  font-size: 1.5rem;                   /* glyph size */
  font-weight: 300;
  color: #6f41a1;
  transition: transform .25s ease, opacity .2s ease;
}
/* Closed: show +, hide – (pre-rotated) */
.simpletoc.wp-block-simpletoc-toc details > summary::before { content: "+"; opacity: 1;  transform: translateY(-52%) rotate(0deg); }
.simpletoc.wp-block-simpletoc-toc details > summary::after  { content: "–"; opacity: 0;  transform: translateY(-52%) rotate(-90deg); }
/* Open: twist + fade to – */
.simpletoc.wp-block-simpletoc-toc details[open] > summary::before { opacity: 0; transform: translateY(-52%) rotate(90deg); }
.simpletoc.wp-block-simpletoc-toc details[open] > summary::after  { opacity: 1; transform: translateY(-52%) rotate(0deg); }

/* Inset divider line under the title row (doesn't affect layout) */
.simpletoc.wp-block-simpletoc-toc details > summary {
  background-image: linear-gradient(#000, #000);          /* line color */
  background-repeat: no-repeat;
  background-position: var(--toc-icon-offset) bottom;     /* starts after icon */
  background-size: calc(100% - var(--toc-icon-offset)) 1px;
}

/* List reset (no bullets/numbers, no browser indent) */
.simpletoc-list,
.simpletoc-list li {
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

/* Align the list under the TITLE (not under the icon) */
.simpletoc.wp-block-simpletoc-toc .simpletoc-list {
  margin-left: var(--toc-icon-offset) !important;
  padding-left: 0 !important;
}

/* Only add breathing room when OPEN (prevents gap when closed on mobile) */
.simpletoc.wp-block-simpletoc-toc details .simpletoc-list {
  margin-top: 0 !important;
}
.simpletoc.wp-block-simpletoc-toc details[open] .simpletoc-list {
  margin-top: 0.85rem !important;   /* tweak to taste */
}

/* Nested lists: no extra default indent */
.simpletoc.wp-block-simpletoc-toc .simpletoc-list ul {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Item spacing (yours) */
.simpletoc-list > li {
  margin-top: 15px;
  margin-bottom: 10px;
  padding-right: 10px;
}


.resources-headline {
	white-space: nowrap;
}




@media (max-width: 1024px) {
  .gb-element-2c9d4beb {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}













/* Closed state */
.simpletoc-collapsible {
  background-color: #6f41a1 !important; /* purple */
  color: #ffffff !important;            /* white text */
  cursor: pointer;
  padding: 0.75em 1em;
  border-radius: 4px;
}

/* Open state */
.simpletoc-collapsible-active {
  background-color: #6f41a1 !important; /* same purple */
  color: #ffffff !important;            /* white text */
}










/* Base button styling */
button.simpletoc-collapsible,
button.simpletoc-collapsible.active {
  background-color: #6f41a1 !important; /* purple background */
  color: #ffffff !important;            /* white text */
  border: none;
  box-shadow: none;
  display: flex;                        /* so text + icon align nicely */
  justify-content: space-between;
  align-items: center;
  padding: 0.75em 1em;
  border-radius: 4px;
  cursor: pointer;
}

/* Kill the plugin’s built-in icon completely */
button.simpletoc-collapsible .simpletoc-icon {
  display: none !important;
}

/* Add our own clean +/– on the right */
button.simpletoc-collapsible::after {
  content: "+";                         /* plus when closed */
  color: #ffffff;
  font-weight: 700;
  font-size: 1.1em;
  margin-left: auto;                    /* pushes it to the far right */
}

/* Swap to minus when open */
button.simpletoc-collapsible.active::after {
  content: "–";
}
































/* Each Q+A section */
.wp-block-yoast-faq-block .schema-faq-section {
  margin-bottom: 1em;
}

/* Make the question row a flex container */
.wp-block-yoast-faq-block .schema-faq-question {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  font-weight: 600;
  margin: 0;
}

/* Column 1: toggle box */
.wp-block-yoast-faq-block .schema-faq-question::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.75em;
  border-radius: 4px;
  background-color: rgba(111, 65, 161, 0.08); /* pale purple */
  color: #6f41a1;
  font-weight: 600;
  font-size: 1.1em;
  flex-shrink: 0; /* icon never shrinks */
}

/* Change to minus when open */
.wp-block-yoast-faq-block .schema-faq-question.collapse::before {
  content: "–";
}

/* Column 2: question text */
.wp-block-yoast-faq-block .schema-faq-question span,
.wp-block-yoast-faq-block .schema-faq-question p,
.wp-block-yoast-faq-block .schema-faq-question h2,
.wp-block-yoast-faq-block .schema-faq-question h3 {
  flex: 1;
  margin: 0;
}

/* Answer panel */
.wp-block-yoast-faq-block .schema-faq-answer {
  display: none;
  margin-left: 2.25em; /* indent to align under question text */
  padding: 0.75em 0 0.75em 1em;
  background: #fafafa;
  border-left: 1px solid #6f41a1;
}






/* Force accordion closed on mobile */
@media (max-width: 767px) {
  .gb-accordion-49fa0ff4 .gb-accordion__item {
    /* remove "open" state */
    --accordion-item-initial-state: closed !important;
  }
}









	/* Hide "Comments are closed" text */
.comments-area,
.comments-link,
.pingback,
.trackback {
  display: none !important;
}





/* Remove dark overlay background behind partial overlay menu */
.main-navigation .toggled {
  background: transparent !important;
  box-shadow: none !important;
}






















.watch-buttons {
  display: flex;
  justify-content: center; /* keeps row centered */
  flex-wrap: wrap; /* allows wrapping on smaller screens */
  gap: 10px; /* spacing between buttons */
  margin: 1em 0;
}

.watch-btn {
  background: #6f41a1;
  color: #fff;
  padding: 0.6em 1.2em;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.2s ease;
}

.watch-btn:hover {
  background: #563381;
}







































/* ===================================================
   Thoolie Custom RCP Registration Form
   =================================================== */
.rcp_form {
  max-width: 650px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e5e5e5;
  padding: 2rem 2.5rem;
  border-radius: 5px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

/* ---------- General field styling ---------- */
.rcp_form label {
  font-weight: 500;
  color: #111;
  display: block;
  margin-bottom: 6px;
}

.rcp_form input[type="text"],
.rcp_form input[type="email"],
.rcp_form input[type="password"],
.rcp_form select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #f9f9f9;
  font-size: 14px;
  transition: border 0.2s ease, background 0.2s ease;
}
.rcp_form input:focus,
.rcp_form select:focus {
  outline: none;
  border-color: #6f41a1;
  background: #fff;
}

/* ---------- Name fields ---------- */
.rcp_form p#rcp_user_first_wrap,
.rcp_form p#rcp_user_last_wrap,
.rcp_form div#rcp_user_first_wrap,
.rcp_form div#rcp_user_last_wrap,
.rcp_form .rcp_user_first_wrap,
.rcp_form .rcp_user_last_wrap {
  float: left;
  display: block;
  width: 48%;
  box-sizing: border-box;
  margin-bottom: 12px;
}
.rcp_form p#rcp_user_first_wrap,
.rcp_form div#rcp_user_first_wrap,
.rcp_form .rcp_user_first_wrap {
  margin-right: 4%;
}
.rcp_form .rcp_clear,
.rcp_form .rcp-clear,
.rcp_form .clear,
.rcp_form #rcp_clear,
.rcp_form .rcp-spacer { display: none; }

@media (max-width:640px){
  .rcp_form p#rcp_user_first_wrap,
  .rcp_form p#rcp_user_last_wrap,
  .rcp_form div#rcp_user_first_wrap,
  .rcp_form div#rcp_user_last_wrap,
  .rcp_form .rcp_user_first_wrap,
  .rcp_form .rcp_user_last_wrap {
    float: none;
    width: 100%;
    margin-right: 0;
  }
}

/* ---------- Membership + Price summary ---------- */
.rcp_subscription_level_wrap,
.rcp_price_breakdown_wrap {
  width: 48%;
  display: inline-block;
  vertical-align: top;
}
.rcp_subscription_level_wrap { margin-right: 4%; }

@media (max-width:768px){
  .rcp_subscription_level_wrap,
  .rcp_price_breakdown_wrap {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

/* ---------- Membership list styling ---------- */
.rcp_subscription_levels {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}
.rcp_subscription_levels .rcp_subscription_level {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fafafa;
  margin-bottom: 10px;
  transition: all 0.2s ease;
}
.rcp_subscription_levels .rcp_subscription_level:hover {
  border-color: #6f41a1;
  background: #f9f5ff;
}
.rcp_subscription_levels input[type="radio"] {
  -webkit-appearance: auto;
  appearance: auto;
  accent-color: #6f41a1;
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
}
.rcp_subscription_levels label {
  display: inline-flex;
  align-items: baseline;
  font-weight: 600;
  color: #111;
  flex: 1 1 auto;
  cursor: pointer;
}
.rcp_subscription_levels .rcp_price,
.rcp_subscription_levels .rcp_duration,
.rcp_subscription_levels .rcp_signup_fee {
  display: inline;
  margin-left: 8px;
  color: #6f41a1;
  font-weight: 600;
  white-space: nowrap;
}

/* --- Fix: Align membership level label + price next to radio --- */
#rcp_subscription_levels,
.rcp_subscription_levels { list-style:none; padding:0; margin:1rem 0; }

#rcp_subscription_levels .rcp_subscription_level,
.rcp_subscription_levels .rcp_subscription_level {
  display:flex;
  align-items:center;
  justify-content:space-between; /* keeps label left, price right */
  gap:12px;
  padding:12px 16px;
  border:1px solid #ddd;
  border-radius:5px;
  background:#fafafa;
  margin-bottom:10px;
  transition:all 0.2s ease;
}

/* Radio styling */
#rcp_subscription_levels .rcp_subscription_level input[type="radio"] {
  -webkit-appearance:auto;
  appearance:auto;
  accent-color:#6f41a1;
  width:18px;
  height:18px;
  margin-right:10px;
  flex-shrink:0;
}

/* Label + price layout */
#rcp_subscription_levels .rcp_subscription_level label {
  display:flex;
  align-items:center;
  gap:6px;
  flex:1 1 auto;
  font-weight:600;
  color:#111;
  cursor:pointer;
}
#rcp_subscription_levels .rcp_price,
#rcp_subscription_levels .rcp_duration,
#rcp_subscription_levels .rcp_signup_fee {
  color:#6f41a1;
  font-weight:600;
  white-space:nowrap;
}

/* Hover and active states */
#rcp_subscription_levels .rcp_subscription_level:hover {
  border-color:#6f41a1;
  background:#f9f5ff;
}
#rcp_subscription_levels .rcp_subscription_level input[type="radio"]:checked + label {
  border:none;
}


/* ---------- Price breakdown table ---------- */
.rcp_price_breakdown_wrap table {
  width: 100%;
  border-collapse: collapse;
  background: #f8f8f8;
  border-radius: 10px;
  overflow: hidden;
  font-size: 14px;
}
.rcp_price_breakdown_wrap th,
.rcp_price_breakdown_wrap td {
  text-align: left;
  padding: 8px 12px;
  border-bottom: 1px solid #e5e5e5;
}
.rcp_price_breakdown_wrap th {
  background: #efefef;
  font-weight: 600;
  color: #333;
}

/* ---------- Terms & Privacy checkboxes ---------- */
#rcp_agree_to_terms_wrap,
#rcp_agree_to_privacy_policy_wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  margin-bottom: 4px;
}

#rcp_agree_to_terms_wrap label,
#rcp_agree_to_privacy_policy_wrap label {
  display: inline-block;
  margin: 0;
  line-height: 1.4;
  vertical-align: middle;
}

#rcp_agree_to_terms_wrap input[type="checkbox"],
#rcp_agree_to_privacy_policy_wrap input[type="checkbox"] {
  -webkit-appearance: auto;
  appearance: auto;
  accent-color: #6f41a1;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 0;
}

/* ---------- Stripe payment fields ---------- */
.rcp-gateway-fields { margin-top: 1.5rem; }
.rcp-gateway-fields label { font-weight: 500; }
.rcp_form .StripeElement {
  background: #f9f9f9;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

/* ---------- Register button ---------- */
.rcp_submit input[type="submit"],
.rcp_submit button[type="submit"],
.rcp_form .button,
.rcp-button {
  background: #6f41a1;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-weight: 600;
  padding: 14px 0;
  width: 100%;
  cursor: pointer;
  transition: background .2s ease;
  margin-top: 1.5rem;
  font-size: 16px;
}
.rcp_submit input[type="submit"]:hover:not([disabled]),
.rcp_submit button[type="submit"]:hover:not([disabled]),
.rcp_form .button:hover:not([disabled]),
.rcp-button:hover:not([disabled]) {
  background: #000;
  color: #fff;
}
.rcp_submit input[type="submit"][disabled],
.rcp_submit button[type="submit"][disabled],
.rcp_form .button[disabled],
.rcp-button[disabled] {
  background: #6f41a1;
  color: #fff;
  opacity: .65;
  cursor: not-allowed;
}



/* --- Force the Register button to Thoolie purple (final fix) --- */
form.rcp_form input[type="submit"],
form.rcp_form button[type="submit"],
.rcp_submit input[type="submit"],
.rcp_submit button[type="submit"],
.rcp_form .button,
.rcp-button {
  background: #6f41a1 !important;   /* Thoolie purple */
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 14px 0 !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background .2s ease !important;
  margin-top: 1.5rem !important;
  font-size: 16px !important;
}

/* Hover + disabled states */
form.rcp_form input[type="submit"]:hover:not([disabled]),
form.rcp_form button[type="submit"]:hover:not([disabled]),
.rcp_submit input[type="submit"]:hover:not([disabled]),
.rcp_submit button[type="submit"]:hover:not([disabled]),
.rcp_form .button:hover:not([disabled]),
.rcp-button:hover:not([disabled]) {
  background: #000 !important;  /* black hover */
  color: #fff !important;
}

form.rcp_form input[type="submit"][disabled],
form.rcp_form button[type="submit"][disabled],
.rcp_submit input[type="submit"][disabled],
form.rcp_form .button[disabled],
.rcp-button[disabled] {
  background: #6f41a1 !important;  /* still purple when disabled */
  color: #fff !important;
  opacity: .6 !important;
  cursor: not-allowed !important;
}

/* --- Thoolie Override: LOGIN link inside RCP messages --- */
body .rcp_logged_in_message a,
body .rcp_login_link a {
  color: #6f41a1 !important;              /* Thoolie purple base */
  text-transform: uppercase !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* keep purple even when visited */
body .rcp_logged_in_message a:visited,
body .rcp_login_link a:visited {
  color: #6f41a1 !important;
}

/* on hover, solid black + underline */
body .rcp_logged_in_message a:hover,
body .rcp_login_link a:hover {
  color: #000 !important;
  text-decoration: underline !important;
}



 /* --- General error message styling --- */
.rcp_error {
  color: #ff0000 !important;           /* Red color for all error messages */
  font-style: italic !important;        /* Italicize the error messages */
  font-size: 14px !important;          /* Set a readable font size */
  line-height: 1.2 !important;         /* Tighter line height */
  margin-bottom: 0 !important;         /* Remove extra space at the bottom */
  padding: 0 !important;               /* Remove padding from error list */
}

/* --- Remove default padding/margins from error list --- */
.rcp_error ul {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Reduce gap between each error message --- */
.rcp_error li {
  margin-bottom: 4px !important;       /* Reduced space between error messages */
}

/* --- Specific styling for "terms and conditions" and "privacy policy" errors --- */
.rcp_error li {
  font-style: italic !important;       /* Italicize all error messages */
  color: #ff0000 !important;           /* Red color */
}

/* Ensure error messages in the Register form are styled */
#rcp_registration_errors .rcp_error {
  padding: 0 !important;
  margin: 0 !important;
}

#rcp_registration_errors .rcp_error li {
  font-style: italic !important;
  color: #ff0000 !important;           /* Red */
  line-height: 1.2 !important;         /* Reduced line spacing */
  margin-bottom: 4px !important;       /* Small gap between errors */
}

/* Specific targeting for the "terms and conditions" and "privacy policy" errors */
.rcp_error li:contains('terms and conditions'),
.rcp_error li:contains('privacy policy') {
  color: #ff0000 !important;         /* Red */
  font-style: italic !important;      /* Italicized */
  line-height: 1.2 !important;        /* Tightened line spacing */
  margin-bottom: 4px !important;      /* Reduced gap */
}









/* Password field + toggle side-by-side */
.rcp_form .thoolie-pass-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.rcp_form .thoolie-pass-row input[type="password"],
.rcp_form .thoolie-pass-row input[type="text"]{
  flex:1 1 auto;
  width:auto !important;
}

/* Purple button */
.rcp_form .rcp-show-pass-toggle{
  background:#6f41a1 !important;
  color:#fff !important;
  border:1px solid #6f41a1 !important;
  border-radius:10px !important;
  padding:10px 12px !important;
  font-weight:600 !important;
  font-size:14px !important;
  cursor:pointer !important;
  white-space:nowrap;
}




























/* ======================================================
   Thoolie — Style Account Overview Action Buttons
   (Targets buttons inside #rcp-account-overview only)
   ====================================================== */

/* Base Button Appearance */
#rcp-account-overview button {
  all: unset;                          /* remove default styles */
  color: #6f41a1 !important;           /* Thoolie Purple */
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer;
  margin: 0 12px 6px 0 !important;     /* small spacing between buttons */
  display: inline-block !important;
  text-decoration: none !important;
  transition: color 0.25s ease, text-decoration 0.25s ease;
  line-height: 1.4;
}

/* Hover + Focus States */
#rcp-account-overview button:hover,
#rcp-account-overview button:focus {
  color: #56beb9 !important;           /* Thoolie Blue */
  text-decoration: underline !important;
}

/* Align the cell content neatly */
#rcp-account-overview td[data-th="Actions"] {
  white-space: nowrap;
  text-align: left;
}

/* Optional: tighten the <br> spacing between buttons */
#rcp-account-overview td[data-th="Actions"] br {
  line-height: 0.6;
}



/* ======================================================
   Thoolie — Style Payment History Action Buttons
   (Targets buttons inside #rcp-payment-history only)
   ====================================================== */

/* Base Button Appearance */
#rcp-payment-history button {
  all: unset;                          /* remove all default button styles */
  color: #6f41a1 !important;           /* Thoolie Purple */
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer;
  margin: 0 12px 6px 0 !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: color 0.25s ease, text-decoration 0.25s ease;
  line-height: 1.4;
}

/* Hover + Focus States */
#rcp-payment-history button:hover,
#rcp-payment-history button:focus {
  color: #56beb9 !important;           /* Thoolie Blue */
  text-decoration: underline !important;
}

/* Align Actions column neatly */
#rcp-payment-history td[data-th="Actions"] {
  white-space: nowrap;
  text-align: left;
}

/* Optional: tighten <br> spacing (if any appear) */
#rcp-payment-history td[data-th="Actions"] br {
  line-height: 0.6;
}





















/* ===============================
   THOOLIE RESTRICTED CONTENT BOX
   =============================== */

.rcp_restricted {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #e5e5e5;
  border-left: 4px solid #6f41a1; /* Thoolie purple */
  border-radius: 8px;
  padding: 1.5rem 2rem;
  margin: 1.5rem auto;
  max-width: 700px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
  text-align: left;
  position: relative;
}

/* Add a faint frosted-glass look */
.rcp_restricted::before {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(4px);
  opacity: 0.1;
  border-radius: 8px;
  pointer-events: none;
}

.rcp_restricted p {
  color: #333;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.rcp_restricted strong {
  color: #111;
  font-weight: 700;
}

.rcp_restricted a {
  color: #6f41a1;
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.rcp_restricted a:hover {
  color: #56beb9;
  text-decoration: underline;
}

@media (max-width: 640px) {
  .rcp_restricted {
    padding: 1.25rem;
  }
}













.vault-access-badge{
  display:inline-block;
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.5px;
  padding:4px 10px;
  border-radius:4px;
  margin-bottom:1rem;
  text-transform:uppercase;
}



















form.mailpoet-manage-subscription .mailpoet_text_label, 
form.mailpoet-manage-subscription .mailpoet_select_label, 
form.mailpoet-manage-subscription .mailpoet_segment_label{
    display: block;
    font-weight:bold;
}
form.mailpoet-manage-subscription .mailpoet_select, 
form.mailpoet-manage-subscription .mailpoet_text{
	width: 100%;
	padding: 12px;
}
form.mailpoet-manage-subscription .mailpoet_paragraph{
	margin-bottom:20px
}
form.mailpoet-manage-subscription .mailpoet_submit{
    padding: 20px 20px;
    width: 100%;
    font-weight: bold;
    font-size: 11pt;
}

/* Thoolie Purple Button for MailPoet Forms */
input.mailpoet_submit,
.mailpoet_submit[type="submit"],
.mailpoet_form .mailpoet_submit {
  background-color: #6f41a1 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 0.75em 1.5em !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.1s ease;
}

/* Hover + focus effects */
input.mailpoet_submit:hover,
.mailpoet_submit[type="submit"]:hover,
.mailpoet_form .mailpoet_submit:hover {
  background-color: #000000 !important; /* Slightly darker shade */
  transform: translateY(-1px);
}

/* Optional: make the button text uppercase and centered */
.mailpoet_form .mailpoet_submit {
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.5px;
}









/* =========================
   Simple TOC Nested (H3/H4) adjustments
   ========================= */

/* Add subtle indent + spacing for nested lists */
.simpletoc.wp-block-simpletoc-toc .simpletoc-list ul {
  margin-left: 0.85rem !important;   /* subtle indent for H3s */
  padding-left: 0 !important;
	margin-top: 0.2rem !important;
}

/* Add breathing room between H3s (and deeper levels) */
.simpletoc.wp-block-simpletoc-toc .simpletoc-list ul li {
  margin-top: 6px;
  margin-bottom: 6px;
}

/* Optional — slightly smaller and softer for sublevels */
.simpletoc.wp-block-simpletoc-toc .simpletoc-list ul li a {
  font-size: 0.95rem;
  opacity: 0.9;
}










/* ========== RCP Membership Levels — Desktop (unchanged, tight) ========== */
/* =======================
   RCP Membership Levels — Edge-to-Edge Alignment
   ======================= */

#rcp_subscription_levels {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Each option row */
#rcp_subscription_levels li.rcp_subscription_level {
  border: 1px solid var(--gb-border-color, #ddd);
  border-radius: 8px;
  margin-bottom: 0.6rem;
  background: #fff;
}

/* Label fills the row completely */
#rcp_subscription_levels li.rcp_subscription_level label {
  display: flex;
  justify-content: space-between;     /* name left, price right */
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  padding: 0.6rem 1rem;
  border: none;
  margin: 0;
  background: transparent;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3;
  box-sizing: border-box;
}

#rcp_subscription_levels li.rcp_subscription_level label:hover {
  background: #faf7fc;
  border-color: #d9c8ed;
}

/* Remove stray separators */
#rcp_subscription_levels .rcp_separator {
  display: none !important;
}

/* Left side: plan name */
#rcp_subscription_levels .rcp_subscription_level_name {
  font-weight: 600;
  color: #222;
  flex: 1 1 auto;
}

/* Right side: price + duration */
#rcp_subscription_levels .rcp_price,
#rcp_subscription_levels .rcp_level_duration {
  display: inline-block;
  white-space: nowrap;
  font-weight: 500;
  color: #222;
  font-size: 0.95rem;
  flex-shrink: 0;
}

#rcp_subscription_levels .rcp_price::after {
  content: " / ";
  color: #999;
  font-weight: 400;
}

/* Radio button */
#rcp_subscription_levels input[type="radio"] {
  margin-right: 0.6rem;
  accent-color: #6f41a1;
  flex-shrink: 0;
}

/* =======================
   MOBILE (≤650px)
   ======================= */
@media (max-width: 650px) {
  #rcp_subscription_levels li.rcp_subscription_level label {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.4;
    padding: 0.7rem 0.9rem;
  }

  #rcp_subscription_levels .rcp_subscription_level_name {
    margin-bottom: 0.25rem;
  }

  #rcp_subscription_levels .rcp_price,
  #rcp_subscription_levels .rcp_level_duration {
    font-size: 0.95rem;
  }
}



/* ========== Thoolie Hover + Active Accent (stronger specificity) ========== */

/* Hover state */
#rcp_subscription_levels li.rcp_subscription_level:hover label,
#rcp_subscription_levels li.rcp_subscription_level:hover .rcp_subscription_level_name,
#rcp_subscription_levels li.rcp_subscription_level:hover .rcp_price,
#rcp_subscription_levels li.rcp_subscription_level:hover .rcp_level_duration {
  color: #6f41a1 !important;      /* Thoolie purple text */
  font-weight: 600;
}

/* Selected (checked) state */
#rcp_subscription_levels input[type="radio"]:checked + label,
#rcp_subscription_levels input[type="radio"]:checked + label .rcp_subscription_level_name,
#rcp_subscription_levels input[type="radio"]:checked + label .rcp_price,
#rcp_subscription_levels input[type="radio"]:checked + label .rcp_level_duration {
  color: #6f41a1 !important;
  font-weight: 600;
  background: #faf7fc !important; /* soft purple-tint background */
  border-color: #6f41a1 !important;
}













/* ---- Stop page-level stretch in GP Element templates ---- */
.site, .site-content, .inside-article, .entry-content {
  overflow-x: clip; /* better than hidden; preserves child scrollers */
}

/* ---- GenerateBlocks + WP Grid Builder: allow columns/cards to shrink ---- */
.gb-grid-wrapper, .gb-grid-column, .gb-container,
.wpgb-grid, .wpgb-cards, .wpgb-card, .wpgb-content {
  min-width: 0;
}

/* ---- Make only the table scroll, not the section ---- */
.wp-block-table.is-scroll {
  display: block;           /* isolate figure wrapper */
  width: 100%;
  max-width: 100%;
  contain: inline-size;     /* ⭐ prevents child from expanding ancestors */
  overflow-x: auto;         /* scrollbar directly under the table */
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

/* Inner table grows to content so wrapper can scroll horizontally */
.wp-block-table.is-scroll table {
  width: max-content;
  max-width: none;
  border-collapse: collapse;
  table-layout: auto;       /* switch to fixed if you prefer stricter columns */
}

/* Long tokens (URLs, code, long names) shouldn’t blow up width */
.wp-block-table.is-scroll th,
.wp-block-table.is-scroll td {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Optional: ensure a minimum scroll width on small screens */
@media (max-width: 780px) {
  .wp-block-table.is-scroll table { min-width: 560px; }
}

/* Optional polish */
.wp-block-table.is-scroll::-webkit-scrollbar { height: 6px; }
.wp-block-table.is-scroll::-webkit-scrollbar-thumb { border-radius: 3px; }






/* --- Always-visible horizontal scroll indicator under table --- */
.wp-block-table.is-scroll {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: auto; /* keeps track space even when inactive */
  border-bottom: 2px solid rgba(111, 65, 161, 0.15); /* soft hint line even before scroll */
}

/* Visible scrollbar styling */
.wp-block-table.is-scroll::-webkit-scrollbar {
  height: 6px;
}

.wp-block-table.is-scroll::-webkit-scrollbar-track {
  background: rgba(111, 65, 161, 0.08);  /* faint always-visible track */
  border-radius: 3px;
}

.wp-block-table.is-scroll::-webkit-scrollbar-thumb {
  background: rgba(111, 65, 161, 0.5);
  border-radius: 3px;
}

/* Firefox */
.wp-block-table.is-scroll {
  scrollbar-color: rgba(111, 65, 161, 0.5) rgba(111, 65, 161, 0.08);
  scrollbar-width: thin;
}

















/* ===============================
   Thoolie Global Search — Fixed Card Dropdown
   =============================== */

/* --- Parent wrapper --- */
.thoolie-global-search {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}

/* --- Input styling (unchanged) --- */
#thoolie-global-input {
  width: 100%;
  padding: 0.5rem 1rem;
  border: 1px solid #000;
  border-radius: 8px;
  font-family: "Georgia", sans-serif;
  font-size: 1rem;
  background: #fff;
  transition: all 0.2s ease;
}

#thoolie-global-input:focus {
  border-color: #6f41a1;
  box-shadow: 0 0 0 2px rgba(111, 65, 161, 0.1);
  outline: none;
}

/* --- Dropdown container --- */
.thoolie-search-results {
  position: absolute;
  top: 105%;
  left: 0;
  right: 0;               /* keep aligned under input */
  width: 100%;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  border: 1px solid #e7e7e7;
  z-index: 9999;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  max-height: 70vh;
  overflow-y: auto;
  transform: translateY(0);
  transition: all 0.2s ease;
}

/* --- Result cards --- */
.thoolie-search-results a {
  display: block;
  text-decoration: none;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  background: #fff;
  padding: 0.85rem 1rem;
  transition: all 0.18s ease-in-out;
}

.thoolie-search-results a:hover {
  border-color: #6f41a1;
  background: #f8f7ff;
  box-shadow: 0 2px 6px rgba(111,65,161,0.1);
}

/* --- Meta label above title (force line break) --- */
.t-meta {
  display: block;                 /* ← was inline-block, now full-width line */
  font-size: 0.6rem;
  font-weight: 600;
  color: #6f41a1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #f8f7ff;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  margin-bottom: 0.35rem;
  width: fit-content;             /* keeps the pill snug around text */
}


/* --- Title --- */
.t-title {
  font-family: "Sora", sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  color: #222;
  line-height: 1.2;
}

/* --- "View all" card --- */
.thoolie-search-results a.t-view-all {
  text-align: center;
  background: #f8f7ff;
  border: 1px dashed #d3c9ea;
  color: #6f41a1;
  font-weight: 600;
  font-size: 0.9rem;
}

.thoolie-search-results a.t-view-all:hover {
  background: #ede7fa;
  border-color: #6f41a1;
}

/* --- Smooth dropdown animation --- */
.thoolie-search-results[hidden] {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}


/* Prevent parent containers from clipping the dropdown */
.gb-container, 
.gb-grid-wrapper, 
.site-header, 
header, 
.gb-inside-container {
  overflow: visible !important;
}

@media (max-width: 768px) {
  .thoolie-global-search {
    width: 100%;
    position: relative;
  }

  .thoolie-search-results {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 10px;
    top: 110%;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
    z-index: 99999;
  }
}





















body.search .site-content,
body.search .inside-article {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem;
}

body.search .entry-title a {
  color: #222;
  text-decoration: none;
}

body.search .entry-title a:hover {
  color: #6f41a1;
}













/* === Thoolie Button Style (Studio Version) === */

.button.button-purple,
.thoolie-download .button-purple {
  display: inline-block;

  background-color: #ffffff;
  color: #6f41a1 !important;

  font-weight: 600;
  font-size: 14px;

  padding: 8px 20px;
  border-radius: 10px;

  border: 1px solid rgba(0,0,0,0.15);
  box-shadow: none;

  text-decoration: none;
  transition: all 0.2s ease;
}

/* Hover */
.button.button-purple:hover,
.thoolie-download .button-purple:hover {
  background-color: #6f41a1;
  color: #ffffff !important;
  border-color: #6f41a1;
}


/* === Thoolie Success Message Redesign === */
.frm_message, 
.frm_success_style {
  background-color: #fff !important;         /* white background */
  border: 1px solid #e5e5e5 !important;      /* light border */
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);   /* soft elevation */
  color: #333 !important;                    /* readable text color */
  padding: 1.75em 2em;
  border-radius: 12px;
  font-size: 1rem;
  max-width: 700px;
  margin: 2rem auto;
  text-align: center;
}

/* === Thoolie Download + Delete Stack === */
.thoolie-actions {
  display: inline-block;
  text-align: center;
  line-height: 1.2;
}

.thoolie-actions .button-purple {
  margin-bottom: 6px; /* spacing between download button and delete link */
}

.thoolie-actions .delete-link {
  color: #d33 !important;
  font-weight: 500;
  text-decoration: none;
  font-size: 14px;
  display: inline-block;
  transition: color 0.2s ease;
}

.thoolie-actions .delete-link:hover {
  color: #a00 !important;
  text-decoration: underline;
}



/* === Thoolie Contract / Entry Table (Studio Clean) === */
.thoolie-contract-table table {
  width: 100%;
  border-collapse: separate;     /* allows clean rounded corners */
  border-spacing: 0;
  background-color: #fff;

  border: 1px solid rgba(0,0,0,0.12);  /* light gray border */
  border-radius: 14px;
  overflow: hidden;

  box-shadow: none;              /* remove purple shadow */
  margin: 1.5rem 0;

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  color: #222;
}

/* === Headers === */
.thoolie-contract-table thead th {
  background-color: #ffffff;                 /* clean white header */
  color: #000;                               /* black heading text */
  font-weight: 600;
  text-transform: none;                      /* less “shouty” */
  letter-spacing: 0;

  padding: 14px 18px;
  border-bottom: 1px solid rgba(0,0,0,0.10);
  text-align: center;
}

/* Optional: subtle purple accent line under header */
.thoolie-contract-table thead {
  box-shadow: inset 0 -2px 0 rgba(111, 65, 161, 0.12);
}

/* === Table Cells === */
.thoolie-contract-table tbody td {
  padding: 12px 18px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  vertical-align: middle;
  text-align: center;
}

/* Remove border on last row */
.thoolie-contract-table tbody tr:last-child td {
  border-bottom: none;
}

/* === Zebra Striping (very subtle) === */
.thoolie-contract-table tbody tr:nth-child(even) {
  background-color: rgba(0,0,0,0.02);
}

/* === Hover Highlight (purple-tinted, subtle) === */
.thoolie-contract-table tbody tr:hover {
  background-color: rgba(111, 65, 161, 0.06);
  transition: background-color 0.2s ease-in-out;
}

/* === Links / Actions inside tables (match new button/link style) === */
.thoolie-contract-table a {
  color: #6f41a1;
  font-weight: 600;
  text-decoration: none;
}

.thoolie-contract-table a:hover {
  text-decoration: underline;
}

/* === Responsive (Mobile) === */
@media (max-width: 768px) {

  /* Treat each row as a clean card (no heavy shadow) */
  .thoolie-contract-table tbody tr {
    display: block;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 12px;
    box-shadow: none;
    margin-bottom: 8px;
    padding: 8px 12px;
  }

  /* Stack cells */
  .thoolie-contract-table tbody td {
    display: block;
    text-align: left;
    padding: 8px 12px;
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    white-space: normal;
    word-break: break-word;
  }

  .thoolie-contract-table tbody td:last-child {
    border-bottom: none;
    padding-bottom: 12px;
  }

  /* Formidable responsive label */
  .thoolie-contract-table tbody td::before {
    content: var(--v-responsive-table-label);
    display: block;
    font-weight: 600;
    color: #000;
    margin: 0 0 6px;
    font-size: 13px;
    letter-spacing: 0;
  }

  /* Hide table header entirely on mobile */
  .thoolie-contract-table thead {
    display: none;
  }
}


@media (max-width: 768px) {

  /* Kill any outer table outline/border/shadow on mobile */
  .thoolie-contract-table,
  .thoolie-contract-table table,
  .thoolie-contract-table table tbody,
  .thoolie-contract-table table thead {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  /* Also remove rounded/hidden edge that can look like a border */
  .thoolie-contract-table table {
    border-radius: 0 !important;
    overflow: visible !important;
  }

}




/* === Thoolie Empty State (Studio Clean) === */

.thoolie-empty-state {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-left: 4px solid rgba(111, 65, 161, 0.6); /* softer accent */
  border-radius: 14px;

  box-shadow: none; /* remove purple glow */

  padding: 1.75rem 1.75rem 1.5rem;
  max-width: 640px;
  margin: 2.5rem 0; /* remove centered marketing look */
  text-align: left;
}

/* Heading */
.thoolie-empty-state h3 {
  color: #000;
  font-weight: 600;
  font-size: 20px;   /* match Studio heading scale */
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

/* Body text */
.thoolie-empty-state p {
  color: #333;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 1.25rem;
}

/* Button (match Studio button system) */
.thoolie-empty-state .button.button-purple {
  display: inline-block;
  width: auto;

  background: #ffffff;
  color: #6f41a1 !important;

  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 10px;

  padding: 8px 20px;
  font-weight: 600;
  font-size: 14px;

  text-decoration: none;
  box-shadow: none;

  transition: all 0.2s ease;
}

.thoolie-empty-state .button.button-purple:hover {
  background: #6f41a1;
  color: #ffffff !important;
  border-color: #6f41a1;
}




.vault-compact-list ul {
  margin: 0;
  padding-left: 1.2em; /* keeps bullets aligned nicely */
}

.vault-compact-list li {
  margin-bottom: 4px; /* tighter spacing */
  line-height: 1.2;
}








/* Desktop + tablet only */
@media (min-width: 768px) {
  /* The already-sticky inner container that wraps SimpleTOC */
  .toc-sticky-panel {
    /* GB handles position: sticky – we just define the box it can scroll in */
    max-height: calc(100vh - 140px); /* adjust if your header is taller/shorter */
    overflow-y: auto;
    padding-right: 0.5rem;
  }

  /* Optional: nice slim scrollbar */
  .toc-sticky-panel::-webkit-scrollbar {
    width: 6px;
  }
  .toc-sticky-panel::-webkit-scrollbar-track {
    background: transparent;
  }
  .toc-sticky-panel::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.18);
    border-radius: 999px;
  }

  .toc-sticky-panel {
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.25) transparent;
  }
}













 /* Make H3 items look nested and small */
  .simpletoc-list li ul li a {
    font-size: 0.9em;
    padding-left: 0.75rem;
    display: block;
  }

  /* Caret indicators on H2 rows that have children */
  .simpletoc-list > li.toc-collapsed > a::after,
  .simpletoc-list > li.toc-expanded > a::after {
    content: '';
    display: inline-block;
    margin-left: 0.35rem;
    border: 4px solid transparent;
    border-left-color: currentColor;
    transform: translateY(-1px);
  }

  .simpletoc-list > li.toc-expanded > a::after {
    transform: translateY(-1px) rotate(90deg);
  }

  .simpletoc-list > li {
    margin-bottom: 0.25rem;
  }
}








/* Force logo images to stop stretching full width */
.tools-logo,
.tools-logo figure,
.tools-logo a,
.tools-logo picture,
.tools-logo img {
  width: auto !important;
  max-width: 140px !important;
}

.tools-logo img {
  display: inline-block !important;
  height: auto !important;
}














/* Thoolie – Formidable Login Styling (appearance only) */
.thoolie-login .frm_forms {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  padding: 26px 22px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* Labels & headings */
.thoolie-login .frm_forms .frm_form_title,
.thoolie-login .frm_forms label {
  font-weight: 600;
}

/* Inputs */
.thoolie-login .frm_forms input[type="text"],
.thoolie-login .frm_forms input[type="email"],
.thoolie-login .frm_forms input[type="password"] {
  width: 100%;
  border-radius: 10px;
  padding: 12px 12px;
  border: 1px solid rgba(0,0,0,0.15);
  background: #fff;
}

.thoolie-login .frm_forms input[type="text"]:focus,
.thoolie-login .frm_forms input[type="email"]:focus,
.thoolie-login .frm_forms input[type="password"]:focus {
  outline: none;
  border-color: #6f41a1;
  box-shadow: 0 0 0 3px rgba(111,65,161,0.18);
}

/* Submit button */
.thoolie-login .frm_forms button,
.thoolie-login .frm_forms input[type="submit"] {
  width: 100%;
  border: none;
  border-radius: 10px;
  padding: 12px 14px;
  background: #6f41a1;
  color: #ffffff;
  font-weight: 700;
  cursor: pointer;
}

.thoolie-login .frm_forms button:hover,
.thoolie-login .frm_forms input[type="submit"]:hover {
  opacity: 0.92;
}

/* Field spacing */
.thoolie-login .frm_forms .frm_form_field {
  margin-bottom: 14px;
}

/* Messages */
.thoolie-login .frm_forms .frm_message,
.thoolie-login .frm_forms .frm_error_style {
  border-radius: 10px;
}




/* Force Thoolie login form to max 540px and center */
.thoolie-login form,
.thoolie-login .login,
.thoolie-login #login {
  max-width: 540px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* If WP wraps inputs in a table or div, center that too */
.thoolie-login form > *,
.thoolie-login #loginform {
  max-width: 540px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tablet fix: force centering between ~600px–1024px */
@media (min-width: 600px) and (max-width: 1024px) {
  .thoolie-login,
  .thoolie-login form,
  .thoolie-login #login,
  .thoolie-login #loginform {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    text-align: left;
  }
}










/* Formidable Conversational: stop clipping + add left gutter for radios */
.frm_chat_form.frm_fields_container,
.frm_chat_form.frm_fields_container .frm_form_field,
.frm_chat_form.frm_fields_container .frm_opt_container,
.frm_chat_form.frm_fields_container .frm_radio,
.frm_chat_form.frm_fields_container .frm_radio label {
  overflow: visible !important;
}

/* Create breathing room so the radio + checked ring aren't against the edge */
.frm_chat_form.frm_fields_container .frm_opt_container {
  padding-left: 14px !important;
}

/* Make input+text behave nicely and prevent weird negative margins from theme/plugin */
.frm_chat_form.frm_fields_container .frm_radio label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-left: 2px !important;
}

/* Ensure the radio itself isn't shifted left */
.frm_chat_form.frm_fields_container .frm_radio input[type="radio"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}





/* Account Pages */
/***************
  STUDIO SIDEBAR
***************/

/* 1) Base look: make GB "buttons" behave like nav links */
.studio-sidebar a,
.studio-sidebar .gb-button,
.studio-sidebar a.gb-button {
  display: block;
  width: 100%;
  text-align: left;

  background: transparent !important;
  color: inherit !important;
  border: 0 !important;
  box-shadow: none !important;

  padding: 12px 18px !important;
  border-radius: 0px;
  position: relative; /* needed for the active bar */
  overflow: visible !important;

  transition: background 0.2s ease, color 0.2s ease;
}

/* Hover */
.studio-sidebar a:hover,
.studio-sidebar .gb-button:hover,
.studio-sidebar a.gb-button:hover {
  background: rgba(111,65,161,0.06) !important;
}

/* 2) Active state helper: target BOTH patterns
   - class on the button/link itself
   - class on a wrapper/container that contains a button/link
*/
body.page-id-13180 :is(.studio-link-overview, .studio-link-overview a, .studio-link-overview .gb-button),
body.page-id-13184 :is(.studio-link-membership, .studio-link-membership a, .studio-link-membership .gb-button),
body.page-id-13186 :is(.studio-link-billing, .studio-link-billing a, .studio-link-billing .gb-button),
body.page-id-13188 :is(.studio-link-profile, .studio-link-profile a, .studio-link-profile .gb-button),
body.page-id-13190 :is(.studio-link-support, .studio-link-support a, .studio-link-support .gb-button),
body.page-id-13300 :is(.studio-link-mydocuments, .studio-link-mydocuments a, .studio-link-mydocuments .gb-button) {
  background: rgba(111,65,161,0.08) !important;
  color: #6f41a1 !important;
  font-weight: 600 !important;
}

/* 3) The vertical purple bar INSIDE the clickable element */
body.page-id-13180 :is(.studio-link-overview, .studio-link-overview a, .studio-link-overview .gb-button)::before,
body.page-id-13184 :is(.studio-link-membership, .studio-link-membership a, .studio-link-membership .gb-button)::before,
body.page-id-13186 :is(.studio-link-billing, .studio-link-billing a, .studio-link-billing .gb-button)::before,
body.page-id-13188 :is(.studio-link-profile, .studio-link-profile a, .studio-link-profile .gb-button)::before,
body.page-id-13190 :is(.studio-link-support, .studio-link-support a, .studio-link-support .gb-button)::before,
body.page-id-13300 :is(.studio-link-mydocuments, .studio-link-mydocuments a, .studio-link-mydocuments .gb-button)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 4px;
  background: #6f41a1;
}







/* =========================
   STUDIO MEMBERSHIP SECTION
   ========================= */

/* Membership level headline */
.studio-membership__level {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 35px; /* intentional breathing room */
}

/* Renewal line */
.studio-membership__renewal {
  font-size: 14px;
  line-height: 1.4;
  opacity: 0.85;
  margin-top: 4px;
  margin-bottom: 10px;
}

/* Divider */
.studio-membership__divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.10);
  margin: 14px 0;
}

/* Action links container */
.studio-membership__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
}

/* Individual links */
.studio-membership__link {
  text-decoration: none;
  color: #6f41a1;
  font-weight: 600;
  transition: opacity 0.2s ease;
}

.studio-membership__link:hover {
  opacity: 0.75;
}

/* Remove dot completely */
.studio-membership__dot {
  display: none;
}


/* Sticky sidebar (desktop only) */
@media (min-width: 1025px) {
  .studio-sidebar-col {
    position: sticky;
    top: 110px; /* adjust based on your header height */
    align-self: flex-start;
  }
}



/* Studio: RCP subscription_details headings */
.studio-shell .rcp-table-wrapper h3,
#rcp-table-wrapper h3 {
  font-size: 20px !important;
  color: #6f41a1 !important;
  font-weight: 600 !important;
  line-height: 1.2;
  margin: 0 0 18px 0;
}


/* Remove RCP form card styling */
#rcp_profile_editor_form,
#rcp_profile_editor_form fieldset {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Style section headings */
#rcp_profile_editor_form legend {
  font-size: 20px;
  font-weight: 600;
  color: #000;
  margin-bottom: 18px;
  padding: 0;
}

/* Shrink profile editor input fields */
#rcp_profile_editor_form input[type="text"],
#rcp_profile_editor_form input[type="email"],
#rcp_profile_editor_form input[type="password"],
#rcp_profile_editor_form select {
  height: 38px;
  padding: 6px 10px;
  font-size: 14px;
  border-radius: 8px;
}

/* Reduce spacing between fields */
#rcp_profile_editor_form p {
  margin-bottom: 16px;
}

/* Left-align the RCP profile form */
#rcp_profile_editor_form {
  margin: 0 !important;
  max-width: 100% !important;
}


/* Profile Save Button — fully controlled */
#rcp_profile_editor_submit {
  display: inline-block !important;
  width: auto !important;

  box-sizing: border-box !important;
  border-radius: 10px;

  padding: 8px 24px !important; /* balanced horizontal space */
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;

  text-align: center;

  transition: all 0.2s ease;
}



/* =========================
   RCP UPDATE CARD (BILLING)
   ========================= */

/* Left align + remove centering constraints */
#rcp_update_card_form {
  margin: 0 !important;
  max-width: 100% !important;
  text-align: left !important;
}

/* Heading: "Your Cards" */
#rcp_update_card_form h3 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #000 !important;
  line-height: 1.2;
  margin: 0 0 18px 0 !important;
}

/* Remove any "card/box" styling around the form/fieldsets */
#rcp_update_card_form,
#rcp_update_card_form fieldset {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Make the saved cards list feel cleaner (optional, but helps) */
#rcp_update_card_form .rcp-gateway-saved-payment-methods {
  margin: 0 0 18px 0;
  padding: 0;
}
#rcp_update_card_form .rcp-gateway-saved-payment-methods li {
  list-style: none;
  margin: 0 0 10px 0;
}

/* Inputs: compact like Studio */
#rcp_update_card_form input[type="text"],
#rcp_update_card_form input[type="email"],
#rcp_update_card_form input[type="password"],
#rcp_update_card_form select {
  height: 38px;
  padding: 6px 10px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,0.15);
  box-sizing: border-box;
}

/* Stripe element wrapper spacing (keeps it from looking huge) */
#rcp_update_card_form #rcp-card-wrapper {
  margin-top: 10px;
}

/* Button: not full width, white w/ grey border, purple text */
#rcp_update_card_form #rcp_submit {
  width: auto !important;
  display: inline-block !important;
  box-sizing: border-box !important;

  background: #ffffff !important;
  color: #6f41a1 !important;

  border: 1px solid rgba(0,0,0,0.15) !important;
  border-radius: 10px !important;

  padding: 8px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;

  transition: all 0.2s ease;
}

/* Hover state */
#rcp_update_card_form #rcp_submit:hover {
  background: #6f41a1 !important;
  color: #ffffff !important;
  border-color: #6f41a1 !important;
}

/* Make sure the submit wrapper isn't forcing centering/full width */
#rcp_update_card_form #rcp_submit_wrap {
  text-align: left !important;
  margin-top: 16px;
}












/* Documents page: hide all tables by default */
.studio-doc-section { display: none; }
.studio-doc-section.is-active { display: block; }





/* === Studio Confirmation Box === */

.studio-confirmation {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.12);
  border-left: 4px solid #6f41a1;   /* Thoolie purple trim */
  border-radius: 14px;

  padding: 1.75rem;
  margin: 1.5rem 0;

  text-align: left;
}

/* Heading */
.studio-confirmation h3 {
  font-size: 20px;
  font-weight: 600;
  color: #000;
  margin-bottom: 0.75rem;
}

/* Ticket line */
.studio-confirmation__ticket {
  margin: 1rem 0;
  font-size: 14px;
  color: #333;
}


.ticket-status {
  font-weight: 600;
}

.ticket-status:contains("Completed") {
  color: #2e7d32;
}


/* === Thoolie Plan Comparison (Studio Clean) === */
.thoolie-compare table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  overflow:hidden;
}

.thoolie-compare thead th{
  font-size:14px;
  font-weight:600;
  color:#000;
  padding:14px 16px;
  text-align:center;
  border-bottom:1px solid rgba(0,0,0,.10);
  background:#fff;
}

.thoolie-compare tbody td{
  font-size:14px;
  padding:12px 16px;
  text-align:center;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.thoolie-compare tbody tr:last-child td{ border-bottom:none; }

.thoolie-compare .row-label{
  text-align:left;
  font-weight:600;
  color:#000;
  width:30%;
}

.thoolie-compare tbody tr:nth-child(even){
  background:rgba(0,0,0,.02);
}

/* Feature the middle column (subtle) */
.thoolie-compare th.is-featured,
.thoolie-compare td.is-featured{
  background:rgba(111,65,161,.06);
}

.thoolie-compare th.is-featured{
  position:relative;
}

.thoolie-compare th.is-featured:after{
  content:"Most Popular";
  display:inline-block;
  margin-left:8px;
  font-size:12px;
  font-weight:600;
  color:#6f41a1;
  border:1px solid rgba(111,65,161,.35);
  padding:2px 8px;
  border-radius:999px;
}

/* Mobile: make it scrollable horizontally instead of ugly stacking */
@media (max-width:768px){
  .thoolie-compare{ overflow-x:auto; }
  .thoolie-compare table{ min-width:640px; }
}
