/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Child theme for GeneratePress
Author: Your Name
Template: generatepress
Version: 1.0
*/
/* GeneratePress Site CSS */ #site-navigation {
		border-top: 1px solid rgba(0,0,0,0.1);
		border-bottom: 1px solid rgba(0,0,0,0.1);
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.button:visited {
	border-width: 1px;
	border-style: solid;
	border-color: inherit;
}

.mc4wp-form-fields input[type="email"] {
	margin-bottom: 10px;
	width: 100%;
}

.entry-meta {
	font-weight: 300;
	font-size: 13px;
}

.main-navigation:not(.toggled) li.menu-social > a,
.main-navigation:not(.toggled) li.search-item > a{
	padding: 0 10px;
}

.post-image img {
	transition: opacity 500ms;
}

.post-image img:hover {
	opacity: 0.9;
}

.no-sidebar .entry-content {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
/* Remove 800px limitation ONLY on homepage */
.page-id-4912.no-sidebar .entry-content {
    max-width: 100%;
    margin: 0;
}

.page.no-sidebar .entry-title {
	text-align: center;
}

.top-bar .lsi-social-icons a,
.top-bar .lsi-social-icons a:focus,
.top-bar .lsi-social-icons a:active,
.top-bar .lsi-social-icons a:hover {
    background: transparent !important;
}

.top-bar .lsi-social-icons li {
	margin-bottom: 0 !important;
} /* End GeneratePress Site CSS */
/* Add this to your WordPress Customizer > Additional CSS, or your theme's stylesheet */

@keyframes found-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.3); /* Subtle glow */
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }
}

.found {
    background-color: #6ee7b7; /* Tailwind's green-300, or choose your color */
    color: #16a34a; /* Tailwind's green-700, or choose your color for text */
    font-weight: bold;
    animation: found-pulse 0.5s ease-out; /* Apply the animation */
}

/* Optional: Improve grid cell appearance */
.grid-cell {
    /* Existing styles */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px; /* Adjust as needed */
    height: 40px; /* Adjust as needed */
    border: 1px solid #e5e7eb; /* Subtle border for definition, Tailwind's gray-200 */
    cursor: pointer;
    user-select: none; /* Prevent text selection by browser */
    font-size: 1.25rem; /* Or 'text-xl' in Tailwind */
    font-family: 'Knewave', cursive; /* Ensure your custom font is applied if desired */
    color: #4b5563; /* Default letter color, Tailwind's gray-600 */
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.1s ease; /* Smooth transitions */
}

.grid-cell.selecting {
    background-color: #bfdbfe; /* Tailwind's blue-200 for selection */
    color: #1e40af; /* Tailwind's blue-800 */
}

.related-sidebar-wrapper {
    text-align: center; /* center everything inside */
}

.related-sidebar-wrapper .sidebar-related {
    display: flex !important;         /* force flex */
    flex-wrap: wrap !important;       /* wrap on small screens */
    justify-content: flex-start !important; /* align left if needed */
    gap: 20px !important;             /* horizontal + vertical gap */
}

.related-sidebar-wrapper .sidebar-related > * {
    flex: 0 0 calc(50% - 10px) !important; /* 2 columns */
    margin-bottom: 20px !important;
    box-sizing: border-box;
}

/* Hide thumbnails */
.related-sidebar-wrapper .sidebar-related img {
    display: none !important;
}

/* Mobile stacking */
@media (max-width: 768px) {
    .related-sidebar-wrapper .sidebar-related > * {
        flex: 0 0 100% !important;
        margin-bottom: 15px !important;
    }
}




/* Hide tags on all posts sitewide */
.tags-links {
    display: none !important;
}

/* 🔒 Hide author and date on all posts by default */
.byline, 
.posted-on {
    display: none !important;
}

/* ✅ Show author and date only on specific posts */
.postid-12345 .byline,
.postid-12345 .posted-on,
.postid-67890 .byline,
.postid-67890 .posted-on {
    display: inline !important;
}

