/*
Theme Name: MuseClub
Description: Child theme of GeneratePress for LearnToUseMuse.com, the reader's club for The Muse Money Playbook.
Author: Pam Mehta
Template: generatepress
Version: 1.0.0
*/

/* ---- ebook-style article typography ---- */
.routine-kicker { font-family: 'Noto Sans', 'Liberation Sans', Helvetica, Arial, sans-serif;
  font-size: 13px; letter-spacing: 0.28em; text-transform: uppercase;
  color: #c8912a; margin-bottom: 10px; }
.single-routine .entry-title, .routine-title { color: #1f3a5f; }
.routine-hero { margin: 1.4em 0; text-align: center; }
.routine-hero img { max-width: 100%; height: auto; border-radius: 6px; }

/* ---- copy-this-into-muse prompt box (mirrors the book) ---- */
.promptbox { background: #f2f3f5; border: 1px solid #dcdde2; border-left: 5px solid #c8912a;
  border-radius: 4px; padding: 1.1em 1.2em; margin: 1.6em 0; position: relative; }
.promptbox .promptbox-label { font-family: 'Noto Sans', 'Liberation Sans', Helvetica, Arial, sans-serif;
  font-weight: 700; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase;
  color: #8a6d1f; margin-bottom: 0.7em; display: flex; justify-content: space-between; align-items: center; }
.promptbox pre { font-family: 'Courier New', Courier, monospace; font-size: 14.5px; line-height: 1.55;
  white-space: pre-wrap; margin: 0; color: #222; }
.copy-btn { font-family: 'Noto Sans', 'Liberation Sans', Helvetica, Arial, sans-serif;
  font-size: 12px; letter-spacing: 0.06em; background: #1f3a5f; color: #fff; border: none;
  border-radius: 4px; padding: 6px 14px; cursor: pointer; }
.copy-btn:hover { background: #2c4f7c; }
.copy-btn.copied { background: #2e7d32; }

/* ---- tips ---- */
.tips-head { font-family: 'Noto Sans', 'Liberation Sans', Helvetica, Arial, sans-serif;
  font-weight: 700; color: #1f3a5f; font-size: 18px; margin: 1.6em 0 0.6em; }

/* ---- lock box for non-members ---- */
.lockbox { background: #fdf8ec; border: 1px solid #e8c96a; border-radius: 8px;
  padding: 1.6em; margin: 2em 0; text-align: center; }
.lockbox h3 { color: #1f3a5f; margin-top: 0; }
.lockbox .button-primary { display: inline-block; margin: 0.4em 0.3em; }

/* ---- library cards ---- */
.routine-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 22px; margin: 1.6em 0; }
.routine-card { border: 1px solid #e3e5ea; border-radius: 10px; overflow: hidden;
  background: #fff; display: flex; flex-direction: column; transition: box-shadow .2s; }
.routine-card:hover { box-shadow: 0 8px 24px rgba(31,58,95,.12); }
.routine-card img { width: 100%; height: auto; display: block; aspect-ratio: 16/10; object-fit: cover; }
.routine-card-body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.routine-card .routine-kicker { margin-bottom: 6px; }
.routine-card h3 { margin: 0 0 8px; font-size: 19px; }
.routine-card h3 a { color: #1f3a5f; text-decoration: none; }
.routine-card p.excerpt { color: #555; font-size: 14.5px; flex: 1; }
.routine-card .lock-tag { display: inline-block; font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: #8a6d1f; background: #fdf3d8; border-radius: 999px;
  padding: 4px 12px; margin-top: 10px; align-self: flex-start; }
.routine-card .read-tag { display: inline-block; font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: #fff; background: #1f3a5f; border-radius: 999px;
  padding: 4px 12px; margin-top: 10px; align-self: flex-start; text-decoration: none; font-weight: 600; }
.routine-card .read-tag:hover { color: #fff; background: #2a4d78; }

/* ---- logged-in nav label ---- */
.menu-item-logged-in-as .logged-in-label { display: inline-block; padding: 10px 12px;
  color: #1f3a5f; font-weight: 600; white-space: nowrap; }

/* ---- click-to-reveal email (anti-scraper) ---- */
.email-reveal { background: none; border: none; padding: 0; color: #1f3a5f;
  text-decoration: underline; cursor: pointer; font: inherit; }
.revealed-email { display: inline-flex; align-items: center; gap: 8px; }
.revealed-email-addr { font-weight: 600; cursor: pointer; }
.revealed-email-addr:hover { text-decoration: underline; }
.copy-email-btn { background: #1f3a5f; color: #fff; border: none; border-radius: 999px;
  padding: 4px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.copy-email-btn:hover { background: #2a4d78; }

/* ---- pillar filter ---- */
.pillar-filter { margin: 1.2em 0; }
.pillar-filter a { display: inline-block; margin-right: 10px; padding: 7px 18px; border-radius: 999px;
  border: 1px solid #1f3a5f; color: #1f3a5f; text-decoration: none; font-size: 14px; }
.pillar-filter a.active, .pillar-filter a:hover { background: #1f3a5f; color: #fff; }

/* ---- club forms and notices ---- */
.club-form { max-width: 620px; }
.club-form p { margin-bottom: 1.1em; }
.club-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.club-form input[type="text"], .club-form input[type="email"], .club-form textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #c9ccd3; border-radius: 6px; font-size: 15px; }
.club-form small { color: #6a6a6a; }
.club-notice { border-radius: 8px; padding: 1em 1.2em; margin: 1.2em 0; max-width: 680px; }
.club-notice.success { background: #e8f5e9; border: 1px solid #a5d6a7; }
.club-notice.error { background: #fdecea; border: 1px solid #f5a9a0; }
.button-primary, .wp-block-button__link { background: #c8912a !important; border-color: #c8912a !important; color: #000 !important; }
.button-primary:hover, .wp-block-button__link:hover { background: #dcae4d !important; border-color: #dcae4d !important; color: #000 !important; }

/* ---- homepage hero ---- */
.club-hero { display: flex; gap: 36px; align-items: center; margin: 0.5em 0 2em; flex-wrap: wrap; }
.club-hero img.cover { width: 220px; border-radius: 8px; box-shadow: 0 14px 40px rgba(0,0,0,.25); }
.club-hero-text { flex: 1; min-width: 260px; }
.club-hero-text h1 { color: #1f3a5f; margin-top: 0; }
.cta-row { margin-top: 1.2em; }
.cta-row .button-primary, .cta-row a.ghost { display: inline-block; margin: 0.3em 0.6em 0.3em 0;
  padding: 12px 26px; border-radius: 6px; text-decoration: none; font-weight: 600; }
.cta-row a.ghost { border: 2px solid #1f3a5f; color: #1f3a5f; }
.steps3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; margin: 1.4em 0; }
.steps3 div { background: #f7f8fa; border-radius: 8px; padding: 16px 18px; }
.steps3 strong { color: #1f3a5f; }
.faq details { margin-bottom: 0.8em; background: #f7f8fa; border-radius: 8px; padding: 12px 16px; }
.faq summary { font-weight: 600; color: #1f3a5f; cursor: pointer; }
.disclaimer { font-size: 13px; color: #777; margin-top: 2.5em; border-top: 1px solid #e3e5ea; padding-top: 1em; }

/* Hide the text site title when the logo is present (logo already carries the name) */
.site-logo + .site-branding .main-title { display: none; }

/* Keep the header logo compact, top-left */
.site-header .site-logo img.header-image { max-width: 255px; height: auto; }

/* Google-indexable paywall: the members-only routine content is present in
   the HTML for Googlebot but must stay invisible to non-members. The
   `hidden` attribute handles this natively; this rule is a backstop in
   case any other stylesheet overrides it. */
.paywall-content[hidden] { display: none !important; }

.human-curated { background: #fef9e7; border-left: 3px solid #e8b64c; padding: 0.6em 0.9em; border-radius: 0 6px 6px 0; }
.human-curated.small { font-size: 0.85em; margin: 0.5em 0 1em; }

/* Article-of-the-week panel (free article framing for non-members) */
.aotw-panel { background: #f4f7fb; border: 1px solid #d4dee9; border-radius: 8px;
  padding: 1.4em 1.6em; margin: 2em 0; }
.aotw-panel h3 { color: #1f3a5f; margin-top: 0; }
.aotw-panel .aotw-locked { list-style: none; padding: 0; margin: 0 0 1em; }
.aotw-panel .aotw-locked li { padding: 0.4em 0; border-bottom: 1px solid #e2e8f0; }
.aotw-panel .aotw-locked li:last-child { border-bottom: none; }
.aotw-panel .lock-tag { display: inline-block; font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: #8a6d1b; background: #fdf8ec;
  border: 1px solid #e8c96a; border-radius: 4px; padding: 0.1em 0.5em; margin-left: 0.6em; }
