/*
Theme Name: Skibidi Games
Theme URI: https://skibidigames.com
Author: Jei Akito Kanazawa
Author URI: https://skibidigames.com
Description: Custom WordPress theme for Skibidi Games.
Version: 1.0
License: GPL-2.0+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: games guides, walkthroughs, tier lists, articles, news, trends, genz, genalpha
Text Domain: skibidigames
*/



.dark-mode {
  --brand-color-1: #FFD700;
  --brand-color-2: #C0C0C0;
  --brand-color-3: #F6E28F;
  --brand-color-4: #F9E08A;
  --brand-color-5: #FAF1D4;
  --brand-color-6: #E5E4E2;
  --brand-color-7: #FFF8DC;
}

header,
.site-header,
.main-header,
.sidebar,
.sidebar-right {
  --brand-color-1: #FFD700;
  --brand-color-2: #C0C0C0;
  --brand-color-3: #F6E28F;
  --brand-color-4: #F9E08A;
  --brand-color-5: #FAF1D4;
  --brand-color-6: #E5E4E2;
  --brand-color-7: #FFF8DC;
}

:root {
  --brand-color-1: turquoise;
  --brand-color-2: #d300ff;
  --brand-color-3: turquoise;
  --brand-color-4: #d300ff;
  --brand-color-5: turquoise;
  --brand-color-6: #d300ff;
  --brand-color-7: turquoise;
}

#db-editor-table .cell-inner.long-text {
  white-space: pre-wrap!important;
}

/* Make newlines show as real line breaks inside editable cells */
#db-editor-table .cell-inner {
  white-space: pre-wrap!important;
}

.sg-multiline.left-align {
    text-align: left !important;
}


/* Main floating icon button */
.floating-shop-btn {
  position: fixed;
  bottom: 20px;
  left: 80%;
  transform: translateX(-100%);
  display: inline-block;
  background: none;
  border: none;
  text-decoration: none;
  z-index: 9999999999999999;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* The T-shirt icon */
.floating-shop-btn img {
  width: 70px;
  height: auto;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));
  transition: transform 0.3s ease, filter 0.3s ease;
}

/* Hover effect */
.floating-shop-btn:hover img {
  transform: translateY(-3px) scale(1.05);
  filter: drop-shadow(0 6px 10px rgba(255,58,58,0.6));
}

/* Tiny “×” button */
.close-btn {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border: none;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  font-size: 14px;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9999999999999999999999999999999!important;
}

/* Show close button on hover */
.floating-shop-btn:hover .close-btn {
  opacity: 1;
  pointer-events: auto;
}

/* Hide button when closed */
.floating-shop-btn.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Responsive alignment for smaller screens */
@media (max-width: 1280px) {
  .floating-shop-btn {
    left: auto;
    right: 12px;
    transform: none;
  }
}

@media (max-width: 1280px) {
  .floating-shop-btn img {
    width: 45px;
  }
}

/* Always show the close button on mobile and make it easier to tap */
@media (max-width: 1280px) {
  .close-btn {
    opacity: 1;
    pointer-events: auto;
    top: -10px;   /* move slightly outward */
    right: -10px; /* give more tap space */
    width: 26px;
    height: 26px;
    font-size: 16px;
    background: rgba(0, 0, 0, 0.65);
  }
  .close-btn:active {
    opacity: 1;
    transform: scale(1.1);
  }
}

/* Lift the button higher on mobile to clear banners or footers */
@media (max-width: 1280px) {
  .floating-shop-btn {
    bottom: 105px; /* was 20px */
  }
.footer-links ul {
    margin-right: -50px !important;
}

.footer-links ul:last-child {
    margin-right: 0 !important;
}
}

@media (max-width: 1280px) {
  .floating-shop-btn {
    bottom: 105px!important; /* extra lift on small phones */
  }
}


.wp-block-table .has-fixed-layout td, .wp-block-table .has-fixed-layout th {
    overflow: hidden;
}

/* Apply ONLY when the table cell has NO image inside */
.wp-block-table .has-fixed-layout td:not(:has(img)),
.wp-block-table .has-fixed-layout th:not(:has(img)) {
    vertical-align: middle !important;
}

/* Cell has an <img> and no other element children */
.wp-block-table .has-fixed-layout td:has(> img):not(:has(> :not(img))),
.wp-block-table .has-fixed-layout th:has(> img):not(:has(> :not(img))) {
    vertical-align: middle !important;
}

.social-ting {
    margin-left: 7px;
          background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}

.social-links {
  display: inline-block;
  position: relative;
}

.logo-overlay {
  position: relative;
  display: inline-block;
  width: 16px;
  height: 16px;
}

.logo-overlay img,
.social-icon-overlay i.fab {
  display: block;
  transition: opacity 0.4s ease, transform 0.25s ease;
    height: 100% !important;
    width: 100% !important;
}

.social-icon-overlay i.fab {
  font-size: 100%!important;
  color: #fff !important;
}


/* ✨ Gradient overlay for the Sora logo (image mask) */
.logo-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  opacity: 0;
  transition: opacity 0.4s ease;

  /* ✅ Proper masking setup */
  -webkit-mask-image: url("https://skibidigames.com/wp-content/uploads/2025/11/intro-1759253714-removebg-preview-1.png");
  mask-image: url("https://skibidigames.com/wp-content/uploads/2025/11/intro-1759253714-removebg-preview-1.png");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  /* ✅ Needed for gradient visibility through transparency */
  -webkit-mask-composite: source-in;
  mask-composite: intersect;

  background-clip: border-box;
  pointer-events: none;
}

/* Hover effect for logo */
.logo-overlay:hover::after {
  opacity: 1;
}
.logo-overlay:hover img {
  opacity: 0.6;
  transform: scale(1.05);
}

/* === Gradient overlay for Font Awesome icons === */
.social-icon-overlay {
  position: relative;
  display: inline-block;
}

.social-icon-overlay i.fab {
  position: relative;
  font-size: 1.5em;
  color: #fc51c3;
  transition: all 0.4s ease;
}

/* === On hover: reveal gradient === */
.social-icon-overlay:hover i.fab {
  color: transparent;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: scale(1.15);
}

/* 📱 Mobile Styles for 404 Page */
@media screen and (max-width: 1280px) {
  .skibidi-404 {
    padding: 2rem 1rem;
  }

  .skibidi-404 h1 {
    font-size: 1.8rem;
    margin-top: 0!important;
    margin-bottom: 1rem;
  }

  .skibidi-404 p {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }

  .skibidi-404 .error-actions {
    flex-direction: column;
    gap: 0.75rem;
    margin: 1.5rem 0;
  }

  .skibidi-404 .error-actions .wp-block-button__link {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    padding: 10px 16px;
    font-size: 0.9rem;
  }

  .skibidi-404 .error-gif img {
    max-width: 200px;
    height: 200px;
    margin: 1.5rem auto;
  }

  .skibidi-404 .search-form {
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
  }

  .skibidi-404 .search-field {
    width: 100%;
    max-width: 280px;
    font-size: 0.9rem;
    padding: 8px 12px;
  }

  .skibidi-404 .search-submit {
    width: 100%;
    max-width: 280px;
    padding: 8px 12px;
    font-size: 0.9rem;
  }
}

/* 🪦 Extra Small Devices (≤480px) */
@media screen and (max-width: 480px) {
  .skibidi-404 h1 {
    font-size: 1.5rem;
    margin-top: 0!important;
  }

  .skibidi-404 .error-gif img {
    max-width: 150px;
    height: 150px;
  }

  .skibidi-404 .error-actions .wp-block-button__link {
    font-size: 0.8rem;
    padding: 8px 12px;
  }

  .skibidi-404 .search-field,
  .skibidi-404 .search-submit {
    font-size: 0.8rem;
    padding: 6px 10px;
  }
}


/* Dark mode 404 page */
.dark-mode .skibidi-404 {
  color: #fff;
}

.dark-mode .skibidi-404 h1 {
  color: var(--brand-color-1);
  text-shadow: 2px 2px var(--brand-color-2);
}

.dark-mode .skibidi-404 p {
  color: #ddd;
}

.dark-mode .skibidi-404 .wp-block-button__link {
  background: linear-gradient(90deg, var(--brand-color-2), var(--brand-color-1));
}

.dark-mode .skibidi-404 .search-field {
  border: 2px solid var(--brand-color-1);
  background: #222;
  color: #fff;
}

.dark-mode .skibidi-404 .search-submit {
  background: var(--brand-color-1);
  color: #000;
}

.dark-mode .skibidi-404 .search-submit:hover {
  background: var(--brand-color-2);
  color: #fff;
}


/* 404 Skibidi Style */
.skibidi-404 {
  padding: 4rem 2rem;
  text-align: center;
}

.skibidi-404 h1 {
  font-size: 2.5rem;
  margin-top: 5rem;
  margin-bottom: 1rem;
  color: var(--brand-color-2);
  text-shadow: 2px 2px var(--brand-color-1);
}