.site-header {
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Hide post navigation links (Previous/Next post) */
.post-navigation {
    display: none !important;
}

/* Hide category links under posts */
.cat-links {
    display: none !important;
}

/* Set sidebar width for ads with spacing */



/* Disable flex layout on homepage */
@media (min-width: 1025px) {
    .page-id-4912 .site-content {
        display: block;
    }

    .page-id-4912 .content-area {
        max-width: 100%;
    }
}


/* Hide featured image for multiple page IDs */
.page-id-3848 .featured-image,
.page-id-3614 .featured-image,
.page-id-3572 .featured-image {
    display: none !important;
}

/* Default link style */
a.custom-post-link {
    color: #0404fb;        /* Normal color */
    font-size: 16px;        /* Default font size */
          
    text-decoration: none;  /* Optional: removes underline */
}

/* Hover style */
a.custom-post-link:hover {
    color: #189d01 !important; /* Hover color */
}

/* Hide featured images on "Word Search Puzzle Tips and Ideas" and its subcategories */
.category-word-search-puzzle-tips-and-ideas .post-image,
.category-solving-tips .post-image,
.category-benefits-and-brain-health .post-image,
.category-teaching-and-learning .post-image,
.category-creative-puzzle-ideas .post-image,
.category-for-seniors .post-image,
.category-general-word-search-tips .post-image,

.category-word-search-puzzle-tips-and-ideas .featured-image,


.category-word-search-puzzle-tips-and-ideas .post-thumbnail,
.category-solving-tips .post-thumbnail,
.category-benefits-and-brain-health .post-thumbnail,
.category-teaching-and-learning .post-thumbnail,
.category-creative-puzzle-ideas .post-thumbnail,
.category-for-seniors .post-thumbnail,
.category-general-word-search-tips .post-thumbnail {
  display: none !important;
}

/* MAIN GALLERY */
.puzzle-gallery {
  text-align: center;
  margin: 30px auto;
  max-width: 1200px;
}

/* RESPONSIVE GRID */
.puzzle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  padding: 10px;
}

/* CARD */
.puzzle-item {
  background: #ffffff;
  border-radius: 18px;
  padding: 0px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.10);
  transition: 0.2s;
  display: flex;
  flex-direction: column;
}
.puzzle-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.15);
}

/* TITLE */
.puzzle-title {
  font-size: 1.25em;
  font-weight: 600;
  color: #2563eb;
  margin-bottom: 10px;
}

/* PUZZLE IMAGE (always visible) */
.puzzle-img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 14px;
  display: block !important;
}

/* SOLUTION HIDDEN */
.solution-container {
  display: none;
  margin-bottom: 12px;
}
.solution-img {
  width: 100%;
  border-radius: 12px;
}

