/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 10 2026 | 18:18:56 */
/* 2026 - Access Pages CSS (merged Nov 10, 2026). Source items (kept OFF, never deleted): 91355, 91329, 91307, 91283. Each source starts below with its own header comment. */

/* ===== from #91355 2026 - Password Reset Page ===== */
/* ===== 2026 - Password Reset Page (CSS snippet, front end) =====
   Styles the My Account "Lost password" screens (ask for the email, and choose a new password with the confirm box)
   so they match the sign-in lightbox. Only affects pages whose body has class woocommerce-lost-password. */
body.woocommerce-lost-password .woocommerce { max-width: 460px; margin: 28px auto 40px; padding: 0 16px; box-sizing: border-box; font-family: 'Open Sans', Arial, sans-serif; }
body.woocommerce-lost-password .woocommerce-notices-wrapper { margin: 0 0 14px; }
body.woocommerce-lost-password .woocommerce-notices-wrapper ul, body.woocommerce-lost-password .woocommerce-error, body.woocommerce-lost-password .woocommerce-message, body.woocommerce-lost-password .woocommerce-info { list-style: none; margin: 0 0 14px; padding: 12px 16px; border: 1px solid #dfe4f2; border-left: 5px solid #1f86d6; border-radius: 10px; background: #f1f7fd; color: #1f3550; font: 400 14.5px/1.55 'Open Sans', Arial, sans-serif; }
body.woocommerce-lost-password .woocommerce-error { border-color: #f0c9c5; border-left-color: #c8453b; background: #fdf3f2; color: #8e2c24; }
body.woocommerce-lost-password .woocommerce-message { border-color: #cfe8d8; border-left-color: #14632D; background: #eef8f1; color: #14632D; }
body.woocommerce-lost-password .woocommerce-error li, body.woocommerce-lost-password .woocommerce-message li { list-style: none; margin: 0; padding: 0; }
body.woocommerce-lost-password .woocommerce-message a { color: #2e4a66; font-weight: 600; }
body.woocommerce-lost-password form.lost_reset_password { display: flex; flex-direction: column; background: #fff; border: 1px solid #dfe4f2; border-radius: 16px; box-shadow: 0 10px 34px rgba(31, 53, 80, .13); padding: 30px 32px 30px; margin: 0; }
/* seal + title (changes with the step) and the line of help under it */
body.woocommerce-lost-password form.lost_reset_password::before { order: -2; content: 'Reset Password'; display: block; text-align: center; padding: 76px 0 16px; background: url('https://facimstreaming.org/wp-content/uploads/2026/10/Transparent-Logo-v1.png') top center / 62px auto no-repeat, linear-gradient(#E0B02D, #E0B02D) bottom center / 56px 2px no-repeat; font: 600 22px/1.25 'Playfair Display', Georgia, serif; letter-spacing: .14em; text-transform: uppercase; color: #1f3550; }
body.woocommerce-lost-password form.lost_reset_password:has(#password_1)::before { content: 'Choose a New Password'; }
body.woocommerce-lost-password form.lost_reset_password::after { order: -1; content: 'Enter your email address and we\2019 ll send you a link to create a new password.'; display: block; text-align: center; margin: 4px 6px 22px; font: 400 14.5px/1.55 'Open Sans', Arial, sans-serif; color: #4a6179; }
body.woocommerce-lost-password form.lost_reset_password:has(#password_1)::after { content: 'Type your new password twice to confirm it.'; }
body.woocommerce-lost-password form.lost_reset_password > p:not([class]) { display: none; }
body.woocommerce-lost-password form.lost_reset_password .clear { display: none; }
body.woocommerce-lost-password form.lost_reset_password p.form-row { float: none; width: 100%; margin: 0 0 16px; padding: 0; }
body.woocommerce-lost-password form.lost_reset_password label { display: block; margin: 0 0 6px; font: 600 13.5px/1.3 'Open Sans', Arial, sans-serif; color: #1f3550; }
body.woocommerce-lost-password form.lost_reset_password label .required { color: #b4531c; text-decoration: none; }
body.woocommerce-lost-password form.lost_reset_password .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.woocommerce-lost-password form.lost_reset_password input.input-text, body.woocommerce-lost-password form.lost_reset_password input[type=password], body.woocommerce-lost-password form.lost_reset_password input[type=text] { display: block; width: 100%; box-sizing: border-box; height: 50px; padding: 0 14px; border: 1.5px solid #d3dae8; border-radius: 10px; background: #fff; font: 400 15.5px 'Open Sans', Arial, sans-serif; color: #1f3550; box-shadow: none; outline: 0; transition: border-color .15s, box-shadow .15s; }
body.woocommerce-lost-password form.lost_reset_password input.input-text:focus { border-color: #1f86d6; box-shadow: 0 0 0 3px rgba(31, 134, 214, .18); }
body.woocommerce-lost-password form.lost_reset_password button[type=submit], body.woocommerce-lost-password form.lost_reset_password .woocommerce-Button { display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; margin: 4px 0 0; padding: 0 20px; border: 0; border-radius: 8px; background: #2e4a66; color: #fff; font: 500 15.5px 'Open Sans', Arial, sans-serif; letter-spacing: .03em; text-transform: none; box-shadow: none; cursor: pointer; transition: background-color .15s; }
body.woocommerce-lost-password form.lost_reset_password button[type=submit]:hover, body.woocommerce-lost-password form.lost_reset_password .woocommerce-Button:hover { background: #E0B02D; color: #fff; }
@media (max-width: 520px) { body.woocommerce-lost-password form.lost_reset_password { padding: 26px 20px 24px; } body.woocommerce-lost-password form.lost_reset_password::before { font-size: 18px; letter-spacing: .1em; } }
/* page header line (set by the My Account title snippet): worded for the step the student is on */
body.woocommerce-lost-password:not(.logged-in):has(#password_1) .fx-title-sub .thrv_text_element[class*="-hidden"]::after { content: "Enter your new password below, then enter it again to confirm."; }
body.woocommerce-lost-password:not(.logged-in):has(.woocommerce-message) .fx-title-sub .thrv_text_element[class*="-hidden"]::after { content: "Please read the message below."; }
/* the Back button row (Back to Log In / Back to Dashboard) is centered under the card on this page */
html body.woocommerce-lost-password .fx-back, html body.woocommerce-lost-password .fx-back .thrv_wrapper, html body.woocommerce-lost-password .fx-back .tcb-flex-row, html body.woocommerce-lost-password .fx-back .tcb-flex-col { text-align: center !important; justify-content: center !important; align-items: center !important; }
html body.woocommerce-lost-password .fx-back { display: flex !important; flex-direction: column; margin-left: auto !important; margin-right: auto !important; }
html body.woocommerce-lost-password .fx-back a, html body.woocommerce-lost-password .fx-back .tcb-button, html body.woocommerce-lost-password .fx-back .thrv-button { margin-left: auto !important; margin-right: auto !important; float: none !important; }
/* "Password Updated" card (shown on My Account after a reset / instead of the password form; see 2026 - Password Reset Done JS) */
html body .fx-pwdone { max-width: 460px !important; width: auto !important; margin: 0 auto 24px !important; box-sizing: border-box !important; text-align: center !important; background-color: #fff !important; border: 1px solid #dfe4f2 !important; border-radius: 16px !important; box-shadow: 0 10px 34px rgba(31, 53, 80, .13) !important; padding: 100px 32px 32px !important; font-family: 'Open Sans', Arial, sans-serif !important; background-image: url('https://facimstreaming.org/wp-content/uploads/2026/10/Transparent-Logo-v1.png') !important; background-repeat: no-repeat !important; background-position: top 30px center !important; background-size: 62px auto !important; }
html body .fx-pwdone h2 { margin: 0 0 16px !important; padding: 0 0 16px !important; font-family: 'Playfair Display', Georgia, serif !important; font-weight: 600 !important; font-size: 22px !important; line-height: 1.25 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #1f3550 !important; background: linear-gradient(#E0B02D, #E0B02D) bottom center / 56px 2px no-repeat !important; border: 0 !important; }
html body .fx-pwdone p { margin: 0 0 24px !important; padding: 0 !important; font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 400 !important; font-size: 15px !important; line-height: 1.7 !important; letter-spacing: 0 !important; text-transform: none !important; color: #4a6179 !important; }
html body .fx-pwdone a.fx-pwdone-btn { display: flex !important; align-items: center; justify-content: center; height: 50px; margin: 0 !important; padding: 0 20px !important; border-radius: 8px; background: #2e4a66 !important; color: #fff !important; font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 500; font-size: 15.5px; letter-spacing: .03em; text-transform: none; text-decoration: none !important; transition: background-color .15s; }
html body .fx-pwdone a.fx-pwdone-btn:hover { background: #E0B02D !important; color: #fff !important; }
@media (max-width: 520px) { html body .fx-pwdone { padding: 96px 20px 26px !important; margin-left: 12px !important; margin-right: 12px !important; } }
/* "email sent" screen: the line under the green message is a centered Open Sans card like the others */
html body.woocommerce-lost-password .woocommerce > p { box-sizing: border-box !important; margin: 0 0 14px !important; padding: 24px 32px !important; background: #fff !important; border: 1px solid #dfe4f2 !important; border-radius: 16px !important; box-shadow: 0 10px 34px rgba(31, 53, 80, .13) !important; text-align: center !important; font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 400 !important; font-size: 15.5px !important; line-height: 1.7 !important; letter-spacing: 0 !important; text-transform: none !important; color: #4a6179 !important; }
@media (max-width: 520px) { html body.woocommerce-lost-password .woocommerce > p { padding: 20px !important; } }
/* "Log out and continue" button inside the different-account message (very strong rules: older message styles bold, underline and recolor links inside message boxes) */
html body.woocommerce-lost-password.woocommerce-page.woocommerce-lost-password .woocommerce-error li a.fx-pw-logout.fx-pw-logout.fx-pw-logout, html body.woocommerce-lost-password.woocommerce-page.woocommerce-lost-password .woocommerce-error a.fx-pw-logout.fx-pw-logout.fx-pw-logout { display: inline-flex !important; align-items: center; justify-content: center; position: static !important; float: none !important; width: auto !important; min-width: 0 !important; height: auto !important; min-height: 46px; margin: 12px 0 0 !important; padding: 11px 22px !important; border: 0 !important; border-bottom: 0 !important; border-radius: 8px !important; background: #2e4a66 !important; background-image: none !important; box-shadow: none !important; color: #fff !important; -webkit-text-fill-color: #fff !important; font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 500 !important; font-style: normal !important; font-size: 15px !important; line-height: 1.2 !important; letter-spacing: .02em !important; text-indent: 0 !important; text-transform: none !important; text-decoration: none !important; text-decoration-line: none !important; text-shadow: none !important; -webkit-text-stroke: 0 !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; }
html body.woocommerce-lost-password.woocommerce-page.woocommerce-lost-password .woocommerce-error li a.fx-pw-logout.fx-pw-logout.fx-pw-logout::before, html body.woocommerce-lost-password.woocommerce-page.woocommerce-lost-password .woocommerce-error li a.fx-pw-logout.fx-pw-logout.fx-pw-logout::after { content: none !important; display: none !important; }
html body.woocommerce-lost-password.woocommerce-page.woocommerce-lost-password .woocommerce-error li a.fx-pw-logout.fx-pw-logout.fx-pw-logout:hover, html body.woocommerce-lost-password.woocommerce-page.woocommerce-lost-password .woocommerce-error li a.fx-pw-logout.fx-pw-logout.fx-pw-logout:focus { background: #E0B02D !important; color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: none !important; }
/* logged out: an older My Account Login rule titled this card "Forgot your password?"; this stronger rule keeps the card title matching the page header */
html body.woocommerce-lost-password.woocommerce-account:not(.logged-in) .woocommerce > form.lost_reset_password::before { content: 'Reset Password' !important; margin: 0 !important; padding: 76px 0 16px !important; font-family: 'Playfair Display', Georgia, serif !important; font-weight: 600 !important; font-size: 22px !important; line-height: 1.25 !important; letter-spacing: .14em !important; color: #1f3550 !important; display: block !important; }
html body.woocommerce-lost-password.woocommerce-account:not(.logged-in) .woocommerce > form.lost_reset_password:has(#password_1)::before { content: 'Choose a New Password' !important; }
@media (max-width: 520px) { html body.woocommerce-lost-password.woocommerce-account:not(.logged-in) .woocommerce > form.lost_reset_password::before { font-size: 18px !important; letter-spacing: .1em !important; } }
/* ===== END 2026 - Password Reset Page CSS ===== */

/* Nov 10, 2026 (James): PHONE VIEW ONLY - the "Email Me a Reset Link" button is a 2-line button with "Reset Link" on the second line. The JS in 2026 - Access Pages JS splits the words into two spans; wider screens look exactly as before. */
@media (max-width: 700px) {
  html body.woocommerce-lost-password form.lost_reset_password button.woocommerce-Button.fx-reset-2line:not(#fx):not(#fy) { flex-direction: column !important; align-items: center !important; justify-content: center !important; height: auto !important; min-height: 64px !important; padding-top: 10px !important; padding-bottom: 10px !important; line-height: 1.3 !important; text-align: center !important; }
  html body.woocommerce-lost-password form.lost_reset_password button.woocommerce-Button.fx-reset-2line .fx-rl-1:not(#fx), html body.woocommerce-lost-password form.lost_reset_password button.woocommerce-Button.fx-reset-2line .fx-rl-2:not(#fx), html body.woocommerce-lost-password form.lost_reset_password button.woocommerce-Button.fx-reset-2line .fx-rl-wrap:not(#fx) { display: block !important; text-align: center !important; }
}

/* ===== from #91329 2026 - 404 Page ===== */
/* ===== 2026 - 404 Page CSS (CSS snippet, front end) =====
   Pairs with the "2026 - 404 Page" HTML block and "2026 - 404 Page JS". Only affects body.error404. */
html body.error404, html body.error404 #content, html body.error404 .main-container, html body.error404 #theme-content-section, html body.error404 .theme-section.content-section, html body.error404 .section-content { background: #F4F4FC !important; }
html body.error404 .fx-404 { max-width: 780px; margin: 0 auto; padding: 0 16px 36px; box-sizing: border-box; font-family: 'Open Sans', sans-serif; color: #1f3550; }
html body.error404 .fx-404 * { box-sizing: border-box; }
html body.error404 .fx-404-card { background: #fff; border: 1px solid #dfe4f2; border-radius: 16px; box-shadow: 0 10px 30px rgba(46,74,102,.10); padding: 48px 40px 44px; text-align: center; }
html body.error404 .fx-404-num { margin: 0 !important; padding: 0 !important; font: 600 120px/1 'Playfair Display', serif !important; letter-spacing: .02em; color: #2e4a66 !important; }
html body.error404 .fx-404-num i { font-style: normal; color: #E0B02D; }
html body.error404 .fx-404-eyebrow { margin: 8px 0 0 !important; padding: 0 !important; font-size: 12px; letter-spacing: .2em; font-weight: 700; color: #a8761a; text-transform: uppercase; }
html body.error404 h1.fx-404-title { margin: 10px 0 0 !important; padding: 0 !important; font: 600 32px/1.2 'Playfair Display', serif !important; color: #2e4a66 !important; text-transform: none !important; letter-spacing: 0 !important; text-wrap: balance; }
html body.error404 .fx-404-rule { width: 56px; height: 2px; background: #E0B02D; margin: 18px auto 20px; }
html body.error404 .fx-404-msg { margin: 0 auto !important; max-width: 560px; font-size: 16.5px; line-height: 1.65; color: #4a6179 !important; }
html body.error404 .fx-404-msg span { display: block; text-wrap: balance; }
html body.error404 .fx-404-msg span + span { margin-top: 6px; }
html body.error404 .fx-404-search { display: flex; gap: 12px; max-width: 520px; margin: 32px auto 0 !important; padding: 0; }
html body.error404 .fx-404-search input { flex: 1 1 auto; min-width: 0; height: 48px; margin: 0 !important; padding: 0 16px !important; border: 1.5px solid #b9c4e0 !important; border-radius: 8px !important; background: #fff !important; color: #2b3550 !important; font: 400 16px 'Open Sans', sans-serif !important; box-shadow: none !important; }
html body.error404 .fx-404-search input::placeholder { color: #8a93ad; opacity: 1; }
html body.error404 .fx-404-search input:focus { outline: 0; border-color: #E0B02D !important; box-shadow: 0 0 0 3px rgba(224,176,45,.3) !important; }
html body.error404 .fx-404-btn { display: inline-flex !important; align-items: center; justify-content: center; height: 48px; margin: 0 !important; padding: 0 24px !important; border: 0 !important; border-radius: 8px !important; background: #2e4a66 !important; color: #fff !important; font: 500 15.5px 'Open Sans', sans-serif !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap; cursor: pointer; box-shadow: none !important; opacity: 1 !important; transition: background .15s; }
html body.error404 .fx-404-btn:hover, html body.error404 .fx-404-btn:focus-visible { background: #E0B02D !important; color: #fff !important; outline: 0; box-shadow: none !important; text-decoration: none !important; }
html body.error404 .fx-404-btn.fx-404-out { background: #fff !important; color: #2e4a66 !important; border: 1.5px solid #2e4a66 !important; }
html body.error404 .fx-404-btn.fx-404-out:hover, html body.error404 .fx-404-btn.fx-404-out:focus-visible { background: #E0B02D !important; border-color: #E0B02D !important; color: #fff !important; }
html body.error404 .fx-404-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 32px; }
/* logged out sees Sign In, logged in sees Streaming Access */
html body.error404 .fx-404-access { display: none !important; }
html body.error404.logged-in .fx-404-signin, html body.error404.logged-in .fx-404-register { display: none !important; }
html body.error404.logged-in .fx-404-access { display: inline-flex !important; }
html body.error404.logged-in .fx-404-btn.fx-404-shop { background: #2e4a66 !important; color: #fff !important; border: 0 !important; }
html body.error404.logged-in .fx-404-btn.fx-404-shop:hover, html body.error404.logged-in .fx-404-btn.fx-404-shop:focus-visible { background: #E0B02D !important; color: #fff !important; }
/* Open Sans everywhere inside the card (the theme forces Montserrat on paragraphs); Playfair stays on the 404 number and the title */
html body.error404 .fx-404 p.fx-404-eyebrow, html body.error404 .fx-404 p.fx-404-msg, html body.error404 .fx-404 p.fx-404-msg span, html body.error404 .fx-404 p.fx-404-or, html body.error404 .fx-404-search input, html body.error404 .fx-404-btn, html body.error404 .fx-404-pills a { font-family: 'Open Sans', sans-serif !important; }
html body.error404 .fx-404-or { margin: 32px 0 0 !important; padding: 0 !important; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #4a6179; }
html body.error404 .fx-404-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 14px; }
html body.error404 .fx-404-pills a { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; background: #eef2f9 !important; color: #2e5fa8 !important; font-size: 14px; font-weight: 500; text-decoration: none !important; border: 0 !important; box-shadow: none !important; opacity: 1 !important; transition: background .15s, color .15s; }
html body.error404 .fx-404-pills a:hover, html body.error404 .fx-404-pills a:focus-visible { background: #E0B02D !important; color: #fff !important; outline: 0; box-shadow: none !important; text-decoration: none !important; }
@media (max-width: 720px) {
  html body.error404 .fx-404 { margin: 0 auto; padding: 0 14px 36px; }
  html body.error404 .fx-404-card { padding: 32px 18px 30px; }
  html body.error404 .fx-404-num { font-size: 84px !important; }
  html body.error404 h1.fx-404-title { font-size: 26px !important; }
  html body.error404 .fx-404-msg { font-size: 15.5px; line-height: 1.6; padding: 0 6px; }
  html body.error404 .fx-404-search { flex-direction: column; }
  html body.error404 .fx-404-search .fx-404-btn, html body.error404 .fx-404-row .fx-404-btn { width: 100%; }
  html body.error404 .fx-404-row { flex-direction: column; gap: 12px; }
}
/* ===== END 2026 - 404 Page CSS ===== */

/* ===== from #91307 2026 - Protected Restricted Content ===== */
/* ===== 2026 - Protected Restricted Content CSS =====
   Where: Code Snippets > Add New > CSS, front end. Pairs with "2026 - Protected Restricted Content JS".
   What: only the look of the Restricted Content message that the Pay For Post plugin shows on a protected page when the visitor has no access
   (body class ppp-has-no-access). It does not decide who gets in; the plugin still does that. Same card look as the rest of the site. */

html body.ppp-has-no-access:not(#fx):not(#fy) { background: #F4F4FC !important; }

html body.ppp-has-no-access .wc_ppp_paywall:not(#fx):not(#fy) { box-sizing: border-box; max-width: 700px; margin: 48px auto 32px !important; padding: 40px 32px 36px !important; background: #fff !important; border: 1px solid #dfe4f2 !important; border-radius: 16px !important; box-shadow: 0 10px 30px rgba(46, 74, 102, .08) !important; text-align: center !important; font-family: 'Open Sans', sans-serif !important; color: #1f3550 !important; }
html body.ppp-has-no-access .wc_ppp_paywall *:not(#fx):not(#fy) { box-sizing: border-box; }

/* card width follows the number of products shown (the JS adds fx-rc-n1 / n2 / n3) */
html body.ppp-has-no-access .wc_ppp_paywall.fx-rc-n2:not(#fx):not(#fy) { max-width: 760px; }
html body.ppp-has-no-access .wc_ppp_paywall.fx-rc-n3:not(#fx):not(#fy) { max-width: 920px; }

/* the old purple logo is replaced by a lock badge */
html body.ppp-has-no-access .wc_ppp_paywall > h2:first-child:not(#fx):not(#fy) { width: 64px; height: 64px; margin: 0 auto 14px !important; padding: 0 !important; border-radius: 50%; background: #eef2f9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e4a66' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / 30px no-repeat !important; border: 0 !important; }
html body.ppp-has-no-access .wc_ppp_paywall > h2:first-child img { display: none !important; }

/* title with gold rule */
html body.ppp-has-no-access .wc_ppp_paywall > h2:nth-child(2):not(#fx):not(#fy) { position: relative; margin: 0 0 22px !important; padding: 0 0 16px !important; font: 600 32px/1.2 'Playfair Display', serif !important; color: #2e4a66 !important; text-align: center !important; border: 0 !important; }
html body.ppp-has-no-access .wc_ppp_paywall > h2:nth-child(2):not(#fx):not(#fy)::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 56px; height: 2px; margin-left: -28px; background: #E0B02D; }

/* message lines */
html body.ppp-has-no-access .wc_ppp_paywall > p:not(#fx):not(#fy) { margin: 0 0 12px !important; padding: 0 !important; font: 400 16px/1.6 'Open Sans', sans-serif !important; color: #4a6179 !important; text-align: center !important; }
html body.ppp-has-no-access .wc_ppp_paywall > p:empty:not(#fx):not(#fy) { display: none !important; }

/* the product: a card like the collection cards (cover with its own 2px slate-blue frame and rounded corners on all four sides so white covers show their edge, then title, price pill and button on white) */
html body.ppp-has-no-access .wc_ppp_paywall .woocommerce:not(#fx):not(#fy) { margin: 28px 0 0 !important; padding: 0 !important; }
html body.ppp-has-no-access .wc_ppp_paywall ul.products:not(#fx):not(#fy) { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 24px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body.ppp-has-no-access .wc_ppp_paywall ul.products::before, html body.ppp-has-no-access .wc_ppp_paywall ul.products::after { display: none !important; content: none !important; }
html body.ppp-has-no-access .wc_ppp_paywall ul.products li.product:not(#fx):not(#fy):not(#fz) { float: none !important; display: flex !important; flex-direction: column; align-items: stretch; flex: 0 0 270px; width: 270px !important; max-width: 100%; margin: 0 !important; padding: 0 !important; overflow: hidden; background: #fff !important; border: 1px solid #dfe4f2 !important; border-radius: 14px !important; box-shadow: 0 6px 18px rgba(46, 74, 102, .12) !important; text-align: center !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product a.woocommerce-LoopProduct-link:not(#fx):not(#fy) { display: flex; flex-direction: column; align-items: stretch; width: 100% !important; text-decoration: none !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product img:not(#fx):not(#fy):not(#fz) { display: block; width: calc(100% - 28px) !important; max-width: none !important; height: auto !important; margin: 14px 14px 0 !important; padding: 0 !important; border: 2px solid #b4bfd6 !important; border-radius: 10px !important; box-shadow: none !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product .woocommerce-loop-product__title:not(#fx):not(#fy):not(#fz) { display: block; width: auto; margin: 16px 16px 10px !important; padding: 0 !important; font: 600 18px/1.3 'Playfair Display', serif !important; color: #2e4a66 !important; text-align: center !important; text-wrap: balance; overflow-wrap: anywhere; min-width: 0; }
html body.ppp-has-no-access .wc_ppp_paywall li.product .price:not(#fx):not(#fy):not(#fz) { display: block; align-self: center; width: auto !important; margin: 0 0 16px !important; padding: 4px 16px !important; border-radius: 999px; background: #2e4a66 !important; font: 700 15px/1.4 'Open Sans', sans-serif !important; color: #fff !important; text-align: center !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product .price *:not(#fx):not(#fy) { color: #fff !important; background: none !important; }

/* buttons: 48px, navy, gold on hover with white text */
html body.ppp-has-no-access .wc_ppp_paywall li.product a.button:not(#fx):not(#fy):not(#fz) { display: block !important; float: none !important; box-sizing: border-box; align-self: center !important; width: calc(100% - 32px) !important; min-width: 0 !important; max-width: none !important; height: 48px !important; margin: auto 16px 18px !important; padding: 0 12px !important; border: 0 !important; border-radius: 8px !important; background: #2e4a66 !important; color: #fff !important; font: 600 15.5px/48px 'Open Sans', sans-serif !important; text-align: center !important; text-decoration: none !important; letter-spacing: .02em; text-transform: none !important; box-shadow: none !important; cursor: pointer; transition: background-color .15s; }
html body.ppp-has-no-access .wc_ppp_paywall li.product a.button:not(#fx):not(#fy):not(#fz):hover { background: #E0B02D !important; color: #fff !important; }
html body.ppp-has-no-access .wc_ppp_paywall a.fx-rc-signin:not(#fx):not(#fy):not(#fz) { display: block !important; box-sizing: border-box; width: 100% !important; max-width: 280px !important; height: 48px !important; margin: 28px auto 0 !important; padding: 0 16px !important; border: 1.5px solid #2e4a66 !important; border-radius: 8px !important; background: #fff !important; color: #2e4a66 !important; font: 600 15.5px/45px 'Open Sans', sans-serif !important; text-align: center !important; text-decoration: none !important; letter-spacing: .02em; box-shadow: none !important; cursor: pointer; transition: border-color .15s, color .15s; }
html body.ppp-has-no-access .wc_ppp_paywall a.fx-rc-signin:not(#fx):not(#fy):not(#fz):hover { border-color: #E0B02D !important; color: #2e4a66 !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product a.added_to_cart:not(#fx):not(#fy) { display: block; margin: -6px 16px 16px !important; font: 600 14.5px/1.4 'Open Sans', sans-serif !important; color: #2e4a66 !important; text-decoration: none !important; }

/* no underline, blue line (the site's link hover draws one with an inset box-shadow) or fade on hover */
html body.ppp-has-no-access .wc_ppp_paywall li.product a:not(#fx):not(#fy):not(#fz), html body.ppp-has-no-access .wc_ppp_paywall li.product a:not(#fx):not(#fy):not(#fz):hover, html body.ppp-has-no-access .wc_ppp_paywall li.product a:not(#fx):not(#fy):not(#fz):focus, html body.ppp-has-no-access .wc_ppp_paywall li.product a:not(#fx):not(#fy):not(#fz):active { text-decoration: none !important; border-bottom: 0 !important; outline: 0 !important; box-shadow: none !important; opacity: 1 !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product a:not(#fx):not(#fy):not(#fz):hover *, html body.ppp-has-no-access .wc_ppp_paywall li.product a:not(#fx):not(#fy):not(#fz):focus * { text-decoration: none !important; box-shadow: none !important; opacity: 1 !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product a:hover .woocommerce-loop-product__title:not(#fx):not(#fy):not(#fz) { color: #2e4a66 !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product .price:not(#fx):not(#fy):not(#fz):hover { opacity: 1 !important; }
html body.ppp-has-no-access .wc_ppp_paywall li.product a.button:not(#fx):not(#fy):not(#fz):focus-visible { outline: 3px solid rgba(31, 134, 214, .35) !important; outline-offset: 2px; }

@media (max-width: 700px) {
  html body.ppp-has-no-access .wc_ppp_paywall:not(#fx):not(#fy) { margin: 24px 14px 24px !important; padding: 28px 16px 26px !important; }
  html body.ppp-has-no-access .wc_ppp_paywall > h2:nth-child(2):not(#fx):not(#fy) { font-size: 26px !important; }
}
/* ===== END 2026 - Protected Restricted Content CSS ===== */

/* ===== from #91283 2026 - Registration Thank You ===== */
/* ===== 2026 - Registration Thank You CSS =====
   Where: Code Snippets > Add New > CSS (front end). Styles the Custom HTML block on /registration-thank-you/ (page id 448).
   Look: lavender page, white title card with gold rule, pale-gold note box, three cards. Navy buttons, gold hover with white text. */

html body.page-id-448:not(#fx):not(#fy) { background: #F4F4FC !important; }
html body.page-id-448 #theme-content-section:not(#fx):not(#fy), html body.page-id-448 .main-container:not(#fx):not(#fy) { background: transparent !important; }
/* no extra space above the content: the theme adds 50 + 20 + 1px above and 50px below (the gold up-arrow block keeps its own space); the card's own top padding (below) sets the gap under the menu */
html body.page-id-448 #content:not(#fx):not(#fy) { padding-top: 0 !important; padding-bottom: 0 !important; }
html body.page-id-448 .main-container.thrv_wrapper:not(#fx):not(#fy), html body.page-id-448 #theme-content-section:not(#fx):not(#fy), html body.page-id-448 #theme-content-section .section-content:not(#fx):not(#fy), html body.page-id-448 .tcb-post-content:not(#fx):not(#fy) { margin-top: 0 !important; padding-top: 0 !important; }
html body.page-id-448 #tve_editor > .thrv_wrapper:not(#fx):not(#fy) { margin-top: 0 !important; padding-top: 0 !important; }

html body .fx-ty:not(#fx):not(#fy) { box-sizing: border-box; max-width: 800px; margin: 0 auto !important; padding: 56px 16px 16px; font-family: 'Open Sans', sans-serif; color: #1f3550; -webkit-font-smoothing: antialiased; }
html body .fx-ty *:not(#fx):not(#fy) { box-sizing: border-box; }
html body .fx-ty .fx-m:not(#fx):not(#fy) { display: none !important; }

/* title card */
html body .fx-ty .fx-ty-hero:not(#fx):not(#fy) { background: #fff; border: 1px solid #dfe4f2; border-radius: 16px; box-shadow: 0 10px 30px rgba(46, 74, 102, .08); padding: 40px 36px 36px; text-align: center; }
html body .fx-ty .fx-ty-badge:not(#fx):not(#fy) { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; background: #eef2f9; display: flex; align-items: center; justify-content: center; }
html body .fx-ty .fx-ty-eyebrow:not(#fx):not(#fy) { font: 700 12px/1.2 'Open Sans', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #a8761a; }
html body .fx-ty h1.fx-ty-title:not(#fx):not(#fy) { font: 600 38px/1.2 'Playfair Display', serif !important; color: #2e4a66 !important; margin: 10px 0 0 !important; padding: 0 !important; letter-spacing: 0 !important; text-transform: none !important; text-wrap: balance; }
html body .fx-ty .fx-ty-rule:not(#fx):not(#fy) { width: 64px; height: 2px; background: #E0B02D; margin: 16px auto 18px; }
html body .fx-ty .fx-ty-sub:not(#fx):not(#fy) { font: 400 17px/1.6 'Open Sans', sans-serif !important; color: #4a6179 !important; margin: 0 auto !important; max-width: 680px; }
html body .fx-ty .fx-ty-sub i:not(#fx):not(#fy) { font-style: italic; }

/* gold note box */
html body .fx-ty .fx-ty-note:not(#fx):not(#fy) { margin: 24px 0 0; background: #fff6dc; border: 1px solid #ecd89a; border-left: 5px solid #E0B02D; border-radius: 12px; padding: 18px 22px; font: 400 15px/1.65 'Open Sans', sans-serif; color: #1f3550; text-align: left; }
html body .fx-ty .fx-ty-note b:not(#fx):not(#fy) { font-weight: 700; color: #1f3550; }

/* gold up-arrow: on a very tall window (maximized on a big monitor) the template squeezes its box and the arrow rides up onto the Shop card.
   Keep the box its normal height and pin the arrow to the same place every time. */
html body.page-id-448 .fx-gup:not(#fx):not(#fy) { min-height: 188px !important; flex-shrink: 0 !important; }
html body.page-id-448 .fx-gup a.fx-gup-btn:not(#fx):not(#fy) { top: 38px !important; bottom: auto !important; }

/* three cards */
html body .fx-ty .fx-ty-cards:not(#fx):not(#fy) { margin: 24px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
html body .fx-ty .fx-ty-card:not(#fx):not(#fy) { background: #fff; border: 1px solid #dfe4f2; border-top: 4px solid #E0B02D; border-radius: 16px; box-shadow: 0 10px 30px rgba(46, 74, 102, .08); padding: 26px 20px 22px; text-align: center; display: flex; flex-direction: column; align-items: center; min-width: 0; }
html body .fx-ty .fx-ty-ic:not(#fx):not(#fy) { width: 56px; height: 56px; border-radius: 50%; background: #eef2f9; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
html body .fx-ty .fx-ty-card h2:not(#fx):not(#fy) { font: 600 20px/1.3 'Playfair Display', serif !important; color: #2e4a66 !important; margin: 0 0 6px !important; padding: 0 !important; letter-spacing: 0 !important; text-transform: none !important; }
html body .fx-ty .fx-ty-card p:not(#fx):not(#fy) { font: 400 14px/1.55 'Open Sans', sans-serif !important; color: #4a6179 !important; margin: 0 0 18px !important; flex: 1; }

/* buttons: primary filled navy, others outlined; gold hover with white text */
html body .fx-ty a.fx-ty-btn:not(#fx):not(#fy) { display: block; width: 100%; height: 48px; line-height: 45px; text-align: center; border: 1.5px solid #2e4a66; border-radius: 8px; background: #fff; color: #2e4a66 !important; font: 500 15px/45px 'Open Sans', sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; box-shadow: none !important; transition: background-color .15s, color .15s, border-color .15s; }
html body .fx-ty a.fx-ty-btn.fx-ty-primary:not(#fx):not(#fy) { background: #2e4a66; color: #fff !important; }
html body .fx-ty a.fx-ty-btn:not(#fx):not(#fy):hover { background: #E0B02D; border-color: #E0B02D; color: #fff !important; }
html body .fx-ty a.fx-ty-btn:not(#fx):not(#fy):focus-visible { outline: 3px solid rgba(224, 176, 45, .45); outline-offset: 2px; }

/* tablet / phone */
@media (max-width: 700px) {
  html body .fx-ty:not(#fx):not(#fy) { padding: 28px 14px 16px; }
}
@media (min-width: 701px) and (max-width: 1024px) {
  html body .fx-ty:not(#fx):not(#fy) { padding-top: 36px; }
}
@media (max-width: 700px) {
  html body .fx-ty .fx-m:not(#fx):not(#fy) { display: inline !important; }
  html body .fx-ty br.fx-m:not(#fx):not(#fy) { display: inline !important; }
  html body .fx-ty .fx-d:not(#fx):not(#fy) { display: none !important; }
  html body .fx-ty .fx-ty-hero:not(#fx):not(#fy) { padding: 28px 18px 26px; }
  html body .fx-ty h1.fx-ty-title:not(#fx):not(#fy) { font-size: 28px !important; }
  html body .fx-ty .fx-ty-sub:not(#fx):not(#fy) { font-size: 15.5px !important; }
  html body .fx-ty .fx-ty-note:not(#fx):not(#fy) { font-size: 14px; padding: 16px 18px; }
  html body .fx-ty .fx-ty-cards:not(#fx):not(#fy) { grid-template-columns: 1fr; gap: 16px; }
  html body .fx-ty .fx-ty-ic:not(#fx):not(#fy) { display: none; }
}
/* ===== END 2026 - Registration Thank You CSS ===== */