.skibidi-404 p {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.skibidi-404 .error-actions {
  margin: 2rem 0;
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.skibidi-404 .error-actions .wp-block-button__link {
  padding: 12px 24px;
  border-radius: 25px;
  font-weight: bold;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  color: white;
  border: none;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.skibidi-404 .error-actions .wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.skibidi-404 .error-gif img {
  max-width: 300px;
  margin: 2rem auto;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.skibidi-404 .search-form {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.skibidi-404 .search-field {
  padding: 10px 15px;
  border-radius: 25px;
  border: 2px solid var(--brand-color-2);
  width: 250px;
  max-width: 80%;
}

.skibidi-404 .search-submit {
  background: var(--brand-color-2);
  color: white;
  border: none;
  border-radius: 25px;
  padding: 10px 15px;
  cursor: pointer;
  font-weight: bold;
}

.skibidi-404 .search-submit:hover {
  background: var(--brand-color-1);
}


.related-articles .scrollable-wrapper {
  overflow-x: auto;
  position: relative;
}

.related-articles .scrollable-category-box {
  display: flex;
  gap: 16px;
  padding: 10px 0;
}

.related-articles .post-grid-item {
    height: 450px;
  flex: 0 0 280px; /* fixed card width */
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 12px;
  display: flex;
  flex-direction: column;
}

.related-articles .post-grid-item img.banner-image {
  width: 100%;
  height: 160px;
  border-radius: 8px;
  object-fit: cover;
  margin-bottom: 8px;
}

.related-articles .post-grid-item h3 {
  font-size: 1rem;
  margin: 0 0 8px;
}

.related-articles .post-excerpt {
  font-size: 0.9rem;
  margin-bottom: auto;
}

.related-articles .post-meta {
  font-size: 0.8rem;
  color: #666;
  margin-top: 8px;
}



.mid {
    vertical-align: middle!important;
}

.gradient-top-border {
  position: relative;
  padding-top: 1rem; /* space for the top border */
}

.gradient-top-border::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 4px; /* border thickness */
  width: 100%;
  background: linear-gradient(to right, var(--brand-color-1), var(--brand-color-2)); /* top border gradient */
  border-radius: 8px 8px 0 0; /* optional: rounded top corners */
}


.gradient-bottom-border {
  position: relative;
  padding-bottom: 1rem; /* space for the border */
}

.gradient-bottom-border::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px; /* border thickness */
  width: 100%;
  background: linear-gradient(to right, var(--brand-color-1), var(--brand-color-2)); /* bottom border gradient */
  border-radius: 0 0 8px 8px; /* optional: rounded bottom corners */
}


.gradient-right-border {
  position: relative;
  padding-right: 1rem; /* space for the fake border */
}

.gradient-right-border::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 4px; /* border width */
background: linear-gradient(to bottom,
  var(--brand-color-1) 0%,
  var(--brand-color-6) 25%,
  var(--brand-color-2) 50%,
  var(--brand-color-6) 75%,
  var(--brand-color-7) 100%
);
box-shadow:
  0 2px 6px rgba(255, 215, 0, 0.3),    /* soft gold glow downward */
  0 0 10px rgba(192, 192, 192, 0.25);  /* subtle silver halo */
}


.gradient-left-border {
  position: relative;
  padding-left: 1rem; /* space for the pseudo border */
}

.gradient-left-border::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px; /* border width */
background: linear-gradient(to bottom,
  var(--brand-color-1) 0%,
  var(--brand-color-6) 25%,
  var(--brand-color-2) 50%,
  var(--brand-color-6) 75%,
  var(--brand-color-7) 100%
);
box-shadow:
  0 2px 6px rgba(255, 215, 0, 0.3),    /* soft gold glow downward */
  0 0 10px rgba(192, 192, 192, 0.25);  /* subtle silver halo */

}

.gradient-border {
  border: 4px solid transparent;
  border-radius: 10px; /* optional */
  background-image: linear-gradient(white, white), 
                    linear-gradient(to right, var(--brand-color-1), var(--brand-color-2)); /* neon purple */
  background-origin: border-box;
  background-clip: content-box, border-box;
}

.emoji {
    width: 20px!important;
    height: 20px!important;
}

.skibidi-table-wrapper {
  width: 100%;
  overflow: hidden;
  max-height: 80vh;
  display: flex;
  flex-direction: column;

}



/* Search bar / filters */
.skibidi-controls {
  margin-bottom: 10px;
  flex: 0 0 auto;
}



/* Actual table */
.skibidi-table-wrapper table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* Sticky header */
.skibidi-table-wrapper thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}




/* Cells */
.skibidi-table-wrapper th,
.skibidi-table-wrapper td {
  padding: 8px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #ccc;
  word-break: break-word;
}




/* ===== Skibidi Network Styles ===== */

/* --- Featured Partner Styling --- */
.featured-partner {
  border: 2px dashed #ffaaff;
  background-color: #663399;
  padding: 1.5em;
  border-radius: 12px;
  margin-bottom: 2em;
  text-align: center;
}

.featured-partner p,
.featured-partner a {
  color: #fff;
  text-decoration: none;
  text-align: center;
}

.featured-partner img {
  margin-bottom: 1em;
  max-width: 200px;
}

/* --- Skibidi Network Grid Layout --- */
.skibidi-network-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 2em;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
}

@media screen and (min-width: 768px) {
  .skibidi-network-list {
    grid-template-columns: 1fr 1fr;
  }
}

/* --- Individual Item Container --- */
.skibidi-network-item {
  background: #696969;
  border: 1px solid #663399;
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.skibidi-network-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(255, 105, 180, 0.15);
  border-color: #663399;
  background-color: #5a5a5a;
}

/* --- Clickable Link Block --- */
.skibidi-network-link {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  padding: 1em;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  background-color: inherit;
  border-radius: 10px;
  font-weight: 600;
  transition: all 0.2s ease;
}



.skibidi-network-link div {
  color: #fff;
  text-align: center; /* or center if you want */
}




/* --- Logos --- */
.skibidi-network-link img {
  max-height: 50px;
  width: auto;
  flex-shrink: 0;
  margin-right: 0.5em;
}



.skibidi-controls {
  margin-bottom: 1em;
  padding: 1em;
  background: #f9f9f9;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  align-items: flex-start;
}

@media screen and (max-width: 1280px) {
.skibidi-controls label {
  font-size: 12px;
}
}

.skibidi-controls label {
  display: inline-flex;      /* inline so it flows in the flex‐row */
  flex-direction: row;       /* lay your text + control side by side */
  align-items: center;
  gap: 0.3em;
  flex: 0 1 auto;            /* default “shrink if needed” */
  max-width: none;           /* remove the 22.5vw cap */
}

.skibidi-controls .skibidi-search-label {
  flex: 1 1 100%; /* allow full width */
  width: 350px;
  max-width: 85vw;
  text-align: center;
}

.skibidi-controls input[type="text"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.skibidi-table-filter {
  width: 100%;
  max-width: 80vw!important;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skibidi-table-filter option {
  max-width: 80vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.skibidi-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

/* 🌙 Dark mode */

.dark-mode .skibidi-controls {
    background: #222;
    border: 1px solid #333;
  }

.dark-mode .skibidi-controls input[type="text"],
.dark-mode .skibidi-controls select {
    background: #333;
    color: #fff;
    border-color: #444;
  }

.dark-mode .skibidi-controls label {
    color: #eee;
  }




.dark-mode .post-grid-item {
    background: #333;
}

.wp-block-buttons.is-style-center {
  justify-content: center !important;
  text-align: center;
}




.scrollable-wrapper {
  position: relative;
  max-height: 2200px;
  overflow: hidden;
  margin-bottom: 2rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* This is the scrollable area */
.scrollable-category-box {
  max-height: 2200px;
  overflow-y: auto;
  padding-right: 10px;
}


/* Faded overlay to hint scroll */
.scroll-fade {
  position: absolute;
  bottom: 2.8%;
  left: 0;
  width: 100%;
  height: 2rem;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
  pointer-events: none; /* Allow clicks to pass through */
  z-index: 1;
}

/* Add arrows */
.scroll-fade::before,
.scroll-fade::after {
  content: '➔'; /* right arrow */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  color: rgba(0,0,0,0.4); /* subtle hint */
  animation: scroll-hint 1.5s infinite;
}

.scroll-fade::before {
  left: 10px;
  content: '➔'; /* change to '←' if you want left arrow */
  transform: translateY(-50%) rotate(180deg);
}

.scroll-fade::after {
  right: 10px;
}

@keyframes scroll-hint {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.8; }
}



/* Mobile Optimization */
@media screen and (max-width: 1280px) {
  .scrollable-category-box {
  max-height: 70vh;
    padding-right: 0;
  }
  
  .scrollable-wrapper {
  max-height: 2000px;
  border: none;
}


}




/* panel sits offscreen to the right */
.mobile-gag-panel, .mobile-news-panel, .mobile-sab-panel, .mobile-roblox-panel, .mobile-writers-panel {
  position: fixed;
  top: 0; right: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  box-shadow: -2px 0 8px rgba(0,0,0,0.2);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 1001;
  display: flex;
  flex-direction: column;
}

.dark-mode .mobile-gag-panel, .dark-mode .mobile-sab-panel, .dark-mode .mobile-roblox-panel, .dark-mode .mobile-news-panel {
    background: #333;
}

/* when open, slide into view */
.mobile-gag-panel.open, .mobile-sab-panel.open, .mobile-roblox-panel.open, .mobile-news-panel.open {
  transform: translateX(0);
}

/* header row */
.mobile-gag-header, .mobile-sab-header, .mobile-roblox-header, .mobile-news-header {
  position: relative;
  padding: 1rem;
  border-bottom: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
}
#gag-back, #sab-back, #roblox-back, #news-back {
  position: absolute;
  top: 1rem; left: 1rem;
  background: none;
  border: none;
  font-size: 0.75rem;
  cursor: pointer;
}

.dark-mode #gag-back, .dark-mode #sab-back, .dark-mode #roblox-back, .dark-mode #news-back {
    color: #fff;
}

/* search input (choose one of these) */
.mobile-gag-search input,
#gag-mobile-search, .mobile-sab-search input,
#sab-mobile-search, .mobile-roblox-search input,
#roblox-mobile-search, .mobile-news-search input, #news-mobile-search {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0.5rem;
  padding: 0.5rem;
  font-size: 0.9rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* grid of thumbnails */
.mobile-sab-grid, .mobile-gag-grid, .mobile-roblox-grid, .mobile-news-grid {
  flex: 1;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.2rem;
  padding: 0.25rem;
  margin-bottom: 20%;
}

.mobile-sab-item, .mobile-gag-item, .mobile-roblox-item, .mobile-news-item {
  text-decoration: none;
  color: inherit;
}

.mobile-thumb {
  position: relative;
  width: 100%;
  padding-bottom: 100%;  /* square */
  overflow: hidden;
  border-radius: 4px;
  background: #f5f5f5;
}
.mobile-thumb img {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: fill;
}
.mobile-thumb-title {
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 0.45rem;
  line-height: 1.2;
  padding: 2px 4px;
  text-align: center;

  /* allow wrapping */
  white-space: normal;
  word-break: break-word;

  /* remove single-line ellipsis rules */
  /* overflow: hidden;      keep if you want to clip */
  /* text-overflow: ellipsis;  remove this */
}






/* make the dropdown scroll when it gets too tall */
.category-nav .dropdown-menu {
  position: relative;
  max-height: 85vh;      /* or use e.g. 50vh */
  overflow-y: auto;
  /* keep horizontal layout intact */
  overflow-x: hidden;
  /* two‐layer background: first the scrolling fade, then the base color */
  background:
    /* 1) gradient that scrolls with the content */
    linear-gradient(
      to bottom,
      rgba(234,234,225,0),
      rgba(234,234,225,1) 75%
    ) no-repeat bottom / 100% 1.5rem local,
    /* 2) solid base behind it */
    #ddd;
}






/* make the search li span all 3 cols */
.category-nav .dropdown-menu .dropdown-search {
  grid-column: 1 / -1;
  padding:     2px;
}

/* style the input */
.dropdown-search-input {
  width:        100%;
  box-sizing:   border-box;
  padding:      4px 6px;
  font-size:    0.85rem;
  border:       1px solid #ccc;
  border-radius:4px;
}

/* 2) On hover: show as a 3-column grid */
.category-nav .dropdown:hover > .dropdown-menu {
  display: grid!important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 4px!important;        /* vertical spacing */
  column-gap: 4px!important;     /* horizontal spacing */
  padding: 4px!important;        /* inside the whole menu */
  max-width: none;    /* no cap */
  width: 400px;       /* fixed width */
}

/* 3) Tighter links */
.category-nav .dropdown-menu li a {
  font-size: 0.85rem;
  display: block;
}



/* base nav reset */
.category-nav .category-list,
.category-nav .dropdown-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-nav .category-list {
  display: flex;
  gap: 1rem;
}
.category-nav a {
  text-decoration: none;
  padding: 0.5rem;
  display: block;
}

/* dropdown positioning */
.category-nav .dropdown {
  position: relative;
}
.category-nav .dropdown > a {
  cursor: pointer;
}

/* hide submenu by default */
.category-nav .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%!important;      /* sit below parent */
  left: -142.5px!important;
  background: #ddd;  /* match your header bg */
  min-width: 200px;  /* adjust as needed */
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  z-index: 10;
}