/* BEAUTIFUL BUTTONS */
.download-puzzle-btn,
.toggle-solution-btn,
.download-solution-btn {
  display: block;
  width: 100%;
  padding: 7px 12px;
  margin:2px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  color: white;

  background: linear-gradient(135deg, #92487A, #FFC50F);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);

  transition: 
    background 0.25s,
    transform 0.20s,
    box-shadow 0.20s;
}

/* HOVER EFFECT */
.download-puzzle-btn:hover,
.toggle-solution-btn:hover,
.download-solution-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
  background: linear-gradient(135deg, #B7A3E3, #1d4ed8);
}

/* DISABLED */
.no-solution {
  background: #9ca3af !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

/* FORCE CORRECT ORDER */
.download-puzzle-btn { order: 1 !important; }
.toggle-solution-btn { order: 2 !important; }
.download-solution-btn { order: 3 !important; }

/* Hidden items */
.hidden-puzzle {
  display: none;
}

/* LOAD MORE BUTTON */
.load-more-btn {
  margin: 25px auto;
  padding: 12px 20px;
  display: block;
  background: #2563eb;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
  transition: 0.2s;
}

.load-more-btn:hover {
  background: #1d4ed8;
  transform: translateY(-3px);
}

/* Pagination wrapper */
.pagination {
  text-align: center;
  margin: 28px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  align-items: center;
}

/* Page button common */
.page-btn {
  display: inline-flex;              /* ensures centering */
  align-items: center;               /* vertical center */
  justify-content: center;           /* horizontal center */
  min-width: 42px;                   /* ensures square-ish buttons */
  height: 36px;                      /* fixed height */
  padding: 0 10px;                   /* horizontal breathing room */
  background: #e6eefc;
  color: #0b1220;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(2,6,23,0.06);
  transition: background .18s, transform .12s;
}

/* Hover state */
.page-btn:hover {
  background: #2563eb;
  color: #fff;
  transform: translateY(-3px);
}

/* Active page */
.current-page {
  background: #2563eb !important;
  color: #fff !important;
}

/* Prev/Next slightly different */
.prev-btn, .next-btn {
  min-width: 64px;
  padding: 0 12px;
  background: #dbeafe;
}
.prev-btn:hover, .next-btn:hover { background: #1e40af; color: #fff; }

/* Responsive: smaller buttons on tiny screens */
@media (max-width:480px) {
  .page-btn { min-width: 34px; height: 32px; font-size: 0.9rem; }
  .prev-btn, .next-btn { min-width: 56px; }
}

/* -----------------------------------------
   RANGE TEXT (Showing X–Y of Z)
----------------------------------------- */
.wstp-controls-right {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  padding: 6px 0;
}

/* -----------------------------------------
   TOP CONTROL BAR (items-per-page + sort)
----------------------------------------- */
.wstp-controls-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 10px auto 18px;
  padding: 0 8px;
}

.wstp-controls-row label {
  font-weight: 700;
  margin-right: 6px;
}

#wstp-ipp,
#wstp-sort {
  padding: 6px 10px;
  border-radius: 8px;
  border: 2px solid #d1d5db;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
}

/* -----------------------------------------
   SLIDER PAGINATION (top + bottom)
----------------------------------------- */
.wstp-pagination-top,
.wstp-pagination-bottom {
  max-width: 1200px;
  margin: 20px auto;
  padding: 0 8px;
}

.wstp-slider-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

/* Page buttons reuse your existing .page-btn */
.wstp-slider-pagination .page-btn {
  /* uses existing .page-btn styles */
}

/* Prev / Next keep existing look */
.wstp-slider-pagination .prev-btn,
.wstp-slider-pagination .next-btn {
  background: #dbeafe;
}

.wstp-slider-pagination .prev-btn:hover,
.wstp-slider-pagination .next-btn:hover {
  background: #1e40af;
  color: #fff;
}

.wstp-slider-pagination .dots {
  font-size: 1.3rem;
  color: #6b7280;
  padding: 0 4px;
  user-select: none;
}

/* -----------------------------------------
   RESPONSIVE FIX FOR TOP CONTROLS
----------------------------------------- */
@media (max-width: 640px) {
  .wstp-controls-row {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }
}

	/* -----------------------------------------
   STICKY TOP PAGINATION BAR
----------------------------------------- */
.wstp-pagination-top {
  position: sticky;
  top: 0;                     /* sticks to top of screen */
  z-index: 9999;              /* always above puzzle cards */
  background: #ffffffee;      /* slight transparency */
  backdrop-filter: blur(6px); /* soft glass effect */
  padding: 10px 8px 12px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  border-bottom: 1px solid #e5e7eb;
}

/* Small screens fix */
@media (max-width:480px) {
  .wstp-pagination-top {
    padding: 8px 6px !important;
  }
}

/* Fix overlapping buttons for portrait Pinterest images */
.wstp-btn-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.wstp-btn-row a,
.wstp-btn-row button {
    width: 100%;
    text-align: center;
    white-space: nowrap;
}
/* =====================================
   WSTP TEST HOME – SAFE OVERRIDES ONLY
   Page ID: 4912 (home-2-3-3)
   ===================================== */

/* Hide GeneratePress header ONLY on test homepage */
/* .page-id-4912 .site-header { display: none; } */

/* Remove GP spacing */
.page-id-4912 .site-content {
    padding-top: 0;
    margin-top: 0;
}

/* -------------------------------------
   HERO
------------------------------------- */
.page-id-4912 .wstp-hero {
    margin-top: 0;
    padding: 90px 20px 80px;
    line-height: 1.6;
}

.wstp-hero h1 {
    max-width: 900px;
    margin: 0 auto 20px;
}

.wstp-hero p {
    max-width: 820px;
    margin: 0 auto 30px;
    opacity: 0.95;
}

/* -------------------------------------
   BUTTONS
------------------------------------- */
.wstp-btn {
    transition: all 0.2s ease;
}

.wstp-btn-primary {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.wstp-btn-primary:hover {
    transform: translateY(-1px);
}

/* -------------------------------------
   MAIN NAV (TEST ONLY)
------------------------------------- */
.page-id-4912 .wstp-main-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #FAB12F;
}

.wstp-main-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    justify-content: center;
    align-items: center;
    padding: 14px 12px;
    border-bottom: 1px solid #e5e5e5;
    font-size: 16px;
}

.wstp-main-nav a {
    text-decoration: none;
    color: #333;
    font-weight: 600;
    padding: 6px 4px;
}

