/*
Theme Name: TCN
Theme URI: https://trustedcontentnetwork.com
Author: Trusted Content Network
Description: The Trusted Content Network theme: layout and look only. All features live in the TCN Site plugin. Follows the TCN Visual Style Guide.
Version: 1.0.12
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tcn
*/

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#303031;font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;overflow-x:clip}
a{color:#802A8D}
a:hover{color:#5E1C68}
img{max-width:100%;height:auto}
h1,h2,h3,h4{color:#303031;line-height:1.2}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.tcn-main{min-height:60vh}

/* Article and archive layout */
.tcn-article-wrap{max-width:760px;margin:0 auto;padding:28px 22px 60px}
.tcn-article-wrap .tcn-backbar{padding:0 0 12px}
.tcn-article-title{font-size:clamp(30px,6vw,42px);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin:0 0 8px}
.tcn-article-meta{font-size:14px;color:#5D5A60;margin:0 0 22px}
.tcn-article-feature{margin:0 0 24px}
.tcn-article-feature img{border-radius:14px;display:block}
.tcn-article-body{font-size:18px;line-height:1.65}
.tcn-article-body h2{font-size:26px;font-weight:800;margin:30px 0 10px}
.tcn-article-body h3{font-size:21px;font-weight:800;margin:24px 0 8px}
.tcn-article-body ul,.tcn-article-body ol{padding-left:1.4em}
.tcn-article-body li{margin:0 0 6px}
.tcn-article-body hr{border:none;border-top:3px double #303031;margin:32px 0}
.tcn-article-body .aligncenter{display:block;margin:12px auto}
.tcn-article-body .alignleft{float:left;margin:4px 18px 10px 0}
.tcn-article-body .alignright{float:right;margin:4px 0 10px 18px}
.tcn-article-body .wp-caption-text{font-size:14px;color:#5D5A60;text-align:center}
.tcn-list{list-style:none;padding:0;margin:0}
.tcn-list li{border-bottom:1px solid #E3D7E6;padding:16px 0}
.tcn-list h2{font-size:21px;font-weight:800;margin:0 0 4px}
.tcn-list h2 a{color:#303031;text-decoration:none}
.tcn-list h2 a:hover{color:#802A8D}
.tcn-list p{margin:4px 0 0;color:#5D5A60;font-size:16px}
.tcn-pagination{display:flex;justify-content:space-between;margin:24px 0 0;font-weight:700}

/* PMPro pages (checkout, account, billing, cancel, invoices) */
.tcn-page-pmpro .tcn-frame{max-width:760px}

/* ---------- Shared TCN design (header, footer, pages, members, forms) ---------- */
/* TCN shared design: used by every page the TCN Site plugin serves or restyles.
   When the new theme is built, this file moves into the theme. */
:root{--tcn-purple:#802A8D;--tcn-purple-deep:#5E1C68;--tcn-charcoal:#303031;--tcn-muted:#5D5A60;--tcn-wash:#F6EFF7;--tcn-line:#E3D7E6}
.tcn-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(22px, calc((100% - 1080px) / 2 + 22px));border-bottom:1px solid var(--tcn-line);background:#fff;font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif}
.tcn-top .tcn-logo{display:block;width:190px;height:auto}
.tcn-top nav{display:flex;gap:18px}
.tcn-top nav a{color:var(--tcn-charcoal);font-weight:700;text-decoration:none;font-size:15px}
.tcn-foot{border-top:1px solid var(--tcn-line);padding:24px 22px 40px;font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif;font-size:14px;color:var(--tcn-muted);text-align:center}
.tcn-foot a{color:var(--tcn-muted)}
.tcn-foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:8px}
.tcn-foot-links a{color:var(--tcn-charcoal);font-weight:700;text-decoration:none}
.tcn-frame{max-width:760px;margin:0 auto;padding:34px 22px 60px;font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--tcn-charcoal)}
.tcn-frame.tcn-wide{max-width:1080px}
.tcn-frame h1{font-size:clamp(30px,6vw,44px);font-weight:900;letter-spacing:-.02em;line-height:1.08;margin:0 0 18px}
.tcn-frame h2{font-size:clamp(22px,4.5vw,28px);font-weight:800;line-height:1.2;margin:36px 0 12px}
.tcn-frame h3{font-size:20px;font-weight:800;margin:26px 0 8px}
.tcn-frame p,.tcn-frame li{color:#3d3b40}
.tcn-frame a{color:var(--tcn-purple)}
.tcn-frame img{max-width:100%;height:auto;border-radius:10px}
.tcn-frame hr{border:none;border-top:3px double var(--tcn-charcoal);margin:36px 0}
.tcn-btn{display:inline-block;background:var(--tcn-purple);color:#fff!important;border:none;border-radius:10px;padding:12px 20px;font-weight:800;font-size:16px;text-decoration:none;cursor:pointer}
.tcn-btn:hover{background:var(--tcn-purple-deep)}
@media(min-width:760px){.tcn-top .tcn-logo{width:230px}}


/* Lists and headings inside framed pages (override leftover theme resets) */
.tcn-frame h1,.tcn-frame h2,.tcn-frame h3,.tcn-frame h4{font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif!important;color:var(--tcn-charcoal)}
.tcn-frame ul,.tcn-frame ol{padding-left:1.4em!important;margin:0 0 18px!important}
.tcn-frame ul{list-style:disc!important}
.tcn-frame ol{list-style:decimal!important}
.tcn-frame ul ul{list-style:circle!important;margin:6px 0 0!important}
.tcn-frame li{margin:0 0 6px!important;padding:0!important;text-indent:0!important;list-style-position:outside!important}
.tcn-frame p{margin:0 0 16px}
.tcn-frame .tcn-mp-past,.tcn-frame .tcn-mp-grid{list-style:none!important;padding-left:0!important}

/* Members page */
.tcn-mp-hello{font-weight:700;color:var(--tcn-purple)!important;margin:0 0 4px}
.tcn-mp-tools{display:grid;gap:16px;margin:8px 0 34px}
.tcn-mp-tool{background:var(--tcn-wash);border:1px solid var(--tcn-line);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.tcn-mp-action{margin-top:auto;padding-top:6px}
.tcn-mp-tool .tcn-btn,.tcn-mp-feed input{height:46px;box-sizing:border-box;line-height:1}
.tcn-mp-tool .tcn-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 20px}
.tcn-mp-tool h2{margin:0 0 8px;font-size:20px}
.tcn-mp-feed{display:flex;gap:8px}
.tcn-mp-feed input{flex:1;min-width:0;font-size:14px;padding:11px 12px;border:2px solid var(--tcn-line);border-radius:10px;background:#fff;color:var(--tcn-charcoal)}
.tcn-mp-small{font-size:15px}
.tcn-mp-h{font-size:26px!important;font-weight:900!important;margin:34px 0 14px!important;padding-top:18px;border-top:3px double var(--tcn-charcoal)}
.tcn-mp-grid{display:grid;gap:16px}
.tcn-mp-card{display:grid;grid-template-columns:120px 1fr;gap:14px;background:#fff;border:1px solid var(--tcn-line);border-radius:14px;overflow:hidden;text-decoration:none!important;color:var(--tcn-charcoal)!important}
.tcn-mp-card:hover{border-color:var(--tcn-purple)}
.tcn-mp-img{display:block;background:#DCEBF7 center/cover no-repeat;min-height:100%}
.tcn-mp-body{display:block;padding:14px 14px 14px 0}
.tcn-mp-label{display:block;font-size:12px;font-weight:800;color:var(--tcn-purple);margin-bottom:2px}
.tcn-mp-title{display:block;font-size:18px;font-weight:800;line-height:1.25}
.tcn-mp-ex{display:block;margin-top:6px;font-size:15px;color:var(--tcn-muted);line-height:1.45}
.tcn-mp-past{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.tcn-mp-past a{display:block;padding:8px 14px;border:1px solid var(--tcn-line);border-radius:999px;text-decoration:none;font-weight:700;font-size:15px}
.tcn-mp-help{margin-top:40px;background:var(--tcn-charcoal);border-radius:16px;padding:22px}
.tcn-mp-help h2,.tcn-mp-help p{color:#fff!important;margin-top:0}
.tcn-mp-help a{color:#E9D7EE!important;font-weight:700}
.tcn-mp-gate{max-width:520px;margin:30px auto;text-align:center}
@media(min-width:760px){.tcn-mp-tools{grid-template-columns:1fr 1fr}.tcn-mp-grid{grid-template-columns:1fr 1fr}.tcn-mp-card{grid-template-columns:160px 1fr}}

/* Login form on the members page */
.tcn-login{text-align:left}
.tcn-login h1{text-align:left}
.tcn-login form p{margin:0 0 14px}
.tcn-login label{display:block;font-weight:700;font-size:15px;margin-bottom:6px;color:var(--tcn-charcoal)}
.tcn-login input[type=text],.tcn-login input[type=password]{width:100%;box-sizing:border-box;font-size:17px;padding:13px 14px;border:2px solid var(--tcn-line);border-radius:10px;background:#fff;color:var(--tcn-charcoal)}
.tcn-login input[type=text]:focus,.tcn-login input[type=password]:focus{border-color:var(--tcn-purple);outline:none}
.tcn-login .login-remember label{display:flex;align-items:center;gap:8px;font-weight:500}
.tcn-login .login-remember input{width:18px;height:18px;accent-color:var(--tcn-purple)}
.tcn-login input[type=submit]{width:100%;background:var(--tcn-purple);color:#fff;border:none;border-radius:12px;padding:15px;font-size:18px;font-weight:800;cursor:pointer;font-family:inherit}
.tcn-login input[type=submit]:hover{background:var(--tcn-purple-deep)}

/* Contact form */
.tcn-contact p{margin:0 0 14px}
.tcn-contact label{display:block;font-weight:700;font-size:15px;margin-bottom:6px;color:var(--tcn-charcoal)}
.tcn-contact input[type=text],.tcn-contact input[type=email],.tcn-contact textarea{width:100%;box-sizing:border-box;font:inherit;font-size:17px;padding:13px 14px;border:2px solid var(--tcn-line);border-radius:10px;background:#fff;color:var(--tcn-charcoal)}
.tcn-contact input:focus,.tcn-contact textarea:focus{border-color:var(--tcn-purple);outline:none}
.tcn-contact-msg{font-weight:700;color:var(--tcn-purple)}

/* Members-only message on articles */
.tcn-noaccess{font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif;background:var(--tcn-wash);border:1px solid var(--tcn-line);border-radius:16px;padding:24px 22px;margin:24px 0}
.tcn-noaccess h2{font-family:inherit!important;font-size:24px!important;font-weight:900!important;color:var(--tcn-charcoal)!important;margin:0 0 8px!important;padding:0!important}
.tcn-noaccess p{color:var(--tcn-muted)!important;margin:0 0 12px!important}
.tcn-noaccess a:not(.tcn-btn){color:var(--tcn-purple)!important;font-weight:700}

.tcn-contact .tcn-btn{height:48px;padding:0 26px;display:inline-flex;align-items:center;font-size:17px}

/* Phones: keep the header inside the screen and stop sideways scrolling */
.tcn-frame{overflow-wrap:anywhere}
body.tcn-served,body.tcn-checkout,body.tcn-article{overflow-x:clip}
@media (max-width:520px){
  .tcn-top{padding:12px 16px;gap:10px}
  .tcn-top .tcn-logo{width:140px}
  .tcn-top nav{gap:12px}
  .tcn-top nav a{font-size:14px}
  .tcn-frame{padding:26px 16px 50px}
}
.tcn-mp-tools>*,.tcn-mp-grid>*{min-width:0}
.tcn-mp-feed input{width:100%}
@media (max-width:360px){
  .tcn-top .tcn-logo{width:116px}
  .tcn-top nav{gap:10px}
  .tcn-top nav a{font-size:13px}
  .tcn-mp-tool{padding:16px}
}
.tcn-top nav a{white-space:nowrap}

/* Services page */
.tcn-svc-intro{font-size:19px;max-width:40em}
.tcn-svc-grid{display:grid;gap:16px;margin:18px 0 8px}
.tcn-svc{background:#fff;border:1px solid var(--tcn-line);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.tcn-svc h3{margin:0 0 4px!important;font-size:20px!important;font-weight:800!important}
.tcn-svc .tcn-svc-price{font-size:22px;font-weight:900;color:var(--tcn-purple);margin:0 0 8px!important}
.tcn-svc .tcn-svc-price small{font-size:15px;font-weight:700;color:var(--tcn-muted)}
.tcn-svc p{margin:0!important;color:var(--tcn-muted)}
.tcn-svc.tcn-svc-feature{background:var(--tcn-wash);border:2px solid var(--tcn-purple)}
.tcn-svc .tcn-svc-tag{display:inline-block;align-self:flex-start;background:var(--tcn-purple);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;margin-bottom:8px}
.tcn-svc-note{font-size:15px;color:var(--tcn-muted)}
.tcn-svc-cta{margin-top:34px;background:var(--tcn-charcoal);border-radius:16px;padding:24px 22px}
.tcn-svc-cta h2{color:#fff!important;margin:0 0 8px!important}
.tcn-svc-cta p{color:#E9D7EE!important;margin:0 0 14px!important}
@media(min-width:760px){.tcn-svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.tcn-svc-grid.tcn-svc-3{grid-template-columns:1fr 1fr 1fr}}

/* Account section on the members page (PMPro's account tools) */
.tcn-mp-account .pmpro_card{background:#fff!important;border:1px solid var(--tcn-line)!important;border-radius:14px!important;box-shadow:none!important;margin:0 0 16px!important}
.tcn-mp-account .pmpro_card_title,.tcn-mp-account h2,.tcn-mp-account h3{font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif!important;font-size:19px!important;font-weight:800!important;color:var(--tcn-charcoal)!important;border:none!important;padding-top:0!important;margin-top:0!important}
.tcn-mp-account a{color:var(--tcn-purple)!important;font-weight:700}
.tcn-mp-account table{width:100%;border-collapse:collapse;font-size:15px}
.tcn-mp-account td,.tcn-mp-account th{padding:8px 6px;border-bottom:1px solid var(--tcn-line);text-align:left}
.tcn-mp-account .pmpro_list{list-style:none!important;padding-left:0!important}
.tcn-mp-account{overflow-x:auto}

/* Buttons inside article content: theme link colors must not override the white label */
.entry-content a.tcn-btn,.tcn-noaccess a.tcn-btn,body.tcn-article .entry-content a.tcn-btn{color:#fff!important;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px}
.entry-content a.tcn-btn:hover,.tcn-noaccess a.tcn-btn:hover{color:#fff!important;background:var(--tcn-purple-deep)}


/* ---------- Paid Memberships Pro ---------- */
.pmpro,.pmpro *{font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif!important}
.pmpro{color:#303031;font-size:17px;line-height:1.5}
.pmpro_card{background:#fff!important;border:1px solid #E3D7E6!important;border-radius:14px!important;box-shadow:none!important;margin:0 0 16px!important}
.pmpro_card_title,.pmpro_form_legend,.pmpro_card h2,legend{font-weight:800!important;font-size:20px!important;color:#303031!important;letter-spacing:-.01em}
.pmpro_form_field{margin-bottom:14px!important}
.pmpro_form_label,.pmpro label{font-weight:700!important;font-size:15px!important;color:#303031!important}
.pmpro input[type=text],.pmpro input[type=email],.pmpro input[type=password]{width:100%!important;max-width:100%!important;font-size:17px!important;padding:13px 14px!important;border:2px solid #E3D7E6!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important}
.pmpro input:focus{border-color:#802A8D!important;outline:none!important}
.pmpro_btn-submit-checkout,#pmpro_btn-submit{width:100%!important;background:#802A8D!important;border:2px solid #802A8D!important;color:#fff!important;font-weight:800!important;font-size:18px!important;padding:16px!important;border-radius:12px!important;cursor:pointer}
.pmpro_btn-submit-checkout:hover{background:#5E1C68!important;border-color:#5E1C68!important}
#pmpro_pricing_fields{background:#F6EFF7!important;border-color:#E3D7E6!important}
#pmpro_pricing_fields strong{color:#802A8D}
.pmpro_card_actions{background:transparent!important;border:none!important}
.pmpro a{color:#802A8D}
.tcn-next{background:#F6EFF7;border:1px solid #E3D7E6;border-radius:16px;padding:24px 22px;margin:20px 0 24px;font-family:Figtree,-apple-system,Helvetica,Arial,sans-serif}
.tcn-next h2{font-size:26px!important;font-weight:900!important;letter-spacing:-.02em;margin:0 0 8px!important;padding:0!important;color:#303031!important}
.tcn-next p{margin:0 0 14px!important;color:#5D5A60!important}
.tcn-next .tcn-next-btn{display:inline-block;background:#802A8D;color:#fff!important;text-decoration:none;font-weight:800;font-size:18px;padding:15px 22px;border-radius:12px}
.tcn-next .tcn-next-btn:hover{background:#5E1C68}
.tcn-next .tcn-next-help{margin:14px 0 0!important;font-size:15px}
.tcn-next .tcn-next-help a{color:#802A8D!important;font-weight:700}
@media (max-width:600px){.tcn-next .tcn-next-btn{display:block;text-align:center}
}
.pmpro,.pmpro_form,.pmpro_form_field,.pmpro_form_label,.pmpro label{text-align:left!important}
.pmpro *{max-width:100%;box-sizing:border-box}
.pmpro_form_field-checkbox{display:block!important}
.pmpro_form_field-checkbox label{display:block!important;font-weight:500!important;font-size:16px!important;line-height:1.5!important;padding-left:32px!important;position:relative!important}
.pmpro_form_field-checkbox input[type=checkbox]{position:absolute!important;left:0!important;top:2px!important;width:20px!important;height:20px!important;margin:0!important;accent-color:#802A8D}
.pmpro_form_submit{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important}
#pmpro_submit_span{display:block!important;width:100%!important;margin:0!important}
.pmpro_btn-submit-checkout,#pmpro_btn-submit{margin:0!important;display:block!important}
.g-recaptcha{margin:8px 0 18px!important}
.pmpro .pmpro_section{background:transparent!important}
.tcn-backbar a{color:#802A8D;font-weight:700;text-decoration:none;font-size:15px}

/* Lists in archives and search: no bullets */
.tcn-frame ul.tcn-list,.tcn-frame ul.tcn-list li{list-style:none;padding-left:0;margin-left:0}
.tcn-frame ul.tcn-list li::before,.tcn-frame ul.tcn-list li::marker{content:none}

/* Theme My Login pages: login, lost password, reset password */
.tml{max-width:460px}
.tml .tml-field-wrap{margin:0 0 14px}
.tml label{display:block;font-weight:700;font-size:15px;margin:0 0 6px;color:#303031}
.tml input[type=text],.tml input[type=email],.tml input[type=password]{width:100%;font:inherit;font-size:17px;padding:13px 14px;border:2px solid #E3D7E6;border-radius:10px;background:#fff;box-sizing:border-box}
.tml input:focus{border-color:#802A8D;outline:none}
.tml .tml-button,.tml button[type=submit],.tml input[type=submit]{background:#802A8D;color:#fff;border:none;border-radius:10px;font:inherit;font-weight:800;font-size:16px;padding:14px 22px;cursor:pointer}
.tml .tml-button:hover,.tml button[type=submit]:hover{background:#5E1C68}
.tml .tml-message,.tml .tml-errors,.tml .tml-success{background:#F6EFF7;border:1px solid #E3D7E6;border-left:none;border-radius:12px;padding:12px 14px;margin:0 0 18px;list-style:none}
.tml .tml-links{list-style:none;padding:0;margin:16px 0 0}
.tml .tml-links li{display:inline;margin-right:14px}
.tml .tml-rememberme-wrap label{display:inline;font-weight:500}
/* Members page on phones: stack each card (image on top) instead of squeezing the image into a column */
@media (max-width:640px){
.tcn-mp-grid{grid-template-columns:1fr!important}
.tcn-mp-card{grid-template-columns:1fr!important;gap:0}
.tcn-mp-img{min-height:0;aspect-ratio:16/10;width:100%}
.tcn-mp-body{padding:14px 16px 16px}
}

/* "Your account" on the members page: TCN cards, no PMPro blue bands */
.tcn-mp-account .pmpro_section{background:transparent!important;padding:0!important;margin:0 0 22px!important;border:none!important}
.tcn-mp-account .pmpro_section_title,.tcn-mp-account h2.pmpro_section_title.pmpro_font-x-large{font-size:19px!important;font-weight:800!important;line-height:1.3!important;color:var(--tcn-charcoal)!important;background:none!important;margin:0 0 10px!important;padding:0!important}
.tcn-mp-account .pmpro_card_content{padding:16px 18px!important}
.tcn-mp-account .pmpro_card_title{display:flex;align-items:center;gap:12px;font-size:18px!important;padding:16px 18px 0!important;margin:0!important}
.tcn-mp-account .pmpro_card_title img,.tcn-mp-account .avatar{display:none!important}
.tcn-mp-account .pmpro_card_actions{background:var(--tcn-wash)!important;border-top:1px solid var(--tcn-line)!important;padding:12px 18px!important;border-radius:0 0 14px 14px}
.tcn-mp-account .pmpro_card_actions a{font-size:16px}
.tcn-mp-account .pmpro_card{overflow:hidden}

/* Hide Jetpack's stats smiley everywhere */
img#wpstats,#wpstats{display:none!important}

.tml .tml-button,.tml button[type=submit],.tml input[type=submit]{display:block;width:100%;font-size:17px;padding:15px 22px;border-radius:12px;margin-top:6px}
.tml .tml-links{text-align:center}
.tml .tml-links li::marker{content:none}
.tml input[type=checkbox]{width:18px;height:18px;accent-color:#802A8D;vertical-align:middle}
.tml .tml-rememberme-wrap label{margin-left:6px}
.tml .tml-messages{padding:0;margin:0;list-style:none}

/* Members page cards, all screen sizes: full featured image on top (16:10, like the 1280 x 800 originals), text below */
.tcn-mp-card{grid-template-columns:1fr!important;gap:0!important;grid-template-rows:auto 1fr}
.tcn-mp-img{min-height:0!important;aspect-ratio:16/10;width:100%;background-position:center!important}
.tcn-mp-body{padding:14px 16px 18px!important}
@media (min-width:700px){.tcn-mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:1000px){.tcn-mp-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Login and password pages: one narrow, centered column so the title and form line up the same on every one of these pages */
body.tml-action .tcn-frame{max-width:504px}
body.tml-action .tcn-frame h1{font-size:34px}
.tml{max-width:none}
.tml .tml-links a{text-decoration:none;font-weight:700}
/* PMPro buttons everywhere (levels page Select, etc.): TCN purple instead of PMPro's teal */
.pmpro .pmpro_btn,.pmpro a.pmpro_btn,.pmpro input.pmpro_btn,.pmpro button.pmpro_btn{background:#802A8D!important;border-color:#802A8D!important;color:#fff!important;border-radius:10px!important;font-weight:800!important}
.pmpro .pmpro_btn:hover{background:#5E1C68!important;border-color:#5E1C68!important}
.pmpro .pmpro_btn.disabled,.pmpro .pmpro_btn-outline,.pmpro a.pmpro_btn.pmpro_btn-outline{background:#fff!important;color:#802A8D!important;border:2px solid #802A8D!important}
/* Fallback if PMPro doesn't use the filter: hide the levels link in the account section */
.tcn-mp-account a[href*="membership-levels"]{display:none!important}
/* Automatic downloads */
.tcn-mp-size{color:#5D5A60;font-size:14px;margin-left:8px}
.tcn-mp-files{margin-top:14px}
.tcn-mp-files summary{cursor:pointer;color:#802A8D;font-weight:700}
.tcn-mp-files ul{margin:10px 0 0;padding-left:20px}
.tcn-mp-files li{margin:6px 0}

/* Download button on each article and tip card */
.tcn-mp-cell{position:relative;display:grid;min-width:0}
.tcn-mp-cell>.tcn-mp-card{height:100%}
.tcn-mp-dl-icon{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #E3D7E6;color:#802A8D!important;display:flex;align-items:center;justify-content:center;text-decoration:none!important;z-index:2}
.tcn-mp-dl-icon:hover,.tcn-mp-dl-icon:focus-visible{background:#802A8D;border-color:#802A8D;color:#fff!important;outline:none}
.tcn-mp-dl-icon:focus-visible{box-shadow:0 0 0 3px #E9D7EE}

/* Keep PMPro's small "Show Password" toggle plain: the purple button rule above should only style real buttons */
.pmpro .pmpro_btn.pmpro_btn-plain,.pmpro button.pmpro_btn-password-toggle,.pmpro .pmpro_btn-password-toggle{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;color:#802A8D!important;font-weight:700!important;font-size:14px!important;width:auto!important;min-height:0!important;display:inline-flex!important;align-items:center;gap:6px}
.pmpro .pmpro_btn-password-toggle:hover,.pmpro .pmpro_btn-password-toggle:focus{background:none!important;color:#5E1C68!important;text-decoration:underline}
.pmpro .pmpro_btn-password-toggle svg{stroke:currentColor}

/* Early release tag on member cards */
.tcn-mp-early{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#E9D7EE;color:#5E1C68;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:none}

/* PMPro login and lost-password buttons in TCN purple (replaces Theme My Login's styling) */
.pmpro_login_wrap input[type=submit],.pmpro_login_wrap .button-primary,.pmpro_lost_password_wrap input[type=submit],.pmpro_reset_password_wrap input[type=submit],#loginform #wp-submit,#lostpasswordform #wp-submit,#resetpassform #wp-submit{background:#802A8D!important;border-color:#802A8D!important;color:#fff!important;border-radius:10px!important;font-weight:800!important}
.pmpro_login_wrap input[type=submit]:hover,#loginform #wp-submit:hover,#lostpasswordform #wp-submit:hover{background:#5E1C68!important;border-color:#5E1C68!important}