.dark-mode .category-nav .dropdown-menu {
  background: #333;  /* match your header bg */
}



/* Hide dropdown menus by default */
.category-nav .dropdown-menu {
  display: none !important;
}



/* 2) Thumbnail container */
.thumb-container {
  position: relative;
  width: 120px;
  height: 60px;
  overflow: hidden;
  border-radius: 4px;
}
.thumb-container img {
  width: 100%;
  height: 60px;
  object-fit: fill;
  display: block;
}

/* 3) Overlaid title */
.thumb-title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.6);
  color: white;
  font-size: 0.65rem;
  line-height: 1.2;
  padding: 2px 4px;
  text-align: center;
  word-break: break-word;
}










/* Give every auto-placed ad a higher z-index than your sidebars */
.google-auto-placed,
.adsbygoogle[style*="position:fixed"] {
  z-index: 9999999 !important;
}

/* If your sidebars live in an overflow:hidden container, allow overflow: */
.your-sidebar-wrapper, .sidebar, .sidebar-right {
  overflow: visible !important;
}


.no-ads .google-auto-placed {
   display: none !important;
}


  .comment-image {
    width: 350px;
}

.contact-success {
  background: #e7fff1;
  border: 1px solid #00c37a;
  padding: 1em;
  margin-bottom: 1.5em;
  border-radius: 6px;
  color: #0a4d35;
  font-weight: bold;
}

/* Center and style the contact form */
.contact-form {
  max-width: 500px;
  margin: 2em auto;
  padding: 2em;
  background: #f9f9f9;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 1em;
}

/* Labels and inputs full width */
.contact-form label {
  font-weight: bold;
  margin-bottom: 0.25em;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.75em;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1em;
}