.wstp-main-nav a:hover {
    color: #0a7f5a;
}

/* -------------------------------------
   SECTIONS (visual rhythm restored)
------------------------------------- */
.wstp-section {
    padding: 70px 20px;
    max-width: 1100px;
    margin: auto;
}

.wstp-section + .wstp-section {
    border-top: 8px solid #A53860;
}

/* -------------------------------------
   FEATURED CARD
------------------------------------- */
.wstp-card-holder {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.wstp-card {
    max-width: 420px;
    width: 100%;
}

/* -------------------------------------
   GRID CARDS
------------------------------------- */
.wstp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 22px;
}

.wstp-card {
    background: #fff;
    padding: 26px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wstp-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/* =====================================
   WSTP FOOTER STRIP – LAYOUT CONTROL
   ===================================== */

.page-id-4912 .wstp-footer-strip {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    
    background: #ffffff;
    color: #111;
    
    padding: 36px 20px;
    margin-top: 80px;
    
    font-size: 0.95rem;
    text-align: center;
}

/* -------------------------------------
   MOBILE
------------------------------------- */
@media (max-width: 768px) {

    .wstp-hero {
        padding: 60px 15px;
    }

    .wstp-hero h1 {
        font-size: 1.8rem;
    }

    .wstp-hero p {
        font-size: 1.05rem;
    }

    .wstp-btn {
        display: block;
        width: 100%;
        max-width: 320px;
        margin: 12px auto;
    }

    .wstp-main-nav {
        gap: 12px;
        font-size: 15px;
    }
}

/* Perfect For cards refinement */
.wstp-card small {
    display: block;
    margin-top: 6px;
    font-size: 0.9rem;
    opacity: 0.75;
}

/* Footer spacing fix */
.wstp-footer-strip {
    margin-top: 20px;
}

/* Perfect For – FIX stacked layout */
.wstp-card-sub {
    margin-top: 6px;
    font-size: 0.9rem;
    opacity: 0.75;
}

/* HERO background + centering fix */
.wstp-hero {
    background: linear-gradient(#3B1C32, #D91656, #CB9DF0);
    color: #fff;
    text-align: center;
}




/* Restore clean content width */
.page-id-4912 .wstp-section {
    max-width: 1100px;
    margin: 0 auto;
}

/* Add breathing space between sections */
.page-id-4912 .wstp-section + .wstp-section {
    margin-top: 70px;
}

/* Emphasize featured puzzle */
.page-id-4912 .wstp-card-holder .wstp-card {
    border: 10px solid #0a7f5a;
    box-shadow: 0 8px 28px rgba(0,0,0,0.12);
}

/* ---------- HERO BUTTONS ---------- */
.page-id-4912 .wstp-hero a {
    display: block;
    max-width: 340px;
    margin: 32px auto;
    padding: 32px 32px;
    font-size: 1.15rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    background-color: #FAB12F;
    color: #000000;
    white-space: nowrap;
    box-shadow: 0 8px 22px rgba(0,0,0,0.25);
}

/* Hover */
.page-id-4912 .wstp-hero a:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

/* ---------- FEATURED PUZZLE BUTTONS ---------- */
.page-id-4912 .wstp-card a {
    display: block;
    max-width: 260px;
    margin: 14px auto;
    padding: 16px 26px;
    font-size: 1.05rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    background-color: #DD0303;
    color: #ffffff;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}

/* Download Solution (SECOND button only) */
.page-id-4912 .wstp-card a:not(:first-of-type) {
    background-color: #57595B;
}

/* ---------- MOBILE ---------- */
@media (max-width: 768px) {

    .page-id-4912 .wstp-hero h1 {
        font-size: 1.75rem;
    }

    .page-id-4912 .wstp-hero p {
        font-size: 1.05rem;
    }

    .page-id-4912 .wstp-hero a,
    .page-id-4912 .wstp-card a {
        white-space: normal;
        max-width: 92%;
    }
}

/* =====================================
   WSTP GLOBAL HEADER REMOVAL – SAFE
   GeneratePress Free compatible
   ===================================== */

/* Remove visual header height but keep structure */
.site-header {
    padding: 0 !important;
    margin: 0 !important;
    border: 0;
}



/* Ensure navigation stays visible */
.main-navigation {
    margin-top: 0 !important;
}

/* =====================================
   WSTP STICKY TOP MENU BAR
   GeneratePress Free – Safe
   ===================================== */

/* STICKY FULL HEADER */
.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #ffffff;
}


/* Prevent content jump when sticking */
body {
    scroll-padding-top: 60px;
}

/* =====================================
   WSTP DAILY DOWNLOAD BUTTONS – FIXED
   Works everywhere
   ===================================== */

.wstp-daily-actions {
    display: flex;
    flex-direction: column;   /* 👈 stack vertically */
    align-items: center;
    gap: 16px;
    margin-top: 22px;
}
.wstp-daily-btn {
    min-width: 260px;
    text-align: center;
    padding: 16px 26px;
    font-size: 1.05rem;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
}

/* Mobile refinement */
@media (max-width: 768px) {
    .wstp-daily-actions {
        gap: 14px;
    }

    .wstp-daily-btn {
        width: 100%;
        max-width: 340px;
        white-space: normal;
    }
}

/* =====================================
   WSTP DAILY LETTER IMAGE PREVIEW
   ===================================== */

.wstp-daily-preview {
    display: flex;
    justify-content: center;
    margin: 26px 0 18px;
}

.wstp-daily-preview img {
    max-width: 360px;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.18);
}

/* =================================================
   WSTP Topics Explorer — BASE LAYOUT
   ================================================= */

:root {
    /* Single source of truth for narrow content width
       (search, active filter, results count) */
    --wstp-narrow-width: 1200px;
}

.wstp-topics-explorer {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.5rem 1rem 2.5rem;
    font-size: 1.05rem;
    line-height: 1.6;
}

/* Section spacing */
.wstp-topics-explorer section {
    margin-bottom: 2.2rem;
}

/* Section headings */
.wstp-topics-explorer h2 {
    font-size: 1.4rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
}

/* =================================================
   LIST RESETS
   ================================================= */

.wstp-topics-list,
.wstp-theme-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ================================
   Topic List (A–Z) — Max 3 Columns
   ================================ */

.wstp-topics-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem 1.6rem;
}