.contact-form button {
  background-color: #000;
  color: #fff;
  border: none;
  padding: 0.75em;
  font-size: 1em;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.contact-form button:hover {
  background-color: #333;
}

.dark-mode .contact-form p,
.dark-mode .contact-form label,
.dark-mode .contact-form input,
.dark-mode .contact-form textarea {
    color: #333;
}






.wp-block-embed,
.wp-block-embed iframe {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.wp-embed-responsive .wp-block-embed iframe,
.wp-block-embed iframe {
    
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.wp-block-embed-youtube iframe {
    width: 100%;
    height: 400px; /* Change this to your preferred height */
    margin-left: auto;
    margin-right: auto;
    display: block;
}


.wp-block-embed-instagram {
    justify-content: center;
}

.wp-block-embed-instagram .wp-block-embed__wrapper {
    width: 100%;
    max-width: 500px;
    height: 450px;
    display: flex;
    justify-content: center;
}

.wp-block-embed-instagram blockquote.instagram-media {
    margin: 0 auto !important;
}



.wp-block-embed-tiktok blockquote {
    max-height: 620px;
    overflow: auto;
}


.wp-block-embed figcaption {
    font-size: 0.8em;     /* Smaller text */
    color: #666;          /* Light gray */
    font-style: italic;   /* Italic text */
    text-align: center;   /* Optional: center align */
    justify-content: center;
    margin-bottom: 3rem;      /* Optional: spacing */
}


.dark-mode .rank-math-breadcrumb span {
    color: #fff;
}

.community-engagement {
  text-align: center;
  padding: 1.5rem;
}

.community-engagement a {
  text-decoration: none;
  margin: 0 10px;
  font-weight: 600;
  color: #b3d9ff;
}

.dark-mode .skibidi-social {
    filter: brightness(0) invert(1);
}

.community-engagement a:hover {
  color: var(--brand-color-1); /* Gold hover for flair */
}


.center {
  width: fit-content; /* or any fixed width like 600px */
  margin: 0 auto;
  text-align: center;
   
}

.featured-toc {
  list-style: none; /* removes default dots */
  padding-left: 1rem;
  margin-top: 10px;
}

.featured-toc li {
  position: relative;
  padding-left: 1.4em;
  margin-bottom: 6px;
}

.featured-toc li::before {
  content: "💀";
  position: absolute;
  left: 0;
  top: 0;
}


.dark-mode a, .dark-mode .rank-math-breadcrumb a {
    color: #b3d9ff;
}

.site-title {
    width: 35%;
    height: auto;
}



@media (max-width: 600px) {
  body.search .post-excerpt {
    display: none;
  }
}

/* Dark Mode - Footer Links */
.dark-mode .footer-links a {
    color: #fff;
    transition: color 0.3s ease;
}

.footer-links a:hover
.partner-links a:hover {
      background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}

/* Dark Mode - Social Icons */
.dark-mode .footer-socials a {
    color: #fff; /* Light icons */
    transition: opacity 0.3s ease;
}

.dark-mode .footer-socials a:hover {
    opacity: 0.7; /* Subtle fade on hover */
}

/* Footer General Styling */
footer {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    text-align: center;
    background-color: #d2cccc1c; /* Soft pink background */
    padding-bottom: 100px; /* Adjusted for spacing */
    color: #333;
    font-size: 1rem;
}

/* Footer Container */
.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    gap: 30px;
}

/* Footer Links Section - Now in columns */
.footer-links {
    display: grid;
    grid-template-columns: repeat(3, auto); /* 3 columns */
    gap: 15px 40px; /* Space between links */
    text-align: center;
    justify-content: center;
}

/* Remove Bullet Points */
.footer-links ul {
    display: inline-block!important;
    list-style: none;
    padding: 0 50px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

/* Footer Link Styling */
.footer-links a {
    color: black;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    margin: 5px;
}



/* Social Icons Section */
.footer-socials {
    margin-top: 15px;
}

.footer-socials a {
    color: black;
    margin: 0 12px;
    display: inline-block;
    transition: opacity 0.3s ease;
}

.footer-socials a:hover {
    opacity: 0.7;
}

/* Responsive Footer for Mobile */
@media screen and (max-width: 1280px) {
    
    .site-title {
    width: 65%;
}
    
    footer p {
        font-size: 0.7rem;
    }
    
    .footer-links {
        font-size: 0.5rem;
        gap: 0!important;
    }

    .footer-socials a {
        font-size: 1.1rem;
        margin: 0 8px;
                    padding-bottom: 5px; /* Adjusted for spacing */

    }
}




.related-articles .row {
    display: flex;
    flex-wrap: wrap; /* Allows wrapping */
    gap: 20px;
    margin-bottom: 20px;
    justify-content: center;
    
}

/* Make sure each article shares the available space */
.related-articles .article-summary {
    flex: 1;
    min-width: 44%; /* Prevents full width on single articles */
    max-width: 44%; /* Keeps them in half-width */
}

/* Specifically target last-child when it's alone */
.related-articles .row .article-summary:last-child:nth-child(odd) {
    max-width: 44%; /* Force it to take up only half */
}


.related-articles h3 {
    overflow: hidden;
}

.related-articles h3::before {
    left: 0.15%;
}

@media screen and (min-width: 1600px) {
.related-articles h3::before {
    left: 0.15%;
}
}

@media screen and (max-width: 1280px) {
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    font-size: 1em !important;
}
.related-articles h3::before {
  left: 0.15%;
}
.related-articles h3 {
    height: 100%; /* Set a fixed height */
    overflow: hidden; /* Hide overflowing text */
    display: block; /* Ensure it behaves properly */
    line-height: 1.5em; /* Ensure proper spacing */
    white-space: normal; /* Allow normal line wrapping */
    font-size: 1rem;
}




}

.ep-embed-content-wraper.insta-grid {
    display: flex;
    justify-content: center;
    max-width: 100%;
}

.ep-embed-content-wraper.insta-grid .ose-embedpress-responsive,
.ep-embed-content-wraper.insta-grid .ose-tiktok {
    width: 100% !important;
    max-width: 400px !important; /* adjust as preferred */
    height: 450px !important;
}

.ep-embed-content-wraper.insta-grid iframe {
    width: 100% !important;
    height: 450px !important;
}

.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.author-container {
    display: flex;
    gap: 3px;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    flex-wrap: wrap;
}

.author-left h2 {
    justify-content: center;
    text-align: center;
    width: 170%;
}

/* Left side (66% width) */
.author-left {
    width: 75%;
}

.author-about {
    background: #f9f9f9;
    padding: 2px;
    border-radius: 10px;
}

.author-about h2 {
   text-align: center;
   margin-left: -35%;
    
}

.author-image {
    width: 100%;
    max-width: 400px;
    border-radius: 10px;
    display: block;
    margin-top: 10px;
}

/* Latest Articles */
.author-posts {
    margin-top: 20px;
}

.post-item {
    padding: 15px;
    border: 1px solid #ddd;
    background-color: #fff;
    margin-bottom: 15px;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Right side (33% width) */
.author-right {
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

.author-social ul {
    list-style: none;
    padding: 2px;
    margin-top: 50px;
}

.author-social li {
    margin-bottom: 10px;
}

.author-social a {
    text-decoration: none;
    font-weight: bold;
    color: #ff66b2;
}

.author-photo img {
    width: 100%;
    max-width: 300px;
    border-radius: 10px;
    margin-top: 20px;
}


/* Mobile Styles */
@media (max-width: 600px) {
  .post-grid {
    grid-template-columns: repeat(3, 1fr); /* Keep two columns */
    gap: 10px; /* Reduce gap for mobile */
  }
  
  .author-about h2 {
   text-align: center;
   margin-left: auto;
    
}

.author-left h2 {
  width: 100%;
}
  
  .author-container {
gap: 10%;
}
  
  /* Right side (33% width) */
.author-right {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 10px;
}

.author-left {
    width: 100%;
}

.author-left .wp-block-button {
    width: 170%;
}

  .post-grid-item {
    padding: 10px; /* smaller padding */
  }
  
  .post-grid-item .banner-image {
  height: auto!important;
}
  

  .post-grid-item h2 {
    font-size: 0.8rem!important; /* smaller headings */
    height: 60px!important;
  }

  .post-grid-item .post-excerpt {
    font-size: 0.5rem!important; /* smaller excerpts */
  }

  .post-grid-item .read-more {
    font-size: 0.6rem!important; /* smaller link text */
  }
}

.post-grid-item {
  background: #fff;
  border: 1px solid #ddd;
  padding: 15px;
  border-radius: 8px;
  display: flex;          /* Make it a flex container */
  flex-direction: column; /* Vertical stacking */
}

.post-grid-item .banner-image {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.post-grid-item h2 {
  font-size: 1.2rem;
  margin: 10px 0;
  height: 65px;
 overflow: hidden;
    display: block;
    white-space: normal; /* Allows wrapping */
    word-break: break-word; /* Ensures long words break properly */
    position: relative;
}

.post-grid-item .post-excerpt {
  font-size: 0.9rem;
  margin-bottom: 10px;
  flex-grow: 1;  /* Expand to fill available space */
}

.post-grid-item .read-more {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  color: #0066ff;
  margin-top: auto; /* Push to bottom */
}

.dark-mode .post-grid-item .read-more {
  color: #b3d9ff;
}


/* === LIGHT MODE === */
.wp-block-button__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 24px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  z-index: 1;
  overflow: hidden;
  transition: all 0.3s ease;

  /* Gradient text */
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 30px;
  padding: 3px;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index: -1;
}

.wp-block-button__link:hover {
  -webkit-text-fill-color: #fff;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(211, 0, 255, 0.5),
              0 0 12px rgba(64, 224, 208, 0.5);
}

/* === DARK MODE === */
.dark-mode .wp-block-button__link {
  /* Gradient text */
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dark-mode .wp-block-button__link::before {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
}

.dark-mode .wp-block-button__link:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  color: #000; /* inverse: dark text on gradient fill */
  -webkit-text-fill-color: #000;
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(211, 0, 255, 0.5),
              0 0 12px rgba(64, 224, 208, 0.5);
}


/* === Skibidi-style Load More buttons (inherits wp-block-button look) === */
button#more,
button.load-more-btn {
  all: unset; /* Reset default button styles */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-weight: bold;
  padding: 10px 24px;
  border-radius: 30px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

button#more::before,
button.load-more-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 30px;
  padding: 3px;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index: -1;
}

button#more:hover,
button.load-more-btn:hover {
  -webkit-text-fill-color: #fff;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(211, 0, 255, 0.5),
              0 0 12px rgba(64, 224, 208, 0.5);
}

.dark-mode button#more,
.dark-mode button.load-more-btn {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dark-mode button#more::before,
.dark-mode button.load-more-btn::before {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
}

.dark-mode button#more:hover,
.dark-mode button.load-more-btn:hover {
  -webkit-text-fill-color: #000;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  transform: scale(1.05);
  box-shadow: 0 0 12px rgba(211, 0, 255, 0.5),
              0 0 12px rgba(64, 224, 208, 0.5);
}



.wp-block-button {
  display: flex;            /* Enables flexible alignment */
  justify-content: center;  /* Centers horizontally */
  margin: 1.5em 0;          /* Optional spacing above/below the button */
}

.wp-element-button {
  display: flex;            /* Enables flexible alignment */
  justify-content: center;  /* Centers horizontally */
  margin: 1.5em 0;          /* Optional spacing above/below the button */
}



/* Center the button in your article content */
.entry-content .wp-block-button {
  text-align: center;
  margin: 1.5em 0;
  justify-content: center;
}


.my-custom-table,
.has-fixed-layout {
  /* Make it responsive to parent width */
  width: 100%;
    max-height: 75vh;
    max-width: 85vw;
  /* Combine borders for a cleaner look (removes double borders) */
  border-collapse: collapse;
  /* Optional margin to give space above/below the table */
  margin: 1em auto;
  /* Optional, if you want text to wrap inside narrow screens: */
  table-layout: fixed;
  overflow-x: auto;
}

/* Cells (both <th> and <td>) */
.my-custom-table th,
.my-custom-table td {
  /* Border around cells */
  border: 1px solid #ccc;
  /* Padding for breathing room */
  padding: 8px;
  /* Center align text by default */
  text-align: center;
  /* Ensures multi-line content or images don’t overflow */
}

.my-custom-table td,
.has-fixed-layout td {
  vertical-align: top;
}

/* Table header cells */
.my-custom-table th,
.has-fixed-layout th {
  /* Light gray background */
  background-color: #f2f2f2;
  /* Bold text for headers */
  font-weight: bold;
  vertical-align: middle;
}

/* Optional: Zebra striping for rows (makes it easier to read across a row) */
.my-custom-table tr:nth-child(even) {
  background-color: #fafafa;
}

/* Make images responsive if they appear inside table cells */
.my-custom-table img,
.has-fixed-layout img {
  width: 100px;
  height: 100px;
  display: block; /* Ensures no extra white space below the image in some browsers */
  margin: 0 auto; /* Centers the image inside the table cell */
}







.wp-block-image img {
  width: 600px!important;
  height: 400px!important;
  object-fit: fill; /* or 'contain', depending on desired cropping behavior */
  display: block;
  margin: 1em auto; /* centers the image if you like */
  border-radius: 12px;
}

/* Rank Math places breadcrumbs in a container with class 'rank-math-breadcrumb' by default. */
.rank-math-breadcrumb {
  display: inline-block;  /* or block, up to you */
  margin-top: 40px;
  padding: 0 2px;
  font-size: 0.9rem; /* Slightly smaller text */
  font-family: "Merriweather", serif; /* Example funky font */
}

/* Style each breadcrumb link */
.rank-math-breadcrumb a {
  text-decoration: none;
  color: #0066ff;
  font-weight: bold;
  transition: color 0.3s ease;
  font-size: 0.9rem; /* Slightly smaller text */

}

/* Hover effect on links */
.rank-math-breadcrumb a:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
  text-decoration: underline;
}

/* The default separator (like a slash or ‘>’) 
   often appears as .separator or .separator-class.
   Adjust if needed by checking your HTML output. */
.rank-math-breadcrumb .separator {
  margin: 0 4px;
  color: black; /* Pink separator */
  font-weight: normal;
}

/* Fine-tune text color for non-link elements (the "current" crumb) */
.rank-math-breadcrumb span {
  color: #555;
  font-weight: normal;
  font-size: 0.9rem; /* Slightly smaller text */

}

@media screen and (max-width: 1280px) {
    /* Cells (both <th> and <td>) */
.my-custom-table th,
.my-custom-table td,
.my-custom-table a,
.has-fixed-layout th,
.has-fixed-layout td,
.has-fixed-layout a
{
  font-size: 0.6rem!important;
}
.rank-math-breadcrumb span, .rank-math-breadcrumb a {
  font-size: 0.6rem; /* Slightly smaller text */
}

.rank-math-breadcrumb {
  margin-bottom: -10%;
  margin-top: 20px;
}

.wp-block-image img {
  width: 330px!important;
  height: 165px!important;

}

/* Make images responsive if they appear inside table cells */
.my-custom-table img,
.has-fixed-layout img {
  width: 100%;
  max-width: 100px;
  height: 80px;
  max-height: 80px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.has-fixed-layout img {
 margin-bottom: -20px!important;
}

.my-custom-table img {
 margin-bottom: 0!important;
        max-width: 100% !important;
}

}
/* ===========================
   GLOBAL STYLES & RESET
=========================== */
body {
    font-family: "DM Serif Display", serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--background-color, #f9f5f7);
    color: var(--text-color, #000000);
    transition: background-color 0.3s ease, color 0.3s ease;
    max-width: 100%;
    overflow-x: hidden;
}

      .comment-form input[type="text"],
    .comment-form input[type="email"],
    .comment-form input[type="url"] {
        width: 100%;
    }
    
    .comment-form textarea {
    margin-left: 0 !important;
    width: 100% !important;
    min-height: 150px; /* Adjust height */
    resize: vertical; /* Allow resizing */
    padding: 10px; /* Better spacing */
    font-size: 16px; /* Readable text */
    border: 1px solid #ccc; /* Optional styling */
    border-radius: 5px; /* Rounded corners */
}


#search-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #fff;
    padding: 8px 12px;
    transition: color 0.3s ease-in-out;
}

#search-toggle:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}

#menu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    color: #fff;
    padding: 6px 12px;
    transition: color 0.3s ease-in-out;
    top: 1%;
    right: 5%;
}

#menu-toggle:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}


#dark-mode-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    color: #fff;
    padding: 8px 12px;
    transition: color 0.3s ease-in-out;
}

#dark-mode-toggle:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}

.dark-mode #dark-mode-toggle, .dark-mode #search-toggle {
    color: #fff;
}

.dark-mode #dark-mode-toggle:hover, .dark-mode #search-toggle:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}


body.admin-bar header {
    top: 28px; /* Admin bar is typically 32px tall on desktop */
}

#search-container {
  padding: 10px;
  background: #f7f7f7;
  border: 1px solid #ddd;
  position: absolute; /* or fixed, based on your design */
  top: 113px; /* Adjust based on your header height */
  z-index: 998;
  margin-right: 0.72%;
}

@media screen and (min-width: 1600px) {
#search-container {
  width: 63.5%!important;
  margin-right: 0.5%;
}
}

@media (min-width: 1281px) and (max-width: 1599px) {
#search-container {
  width: 62.1%!important;
}
}

/* Hide Scrollbars */
html, body {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE, Edge */
    min-height: 100vh; /* Ensures page is at least full height */
}

@media screen and (min-width: 1280px) {


html {
  scroll-padding-top: 110px!important;
}

h2, h3, .wp-block-heading {
  scroll-margin-top: 110px!important;
}

}

html::-webkit-scrollbar, body::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
}

/* Hide/Show PC & Mobile Elements */
.pc-only {
    display: flex;  /* Default for PC */
}

.mobile-only {
    display: none; /* Default hidden on PC */
}

.mobile-menu {
    display: none; /* Default hidden on PC */
}

/* ===========================
   ANNOUNCEMENT BAR & SCROLLING TEXT
=========================== */
.announcement-bar {
    width: 76.9%; /* Match main-content width */
    color: #fff;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: flex;
    padding: 3px 0;
    height: 2rem;
}

.announcement-track p {
    font-size: 0.9rem;
}

.announcement-track {
    display: flex;
    padding: 5px 0;
    align-items: center; /* Ensures text stays vertically centered */
    white-space: nowrap;
    padding-left: 50vw; /* Reduce padding so it starts earlier */
    animation: scrollText 48s linear infinite; /* Adjust timing */
}



/* Dark Mode Announcement */
.dark-mode .announcement-bar {
    color: #fff;
}

.dark-mode .author-about {
    background-color: #121212;
}

.dark-mode .announcement-track p {
    color: #fff;
}

.dark-mode .announcement-track a {
    color: #b3d9ff;
}

/* ===========================
   TYPOGRAPHY & TEXT STYLES
=========================== */
h1 {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    color: #333;
    font-family: "Merriweather";
    margin-top: 1%;
}

h2 {
    font-size: 2rem;
    font-weight: bold;
    margin: 30px 0 15px;
    color: #222;
    padding-bottom: 5px;
    font-family: "Merriweather";
    margin-top: 5%;

}

h2.wp-block-heading {
  position: relative;
  padding-bottom: 20px; /* Adjust based on your emoji size */
}

h2.wp-block-heading::before {
  content: "👑";
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 18px; /* Adjust emoji size */
}

h2.wp-block-heading::after {
  content: "";
  position: absolute;
  bottom: 3.5px; /* Vertically aligns line with emoji */
  width: calc(100% - 18.5px);
  height: 2px;
background: linear-gradient(to right,
  #B8860B,  /* Dark Gold */
  var(--brand-color-1),  /* Gold */
  var(--brand-color-7),  /* Light Gold/Cornsilk */
  #FFFFFF   /* White */
);



}

/* To extend the line fully across the container or page: */
h2.wp-block-heading::after {
  left: 18px; /* Keep room for emoji */
  right: 0;
  width: unset; /* Allows it to fully stretch */
}



.featured-item:hover h2 {
        border-bottom: 2px solid #f9f5f7;
}

.featured-item:hover h3 {
        border-bottom: 2px solid #f9f5f7;
}

.sidebar h4, .sidebar-right h4 {
    text-align: center;
    align-items: center;
    font-size: 0.8rem;
    font-family: "Merriweather";

}

h3 {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 20px 0 10px;
  color: #222;
  font-family: "Merriweather";
  position: relative;
  padding-left: 25px; /* make space for the rose */
  margin-top: 5%;
  border: none; /* remove old border */
}

/* Add Rose emoji at the top */
h3::before {
  content: "💀";
  position: absolute;
  left: 0.15%;
  font-size: 14px; /* adjust size */
}

@media screen and (min-width: 1600px) {
h3::before {
  left: 0.15%;
}
}

@media screen and (max-width: 600px) {
h3::before {
  left: 0.15%;
}
}



h4 {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 50px 0 10px;
    color: #222;
    font-family: "Merriweather";
    padding-left: 10px; /* Adjust spacing as needed */
    margin-bottom: 3%;
}

p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333;
    margin-bottom: 15px;
    font-family: "Montserrat", serif;

}

/* Post Metadata */
.post-meta .post-author {
    font-weight: bold;
    color: #333;
    font-size: 0.7rem;
}

.post-meta .post-date {
    font-style: italic;
    color: #555;
}

.post-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.7rem;
    color: #666;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

/* Author Info */
.author-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.author-info p {
    font-size: 0.7rem!important;
}

.author-info img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-bottom: 5px;
}

/* Author Name */
.post-author {
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

.post-author:hover {
    text-decoration: underline;
}

/* Follow & Share Actions */
.meta-actions {
    display: flex;
    gap: 15px;
    align-items: center;
}

.follow-us, .social-share {
    display: flex;
    gap: 8px;
}

.follow-us {
    margin-left: 2px;
    margin-bottom: -10px;
}

/* Social Share positioning */
.social-share {
    display: flex;
    gap: 8px;
    margin-bottom: -50px;
    left: 75%;
    position: sticky;
}

/* Icon Styles */
.follow-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-decoration: none;
    color: #fff;
    font-size: 7px;
    transition: 0.3s;
}

.share-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-decoration: none;
    color: #fff;
    font-size: 11px;
    transition: 0.3s;
}