/* Tablet: 2 columns */
@media (max-width: 900px) {
    .wstp-topics-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile: 1 column */
@media (max-width: 520px) {
    .wstp-topics-list {
        grid-template-columns: 1fr;
    }
}



.wstp-topic-item a {
	 margin-top: 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0.8rem 1rem;
    background: #fafafa;
    border-radius: 10px;

    text-decoration: none;
    color: #3B0270;
    font-weight: 500;
}
.wstp-topic-item a:hover {
    text-decoration: underline;
}


/* ================================
   Explore by Theme — Max 3 Columns
   ================================ */

.wstp-theme-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem 1.4rem;
}

/* Tablet: 2 columns */
@media (max-width: 900px) {
    .wstp-theme-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile: 1 column */
@media (max-width: 520px) {
    .wstp-theme-list {
        grid-template-columns: 1fr;
    }
}


.wstp-theme-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0.8rem 1rem;
    background: #fafafa;
    border-radius: 10px;

    text-decoration: none;
    color: #3B0270;
    font-weight: 500;
}

.wstp-theme-item a:hover {
    background: #f0f2f2;
}

/* Active theme: highlight + underline */
.wstp-theme-item.is-active a {
    background: #FFD93D;
    font-weight: 600;

    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
}

/* =================================================
   SEARCH, ACTIVE FILTER, RESULTS COUNT
   (Exact width alignment)
   ================================================= */

.wstp-topics-search input[type="text"],
.wstp-active-filter,
.wstp-results-count {
    width: 100%;
    max-width: var(--wstp-narrow-width);
	background: #D895DA;
	font-weight: 600;

}

/* =================================================
   SEARCH INPUT
   ================================================= */

.wstp-topics-search input[type="text"] {
    padding: 0.55rem 0.65rem;
    font-size: 1rem;
    border-radius: 6px;
    border: 2px solid #ccc;
}

.wstp-topics-search input[type="text"]:focus {
    outline: none;
    border-color: #888;

}

/* =================================================
   ACTIVE FILTER INDICATOR
   ================================================= */

.wstp-active-filter {
    background: #f4f6f6;
    border-radius: 6px;
    padding: 0.6rem 0.8rem;
    margin: 1rem 0 1.2rem;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    font-size: 0.95rem;
	background: #F3FF90;
	 border: 2px solid #ccc;
	font-weight: 600;
}

.wstp-clear-filters {
    text-decoration: none;
    font-weight: 600;
    color: #D91656;
	
}

.wstp-clear-filters:hover {
    text-decoration: underline;
}

/* =================================================
   RESULTS COUNT
   ================================================= */

.wstp-results-count {
    margin: 1.2rem 0 1.6rem;
    font-size: 0.95rem;
    color: #000;
    text-align: center;
	   border-radius: 6px;
    border: 2px solid #ccc;
	  padding: 0.55rem 0.65rem;
}

/* =================================================
   MOBILE REFINEMENTS (SAFE)
   ================================================= */

@media (max-width: 480px) {

    .wstp-theme-list {
        grid-template-columns: 1fr;
    }

    .wstp-topic-item a {
        padding: 0.45rem 2;
    }

    .wstp-active-filter {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ================================
   WSTP – View All Topics Button
   ================================ */

.wstp-view-all {
    margin-top: 1rem;
}

.wstp-btn-view-all {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #3B0270;
    background: #f4f6f6;
    border: 2px solid #3B0270;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.wstp-btn-view-all:hover {
    background: #3B0270;
    color: #ffffff;
    text-decoration: none;
}
/* ================================
   Topics List Anchor Heading
   ================================ */

.wstp-topics-anchor {
    margin: 2.2rem 0 0.8rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: #222;
}

.wstp-hero-secondary {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}


/* Force identical button size */
.wstp-hero-secondary .wstp-btn {
    width: 480px;
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
}

/* Prevent difficulty line from wrapping */
.wstp-difficulty {
    white-space: nowrap;
}

/* Mobile refinement */
@media (max-width: 480px) {
    .wstp-hero-secondary .wstp-btn {
        width: 90%;
        height: 100px;
        font-size: 14px;
    }

    .wstp-difficulty {
        font-size: 14px;
    }
}

/* WSTP – Related Topics Heading Style */
.wstp-related-topics h3 {
    background: #facc15;
	  border: 1px solid #D50B8B;
    color: #3e0703;
    font-weight: 700;
	  margin-top: 50px;
	  margin-bottom: 30px;
    padding: 10px 16px;
    border-radius: 8px;
    display: inline-block;
	  font-size: 1.1rem;
}

/* WSTP – Generator Box Styling */
.wstp-generator-box {
    margin-top: 30px;
	  margin-bottom: 30px;
}

.wstp-generator-title {
    background: #facc15;
	  border: 1px solid #D50B8B;
    color: #3e0703;
    font-weight: 700;
	  margin-top: 30px;
	  margin-bottom: 30px;
    padding: 10px 16px;
    border-radius: 8px;
    display: inline-block;
	  font-size: 1.1rem;
}

.wstp-generator-text a {
    color: #1d4ed8;
    font-weight: 600;
    text-decoration: underline;
}

.wstp-generator-text a:hover {
    text-decoration: none;
}
.wstp-month-rotation {
	 
    background: linear-gradient(135deg, #f1f8ff, #e6f2ff);
    padding: 10px 10px;
    border-radius: 14px;
}

.wstp-month-rotation h2 {
	
    color: #0d3b66;
    text-align: center;
}
/* Space between Hero and Month Rotation */
.wstp-hero {
    margin-bottom: 20px;
}

.wstp-month-rotation + * {
    margin-top: 10px;
}

/* =====================================
   FULL WIDTH STICKY HEADER – CLEAN FIX
   ===================================== */

.site-header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Remove GeneratePress container limitation */
.site-header .inside-header {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0 24px; /* controls left/right spacing */
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Keep logo left */
.site-branding {
    margin: 0;
}

/* Keep menu right */
.main-navigation {
    margin: 0;
}

/* =====================================
   CLEAN HERO FULL WIDTH (FINAL)
   ===================================== */

.page-id-4912 .wstp-hero {
    width: 100%;
    margin: 0;
}
/* =====================================
   REMOVE RIGHT WHITE SPACE (FINAL FIX)
   ===================================== */

/* Remove default browser margin */
body {
    margin: 0;
    overflow-x: hidden;
}

/* Force GeneratePress wrappers full width */
#page,
.site,
.site-content,
.container,
.inside-site-info {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* =====================================
   FORCE TRUE EDGE-TO-EDGE HERO
   ===================================== */

.page-id-4912 .wstp-hero {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
}

/* Prevent any tiny background bleed */
html, body {
    background: #3B1C32;
}