/* Follow Us Icons */
.follow-icon.tiktok { background-color: #000; }
.follow-icon.tiktok:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

.follow-icon.youtube { background-color: #FF0000; }
.follow-icon.youtube:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

.follow-icon.instagram { background-color: #E1306C; }
.follow-icon.instagram:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

.follow-icon.twitter { background-color: #000; }
.follow-icon.twitter:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

/* Social Share Icons */
.social-share {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 85px;
}

/* Share Buttons */
.share-icon.facebook { background-color: #1877f2; }
.share-icon.facebook:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

.share-icon.twitter { background-color: #000; }
.share-icon.twitter:hover {  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

.share-icon.linkedin { background-color: #0077b5; }
.share-icon.linkedin:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

.share-icon.pinterest { background-color: #E60023; }
.share-icon.pinterest:hover {   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */ }

/* Dark Mode Adjustments */
.dark-mode .post-meta { color: #bbb; }

.dark-mode .post-author {
    color: #fff;
}

.dark-mode .follow-us span, 
.dark-mode .social-share span {
    color: #ddd;
}

/* Comments Section */


/* Make the comment box less wide */
.comment-form textarea {
    width: 80%;
    max-width: 600px;
    margin: 0 auto;
    display: block;
}

/* Center the entire button in the form */
.comment-form {
  text-align: center; /* center inline-blocks inside */
}

.comment-form input[type="submit"],
.comment-form button {
  display: inline-block; /* respect text-align */
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  color: #fff;
  border: none;
  padding: 10px 15px;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s ease-in-out;
}



.comment-form input[type="submit"]:hover,
.comment-form button:hover {
    background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  transform: scale(1.08); /* keep centering + grow */
}

input[type="submit"],
button[type="submit"] {
   background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  color: #fff;
    font-weight: bold;
    border: none;
    padding: 3px 15px;
    border-radius: 5px; /* Rounded corners */
    cursor: pointer;
    transition: background 0.3s ease-in-out;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
    background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2)) !important;
  transform: scale(1.08); /* keep centering + grow */
}

/* Make all comment links pink (inside comment content) */
.comment-content a {
    color: #0066ff;
    text-decoration: none;
    font-weight: bold;
}

.comment-content a:hover {
    text-decoration: underline;
}

/* Center the comment section */
.comment-respond {
    width: 80%;
    max-width: 700px;
    margin: 0 auto;
}

/* Make the commenter's name pink */
.comment-author .fn,
.comment-author a {
    color: #0066ff !important;
    font-weight: bold;
    text-decoration: none;
}

.comment-author .fn:hover,
.comment-author a:hover {
    text-decoration: underline;
}

/* ✅ Make the comment date and time pink */
.comment-metadata a,
.comment-metadata time {
    color: #0066ff !important;
    font-size: 0.9rem;
    text-decoration: none;
    font-weight: bold;
}

.comment-metadata a:hover,
.comment-metadata time:hover {
    text-decoration: underline;
}

/* ✅ Make the Reply button pink */
.comment-reply-link,
.comment-reply-link a {
    color: #0066ff !important;
    font-weight: bold;
    text-decoration: none;
    font-size: 0.9rem;
}

.comment-reply-link:hover,
.comment-reply-link a:hover {
    text-decoration: underline;
}

/* ✅ Fix for buttons that might be inside comment actions */
.comment-reply a,
.comment-reply {
    color: #0066ff !important;
    font-weight: bold;
    text-decoration: none;
    font-size: 0.9rem;
}

.comment-reply a:hover,
.comment-reply:hover {
    text-decoration: underline;
}

/* ✅ Force comment date & time to be pink */
.comment-metadata a,
.comment-metadata time,
.comment-metadata span,
.comment-metadata {
    color: #0066ff !important;
    font-size: 0.9rem;
    font-weight: bold;
    text-decoration: none;
}

/* ✅ Ensure hover effect */
.comment-metadata a:hover,
.comment-metadata time:hover,
.comment-metadata span:hover {
    text-decoration: underline;
}




.comments-area {
    margin-top: 40px;
    padding: 20px;
    background-color: #f8f8f8;
    border-radius: 8px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-body {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.comment-author img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-right: 10px;
}

.comment-meta {
    font-size: 0.9rem;
    color: #555;
}

.comment-reply-link {
    color: #1877f2;
    font-weight: bold;
}

/* Comments Button */
.comments-button {
    display: inline-block;
    background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
    padding: 3px 10px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.6rem;
    margin-top: 20px;
    transition: 0.3s;
    order: 0; /* Moves it above the share icons */
    margin-bottom: -30px;
    position: sticky;
}

.comments-button:hover {
    background-color: #0066ff;
    color: #fff;
}



.dark-mode .comments-button:hover {
    background-color: #0066ff;
}

/* ===========================
   LAYOUT STYLES
=========================== */
.container {
    display: flex;
    flex: 1;
    width: 69%;
    margin: 0 auto;
}


/* Hide main-content scrollbars */
.main-content::-webkit-scrollbar {
    display: none;
}

.toc-section {
  border: 1px solid transparent; /* transparent border */
  border-radius: 10px;

  background-image: linear-gradient(white, white), 
                    linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  background-origin: border-box;
  background-clip: content-box, border-box;
  background-color: #fff; /* button background */
    margin-top: -10px;
    height: 220px!important;
    min-height: 220px!important;
    min-width: 100%!important;
    overflow-y: auto; /* Enables vertical scroll if content overflows */
}
    .toc-section h4 {
    color: #333;
    margin-top: 0;
}
@media screen and (max-width: 1600px) {
.toc-section h4 {
    color: #333;
    margin-top: 0;
    font-size: 60%;
}
}

.dark-mode .toc-section h4 {
    color: #333;
}


.toc-section li  {
    font-size: 0.4rem;
    line-height: 0.5rem;
    font-weight: bold;
}

@media screen and (min-width: 1600px) {


.toc-section li  {
    font-size: 0.5rem;
    line-height: 1.68rem;
}

.toc-section {
    height: 250px;
}

.toc-section a {
  display: inline-block;
  padding: 1px 3px;

  text-decoration: none;
  transition: background-color 0.3s ease;
  min-width: 280px!important;
  max-width: 280px!important;
  width: 280px!important;
}
}


.toc-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;         /* horizontal layout; remove if vertical is desired */
  flex-wrap: wrap;       /* wrap to next line if needed */
  gap: 1px;             /* spacing between buttons */

}


.toc-section a {
  display: inline-block;
  padding: 1px 3px;
      background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
  text-decoration: none;
  transition: background-color 0.3s ease;
  min-width: 128px;
  max-width: 128px;

}

/* Hover and focus states for better interactivity */
.toc-section a:hover,
.toc-section a:focus {
     -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
      background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
      color: #fff!important;
}

@media screen and (min-width: 800px) {
.banner-image {
    height: 440px!important;
}
}

.banner-image {
    width: 100%;
    display: block;
    margin: 0 auto;
    margin-top: 1.1%;
    object-fit: fill;
}



.author-banner {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    margin-top: 1.1%;
    object-fit: fill;
}

@media screen and (min-width: 1600px) {
.author-banner {
    height: auto;
}
}


/* ===========================
   HEADER & NAVIGATION
=========================== */
header {
    background-color: #333;
    color: #fff;
    padding: 3px 5px;
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 110px;
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.site-title {
  display: inline-block;
  transition: transform 0.3s ease;
  position: absolute;
  top: 1%;
  left: 50%;
  transform: translateX(-50%);
}

.site-title:hover {
  transform: translateX(-50%) scale(1.08); /* keep centering + grow */
  animation: pulseGlow 1.2s ease-in-out infinite alternate;
}

.skibidi-swiper:hover {
  transform: scale(1.035); /* keep centering + grow */
  animation: pulseGlow 1.2s ease-in-out infinite alternate;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
}



@keyframes pulseGlow {
  from {
    filter: drop-shadow(0 0 6px var(--brand-color-1)) 
            drop-shadow(0 0 12px var(--brand-color-2));
  }
  to {
    filter: drop-shadow(0 0 12px var(--brand-color-1)) 
            drop-shadow(0 0 24px var(--brand-color-2));
  }
}



.site-title img {
    height: 65px;
}

.main-content {
    padding-top: 60px; /* Push content below the fixed header */
}



/* Fixed Sidebars */
.sidebar {
    padding: 10px;
    position: fixed;
    top: 100.5px!important;
    left: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: #ddd;
}

.sidebar-right {
    padding: 10px;
    position: fixed;
    top: 100.5px!important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: #ddd;
    right: 0;
}

.sidebar, .sidebar-right {
    width: 16.5%;
    height: 100%!important;
    z-index: 1200;
}





/* ===========================
   MOBILE MENU
=========================== */

.dark-mode .mobile-menu-content a {
    color: #fff;
}

.dark-mode .mobile-menu-content button {
    color: #fff;
}

.dark-mode .mobile-menu {
    background: black;
}

.dark-mode .mobile-menu-content {
    background: black;
}

.dark-mode  .mobile-menu.active .mobile-menu-content {
    background: black;
}

.mobile-menu {
    display: none;
    text-align: center;
    padding: 10px;
    background: #e0e0e0;
}

.mobile-menu button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
}

.mobile-menu-content {
    display: none;
    padding: 10px;
    background: #f8f9fa;
}

.mobile-menu.active .mobile-menu-content {
    display: block;
}



/* ===========================
   MOBILE ENHANCEMENTS (max-width: 480px)
=========================== */
@media screen and (max-width: 480px) {
  header {
    height: 75px; /* allow the header to grow */
    padding: 0 0;
  }
  


  /* Arrange title and icons in one row */
  .header-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  
  /* Remove absolute positioning from icons on mobile */
  .header-icons {
    top: 5%;
    right: 1%;
  }
  

  

    .header-icons button {
        font-size: 18px;
    }

.category-nav {
    visibility: hidden;
}

    

    .category-nav a {
        visibility: hidden;
    }
    
    .nav-menu li a {
        visibility: hidden;
    }
    .mobile-menu button {
        font-size: 24px;
    }
    .comments-button {
        margin-left: 120px!important;
        margin-top: 30px!important;
        margin-bottom: -15px!important;
        font-size: 0.55rem!important;
        padding: 3px 0!important;
        order: 1!important;
    }
    
    
      .mobile-menu:not(.active) {
    background: transparent;
    padding: 0;
  }
  



    
}

/* ===========================
   DARK MODE STYLES
=========================== */
.dark-mode {
    --background-color: #121212;
    --text-color: #ffffff;
}

.dark-mode .main-content {
    background-color: #121212;
}

.dark-mode .supplementary-content {
    background-color: #121212;
}

.dark-mode footer {
    background-color: #333;
    color: #fff;
}

.dark-mode header {
    background-color: #333;
    color: #fff;
}

.dark-mode .category-nav {
    background-color: #333;
    color: #fff;
}

.dark-mode footer p {
    color: #fff;
}

.dark-mode .sidebar, 
.dark-mode .sidebar-right {
    background-color: #333;
    color: #fff;
}

/* Dark Mode - Change pink sections to brown/grey */
.dark-mode .featured-item,
.dark-mode .community-engagement,
.dark-mode .spotlight-feature {
    background: #333;
    color: #fff;
}

.dark-mode .featured-item:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
}

.dark-mode .featured-article h4 {
  color: #fff;
    
}

.dark-mode .my-custom-table th,
.dark-mode .has-fixed-layout th {
    color: #fff;
    background-color: #696969;
}



.dark-mode .my-custom-table td {
    background-color: #404040;
}


.dark-mode .spotlight-feature img {
    border: 2px solid #2b1d16;
}

.dark-mode .featured-item a,
.dark-mode .community-engagement p,
.dark-mode .spotlight-feature p {
    color: #fff;
}



.dark-mode .description {
    color: #bbbbbb;
}

.dark-mode .category-nav a {
    color: #fff;
}




.dark-mode h1, 
.dark-mode h2, 
.dark-mode h3,
.dark-mode h4, 
.dark-mode p {
    color: #fff;
}

.dark-mode .post-meta {
    color: #bbb;
}

.dark-mode .post-meta .post-author {
    color: #fff;
}

.dark-mode .post-meta .post-date {
    color: #ccc;
}



.dark-mode .main-content::-webkit-scrollbar {
    display: none;
}

/* ===========================
   FOOTER & BOTTOM AD BANNER
=========================== */
body:not(.home) .homepage-container,
body:not(.home) .container {
    padding-bottom: 40px;
}

.responsive-ad {
  height: 100px !important;
  width: 100% !important;
}

.fixed-ad {
  height: 50px !important;
  width: 100% !important;
}

@media screen and (min-width: 1600px) {
  .responsive-ad {
    height: 155px !important;
  }
    .fixed-ad {
    height: 75px !important;
  }
}



.promo-space {

  width: 100%;
}

.promo-placeholder {
  width: 100%;
  height: 100px;             /* same height as your SVG */
  background-color: #ddd;    /* mimic the 'rect' background */
  border: 2px solid #ccc;    /* mimic the outer #ccc background */
  display: flex;             /* center text horizontally/vertically */
  align-items: center;
  justify-content: center;
  color: #888;               /* text color */
  font-size: 20px;           /* font size from your SVG text */
  font-family: sans-serif;   /* or your preferred font */
  margin-bottom: -5px;
}

.on-page-promo-space {
  width: 81.5%;
  margin-left: 9%;
  margin-bottom: 25px;
  margin-top: 25px;
}

.on-page-promo-placeholder {
  width: 100%;
  height: 350px;             /* same height as your SVG */
  background-color: #ddd;    /* mimic the 'rect' background */
  border: 2px solid #ccc;    /* mimic the outer #ccc background */
  display: flex;             /* center text horizontally/vertically */
  align-items: center;
  justify-content: center;
  color: #888;               /* text color */
  font-size: 20px;           /* font size from your SVG text */
  font-family: sans-serif;   /* or your preferred font */
  margin-bottom: 5px;
}

.featured-article h4 { 
    margin-top: -2px;
}

@media screen and (min-width: 1600px) {
.on-page-promo-space {
  width: 56.25%;
  margin-left: 21.75%;
}

.on-page-promo-placeholder {
  width: 100%;
  height: 400px;             /* same height as your SVG */
  background-color: #ddd;    /* mimic the 'rect' background */
  border: 2px solid #ccc;    /* mimic the outer #ccc background */
  display: flex;             /* center text horizontally/vertically */
  align-items: center;
  justify-content: center;
  color: #888;               /* text color */
  font-size: 20px;           /* font size from your SVG text */
  font-family: sans-serif;   /* or your preferred font */
  margin-bottom: 5px;
}

.promo-placeholder {
  height: 155px;
}

.featured-article-image {
  height: 100%!important;
}



.featured-article h5 {
    max-height: 50px!important;
    font-size: 11.11px!important;
}


/* Image Styling */
.featured-article-image img {
    width: 80%;
    height: 100%;
    object-fit: fill; /* Crops and scales image to fit */
    border-radius: 6px;
}
.featured-article a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
}


.featured-article {
    margin-bottom: 20px;
    background-image: linear-gradient(#1a1a1a, #1a1a1a), linear-gradient(90deg, turquoise, #d300ff);
    background-color: #121212;    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: 100%;
    max-width: 300px; /* Adjust based on your layout */
    height: 220px!important;
    min-height: 220px!important;
}

.featured-article a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: -10px;
}

/* Featured Image Container */
.featured-article-image {
    width: 80%;
    height: 40%; /* Keep consistent height */
    overflow: hidden;
    border-radius: 6px;
    background-color: #ddd; /* Default placeholder */
    margin-top: -10px;
}

/* Image Styling */
.featured-article-image img {
    width: 90%;
    height: 50%;
    object-fit: fill; /* Crops and scales image to fit */
    border-radius: 6px;
}

/* Placeholder for No Image */
.placeholder-featured {
    width: 100%;
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #888;
}


.featured-article h4,
.featured-article h5,
.featured-article a,
.featured-article-link {
    text-decoration: none;
}

/* Featured Article Title */
.featured-article h5 {
    font-size: 9.5px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
      background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for Firefox (works with a flag) */
}

.featured-article h5:hover,
.featured-article:hover {
      -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
      background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
      color: #fff!important;
}






#bottom-ad-banner {
    position: fixed;
    bottom: 0;
    width: 75.6%;
    margin: 0 11.5%;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85px;
    z-index: 999999;
}

#home-bottom-ad-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    margin: 0 auto;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85px;
    z-index: 999999;
}

@media screen and (max-width: 480px) {
#bottom-ad-banner {
    bottom: 0;
    width: 100%;
    margin: 0 auto;
}
#home-bottom-ad-banner {
    bottom: 0;
}

.on-page-promo-space {
  width: 75%;
  margin-left: 12.5%;
}

.on-page-promo-placeholder {
  height: 200px;             /* same height as your SVG */
}
}



@media screen and (min-width: 1600px) {
.bottom-ad-content {
    max-width: 1800px!important;
}
#bottom-ad-banner {
    width: 100%;
    margin: 0 auto;
    height: 80px;
}
}

@media screen and (max-width: 480px) {

.bottom-ad-content {
    max-width: 480px;
}

.close-ad {

    top: 15px!important;

}

}

/* Hide your manual sticky banner on mobile (≤ 480px) so Auto Ads take over */
@media screen and (max-width: 480px) {
  #bottom-ad-banner,
  #home-bottom-ad-banner {
    display: none !important;
  }
}


.bottom-ad-content img {
    width: 100%;
    height: auto;
    max-height: 90px;
}

.close-ad {
    position: absolute;
    top: 10px;
    right: 30px;
    background: #fff;
    color: #000;
    font-size: 16px;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: bold;
}

.dark-mode #bottom-ad-banner {
    background: rgba(20, 20, 20, 0.9);
}

/* ===========================
   HOMEPAGE LAYOUT
=========================== */
.homepage-container {
    width: 90%;
    margin: 0 auto;
}

.main-navigation {
    margin-bottom: 20px;
}

.nav-menu {
    display: flex;
    justify-content: space-around;
    list-style: none;
    padding: 0;
}

.nav-menu li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.featured-sections {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    margin: 75px 0 40px;
}

.featured-item {

    min-height: 350px;
}

@media screen and (min-width: 1600px) {
.featured-item {
    
    height: 350px!important;
}
}

.featured-item {
    flex: 1;
    min-width: 220px;
    max-width: 300px;
    background: #e0e0d1;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    transition: background 0.3s;
    height: 330px;
    border: 2px solid;
  border-image: linear-gradient(to right, var(--brand-color-1), var(--brand-color-2)) 1;

}


.featured-image {
    width: auto;
    max-width: 230px; /* Adjust this as needed */
    height: 115px;
    overflow: hidden;
    justify-content: center;
    display: flex; /* Enables flexbox */
    margin: 0 auto; /* Ensures it's centered in block layout */
}

.featured-image img {
    width: 100%;
    height: 115px;
    display: block;
    object-fit: fill;
    border-radius: 8px; /* Optional: Rounded corners */
}


.featured-item:hover {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
}

.featured-item a {
    text-decoration: none;
    color: #333;
}

.featured-item h2 {
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.featured-item h3 {
    margin-bottom: 10px;
    font-size: 1.2rem;
    margin-top: 20px;
    padding-bottom: 4px;
    padding-left: 0;
}

.featured-item h3::before{
  content:none !important;   /* stop generating the pseudo‑element */
}
@media screen and (max-width: 1280px) {
    .comments-button {
        visibility: hidden!important;
    }
}
@media screen and (max-width: 1280px) {
  .featured-sections {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px; /* Reduced gap for mobile */
  }

    


  
.featured-item {
    padding: 10px;
    font-size: 0.9rem;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    height: 260px;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden;
}


.featured-item p {
    flex-grow: 1;
    overflow: hidden;
    word-break: break-word;
    margin: 0;
}

  
  /* Optionally, adjust headings inside grid items */
  .featured-item h2 {
    font-size: 1rem; /* Smaller heading on mobile */
    margin-bottom: 5px;
  }
  
    /* Optionally, adjust headings inside grid items */
  .featured-item h3 {
    font-size: 1em!important; /* Smaller heading on mobile */
    margin-bottom: 5px;
  }
  
  .featured-item p {
    font-size: 0.8rem!important;
  }
  
  .featured-image {
    width: auto;
    max-width: 150px; /* Adjust this as needed */
    height: 75px;
    overflow: hidden;
}

.featured-image img {
    width: 100%;
    height: 75px;
    display: block;
    object-fit: fill;
    border-radius: 8px; /* Optional: Rounded corners */
}

  
}

.article-summary {
    margin-bottom: 20px;
}

.article-summary p {
    height: 150px; /* Adjust as needed */
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin-bottom: -5%;
}

.homepage-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}


.latest-articles {
    width: 66%;
    grid-template-columns: repeat(4, 1fr); /* Creates two equal columns */
    gap: 20px; /* Adjust spacing between items */
}

.article-summary img:not(.avatar) {
    height: 200px;
}

.latest-articles h2 {
    grid-column: span 4; /* Make the first H2 span both columns */
    text-align: center;
    justify-self: center; /* Centers horizontally in the grid */
    font-size: 1.5rem;
    margin-bottom: 5%;
    width: 100%; /* Ensures full width */
}




.latest-articles h3::before {
    left: 0.15%;
}

@media screen and (min-width: 1600px) {
.latest-articles h3::before {
    left: 0.15%;
}
}

@media screen and (max-width: 1280px) {

.latest-articles h3::before {
  left: 0.15%;
}

.article-summary img:not(.avatar) {
    height: 100px;
}

.latest-articles {
    grid-template-columns: repeat(2, 1fr); /* Creates two equal columns */
    gap: 5px; /* Adjust spacing between items */
}
.latest-articles h2 {
    grid-column: span 2; /* Make the first H2 span both columns */
}

.article-summary p {
    height: 75px; /* Adjust as needed */
    margin-bottom: -5%;
}

}


.homepage-sidebar {
    width: 33%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 160px;
}

.community-engagement, .spotlight-feature {
    background: #e0e0d1;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
}

.community-engagement h2, .spotlight-feature h2 {
    font-size: 1rem;
}

.community-engagement p, .spotlight-feature p {
    font-size: 0.85rem;
    text-align: left;
}

.spotlight-feature img {
    width: 100%;
    border-radius: 8px;
}

@media screen and (max-width: 1280px) {
    .homepage-content {
        flex-direction: column;
    }
    .latest-articles, .homepage-sidebar {
        width: 100%;
    }
    .ting {
    width: 100%!important;
}
}

.ting {
    width: 40%;
}



.article-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.post-grid-item {
  background: #fff;
  border: 2px solid transparent;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  border-image: linear-gradient(to right, var(--brand-color-1), var(--brand-color-2)) 1!important;
}

.post-grid-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
  border-image: linear-gradient(to right, var(--brand-color-1), var(--brand-color-2)) 1;
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2))!important;
}

.post-grid-item .banner-image {
  width: 100%;
  height: auto!important;
  object-fit: cover;
  border-radius: 6px 6px 0 0;
}

.post-grid-item h2 {
  font-size: 1rem;
  margin: 10px;
}

.post-excerpt {
  font-size: 0.85rem;
  margin: 0 10px 10px;
  color: #555;
}

.post-meta {
  font-size: 0.75rem;
  color: #777;
  padding: 8px 10px;
  margin-top: auto;
}

.pagination {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: 30px;
}

.pagination a,
.pagination span,
.page-numbers a {
  display: inline-block;
  margin: 0 4px;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.85rem;

  /* Gradient text */
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* Firefox */
  color: transparent; /* fallback */
}

.pagination .current {
  background: linear-gradient(90deg, var(--brand-color-1), var(--brand-color-2));
  color: #fff; /* white text */
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  font-weight: bold;
}


/* 🌐 Mobile Styles (≤768px) */
@media screen and (max-width: 1280px) {
  /* Grid → 2 across */
  .article-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  /* Card container */
  .post-grid-item {
    padding: 8px;
    border-radius: 8px;
  }

  /* Thumbnail images */
  .post-grid-item .banner-image {
    height: 120px;   /* shorter for mobile */
    object-fit: cover;
  }

  /* Titles */
  .post-grid-item h2 {
    font-size: 0.9rem;
    margin: 6px 0;
    line-height: 1.3;
    overflow: hidden;
  }

  /* Excerpt */
  .post-excerpt {
    font-size: 0.75rem;
    line-height: 1.4;
    height: 3em; /* approx 2 lines */
    overflow: hidden;
    margin-bottom: 6px;
  }

  /* Meta (author + date) */
  .post-meta {
    font-size: 0.7rem;
    padding: 4px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .post-meta img.avatar {
    width: 16px;
    height: 16px;
  }

  /* Pagination */
  .pagination {
    margin-top: 20px;
  }

  .pagination a,
  .pagination span {
    font-size: 0.75rem;
    padding: 4px 8px;
    margin: 0 2px;
  }
}

/* 📱 Extra Small Phones (≤400px) */
@media screen and (max-width: 400px) {
  .article-cards {
    grid-template-columns: 1fr; /* fallback to 1 per row */
  }

  .post-grid-item .banner-image {
    height: 100px;
  }

  .post-grid-item h2 {
    font-size: 0.8rem;
  }

  .post-excerpt {
    font-size: 0.7rem;
  }
}

/* =============================
   Related Merch – overlayed titles, horizontal scroll
   ============================= */
.related-merch {
  margin-top: 2rem;
}

.related-merch .scrollable-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}

.related-merch .scrollable-category-box {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  padding: 10px 0;
}

/* Product cards */
.related-merch .post-grid-item {
  flex: 0 0 220px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform .25s ease;
}

.related-merch .post-grid-item:hover {
  transform: translateY(-4px);
}

/* Anchor as overlay container */
.related-merch .post-grid-item a {
  position: relative;
  display: block;
}

/* Thumbnail image */
.related-merch .banner-image {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}

/* Overlayed title */
.related-merch .post-grid-item a h3 {
  position: absolute;
  bottom: 0;
  left: 8px;
  right: 8px;
  margin: 0;
  padding: 4px 6px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.2;
  border-radius: 4px;
  text-align: center;
  z-index: 2;
}

/* Price below image */
.related-merch .price {
  margin: 6px 8px 10px;
  font-weight: bold;
  color: #10b981;
  font-size: 0.85rem;
  text-align: center;
}

  .related-merch .post-grid-item a h3::before {
    content: "💀";
    position: absolute;
    left: .15%;
    font-size: 0.55rem;
}

/* 🔧 Balanced mobile sizing for Related Merch cards */
@media (max-width: 1280px) {
  .related-merch .post-grid-item {
    flex: 0 0 200px;
  }

  .related-merch .banner-image {
    height: 185px;
  }

  .related-merch .post-grid-item a h3 {
        font-size: .6rem !important;
        line-height: 2.1;
        padding: 2px 4px;
        bottom: 0;
  }

  .related-merch .price {
    font-size: 0.78rem;
    margin: 4px 6px 8px;
  }
  .related-merch .post-grid-item a h3::before {
    content: "💀"!important;
    position: absolute!important;
    left: .15%!important;
    font-size: 0.45rem!important;
}
}

@media (max-width: 480px) {
  .related-merch .post-grid-item {
    flex: 0 0 180px;
  }

  .related-merch .banner-image {
    height: 175px;
  }

  .related-merch .post-grid-item a h3 {
        font-size: .6rem !important;
        line-height: 2.1;
        padding: 2px 4px;
        bottom: 0;
  }

  .related-merch .price {
    font-size: 0.72rem;
  }
}

/* Dark mode parity */
.dark-mode .related-merch .post-grid-item {
  background: #333;
}
.dark-mode .related-merch .price {
  color: #4ade80;
}
.dark-mode .related-merch .post-grid-item a h3 {
  background: rgba(0, 0, 0, 0.65);
}

/* Scroll area for the table only */
.skibidigames-table-wrapper .skibidigames-table-scroll {
  max-height: 600px;       /* adjust to taste */
  overflow-y: auto;
  position: relative;
}

/* Sticky header inside that scroll area */
.skibidigames-table-wrapper thead {
  position: sticky;
  top: -2px;                  
  z-index: 5;
}


/* ================= GLOBAL SCROLLBAR ================= */

/* Chrome / Edge / Safari */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background: #4a4a4a;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #5a5a5a;
}

/* Firefox support */
* {
    scrollbar-width: thin;
    scrollbar-color: darkgoldenrod rgba(0, 0, 0, 0.3);
}

.tool-card{
  border-radius:16px;
  background:linear-gradient(180deg, rgba(10,10,10,0.88), rgba(0,0,0,0.88));
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
}
.tool-card h3{ margin-top:0; }
.tool-card h3, .tool-card p {
color: #fff!important;
}

/* Default — Desktop */
.tp-badge-img {
    margin-top: -10px;
    width: 7.5%;
    height: auto;
    vertical-align: middle;
}

/* Mobile (max-width 768px) */
@media (max-width: 1280px) {
    .tp-badge-img {
        width: 30%;
    }
    .partner-links, .partner-links p, .partner-links a {
    font-size: 0.48rem!important;
}
}

.icon {
  width: 16px;
  height: 16px;
  display: block;
  color: currentColor;
}

#menu-toggle .icon {
  width: 20px;
  height: 20px;
}

/* Sun / Moon toggle */
.icon-moon {
  display: none;
}

.dark-mode .icon-sun {
  display: none;
}

.dark-mode .icon-moon {
  display: block;
}

.share-svg {
  width: 16px;
  height: 16px;
  display: inline-block;
  color: currentColor;
}

.banner-image {
  aspect-ratio: 16 / 9;
}

.social-icon .icon {
  width: 1.2em;
  height: 1.2em;
  display: inline-block;
  vertical-align: middle;
  color: unset;
  will-change: transform;
}

.social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #666;
}

.social-icon:hover {
  opacity: 0.85;
}

/* Brand */
.social-icon.youtube { color: #ff0000; }
.social-icon.instagram { color: #e1306c; }
.social-icon.tiktok { color: #000; }
.dark-mode .social-icon.tiktok { color: #fff; }
.social-icon.x { color: #000; }
.dark-mode .social-icon.x { color: #fff; }

.footer-socials .social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #888; /* fallback */
}

.footer-socials .social-icon .icon {
  width: 1.2em;
  height: 1.2em;
  display: inline-block;
  vertical-align: middle;
  color: unset;
  will-change: transform;
}

/* Brand colors */
.footer-socials .youtube   { color: #ff0000; }
.footer-socials .instagram { color: #e1306c; }
.footer-socials .tiktok    { color: #000; }
.footer-socials .x         { color: #000; }

.dark-mode .footer-socials .tiktok,
.dark-mode .footer-socials .x {
  color: #fff;
}

