@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700;900&family=IBM+Plex+Sans:wght@300;400;500;700&display=swap');





















/* boobab.com — rose & plum theme */
:root { --primary: #e11d73; --accent: #5b1a5e; --bg: #fdf2f8; --card-bg: #fff; --text: #2d1a35; --text-muted: #7a5a8a; --border-radius: 2px;   --font-meta: 'DM Sans', system-ui, sans-serif; 
  
  

  
  

  
  

  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  
  
  

  --font-heading: 'Cinzel', serif;
  --font-body: 'IBM Plex Sans', sans-serif;
  --primary-rgb: 225, 29, 115;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

.np-header{background:#e11d73;position:sticky;top:0;z-index:101;border-bottom:2px solid #5b1a5e}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:2px 10px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo-img{height:24px;width:auto;display:block;}
.header-actions{display:flex;gap:14px;align-items:center}
.search-icon{font-size:14px;cursor:pointer;color:rgba(255,255,255,.8)}
.menu-icon{font-size:18px;cursor:pointer;color:#fff;padding:2px 4px;background:none;border:none;line-height:1}

.np-nav{margin:0;padding:0;width:100%;overflow-x:auto;overflow-y:hidden;display:block;white-space:nowrap;background:#e11d73;z-index:100;scrollbar-width:thin;scrollbar-color:#5b1a5e #c4165f;border-bottom:none}
.np-nav::-webkit-scrollbar{height:2px}
.np-nav::-webkit-scrollbar-track{background:#c4165f}
.np-nav::-webkit-scrollbar-thumb{background:#5b1a5e;border-radius:1px}
.np-nav ul{display:inline-block;padding:0;margin:0;list-style:none}
.np-nav ul li{display:inline-block}
.np-nav ul li a{padding:0 9px;font-size:9px;line-height:20px;text-decoration:none;color:rgba(255,255,255,.75);display:block;cursor:pointer;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-meta);border-bottom:2px solid transparent}
.np-nav ul li a:hover{color:#fff;text-decoration:none}
.np-nav ul li a.selected{border-bottom:2px solid #fff;color:#fff;font-weight:600}

.breadcrumb{padding:8px 16px;font-size:11px;color:var(--text-muted);background:var(--card-bg);border-bottom:1px solid #f3d1e1;font-family:var(--font-meta);letter-spacing:0.5px}
.breadcrumb a{color:var(--primary);font-size:11px}
.breadcrumb span{color:#d4a0c0}

.article-container{background:var(--card-bg);max-width:768px;margin:0 auto}
.article-hero-img{width:100%;aspect-ratio:16/9;object-fit:cover}
.article-header{padding:16px 16px 0}
.article-header h1{font-size:24px;font-weight:700;line-height:1.25;color:var(--text);margin-bottom:12px;letter-spacing:-0.5px;font-family:var(--font-heading)}
.article-meta{font-size:12px;color:var(--text-muted);padding-bottom:8px;font-family:var(--font-meta)}
.meta-edited{margin-bottom:2px;font-size:12px;color:var(--text-muted)}
.meta-edited .author{font-weight:600;color:var(--primary)}
.meta-updated{font-size:11px;color:#7a5a8a}
.meta-updated .publisher-name{font-weight:600;color:var(--primary)}

.article-body{padding:0 16px 10px}
.article-body p{font-size:16px;line-height:1.8;color:var(--text);margin-bottom:16px}
.article-body h2{font-size:20px;font-weight:700;color:var(--text);margin:24px 0 12px;font-family:var(--font-heading)}
.article-body h3{font-size:18px;font-weight:600;color:var(--text);margin:20px 0 10px;font-family:var(--font-heading)}

.ad-slot{background:#fef7fb;min-height:250px;display:flex;align-items:center;justify-content:center;margin:0 16px 10px;overflow:hidden;border:1px dashed #f3d1e1}
.ad-label{text-align:center;font-size:9px;color:#7a5a8a;letter-spacing:2px;text-transform:uppercase;padding:8px 0 2px;font-family:var(--font-meta)}
.taboola-placement{margin:10px 0;min-height:250px}

.related-section{padding:16px;background:var(--card-bg);border-top:1px solid #f3d1e1}
.related-section h3{font-size:14px;font-weight:700;margin-bottom:16px;color:var(--text);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-meta)}
.related-card{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #fdf2f8;text-decoration:none}
.related-card:last-child{border-bottom:none}
.related-card img{width:120px;height:80px;object-fit:cover;border-radius:var(--border-radius);flex-shrink:0}
.related-card .related-info h4{font-size:14px;font-weight:600;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.related-card .related-info .related-meta{font-size:11px;color:#7a5a8a;margin-top:6px;font-family:var(--font-meta);text-transform:uppercase;letter-spacing:0.5px}

.home-container{max-width:768px;margin:0 auto;background:var(--card-bg)}
.home-card{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid #fdf2f8;text-decoration:none}
.home-card img{width:120px;height:80px;object-fit:cover;border-radius:var(--border-radius);flex-shrink:0}
.home-card .card-info h3{font-size:15px;font-weight:600;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-card .card-info .card-meta{font-size:11px;color:#7a5a8a;margin-top:4px;font-family:var(--font-meta);text-transform:uppercase;letter-spacing:0.5px}
.home-hero{position:relative;display:block}
.home-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.home-hero .hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(45,26,53,.9));padding:16px}
.home-hero .hero-overlay h2{color:#fff;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-0.3px;font-family:var(--font-heading)}
.home-hero .hero-overlay .hero-meta{color:#f9a8d4;font-size:11px;margin-top:6px;font-family:var(--font-meta);text-transform:uppercase;letter-spacing:1px}

.category-hero-bar{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:2px solid var(--primary)}
.category-hero-bar h1{font-size:20px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-heading)}
.category-hero-bar span{font-size:12px;color:#7a5a8a;font-family:var(--font-meta)}

.np-footer{background:#2d1a35;color:#9a7aaa;padding:24px 16px;text-align:center;font-size:12px;line-height:1.8;font-family:var(--font-meta)}
.np-footer a{color:#d4a0c0}
.np-footer .footer-links{margin-bottom:16px}
.np-footer .footer-links a{margin:0 8px}

.mobile-menu{position:fixed;top:0;right:-280px;width:280px;height:100vh;background:#2d1a35;z-index:200;box-shadow:-4px 0 20px rgba(0,0,0,.3);overflow-y:auto;transition:right .3s ease}
.mobile-menu.show{right:0}
.mobile-menu-header{display:flex;align-items:center;gap:8px;padding:16px;border-bottom:1px solid #4a2a55}
.mobile-menu-close{margin-left:auto;font-size:20px;cursor:pointer;padding:4px 8px;color:#9a7aaa}
.mobile-menu a{display:block;padding:12px 16px;font-size:13px;color:#d4a0c0;border-bottom:1px solid #4a2a55;text-decoration:none;font-family:var(--font-meta);letter-spacing:0.5px}
.mobile-menu a:hover{background:#4a2a55;color:#f9a8d4}

.search-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(45,26,53,.8);z-index:300;align-items:flex-start;justify-content:center;padding:60px 16px}
.search-inner{background:#3d1a45;border-radius:4px;padding:20px;width:100%;max-width:600px;position:relative;border:1px solid #5b1a5e}
.search-close{position:absolute;top:12px;right:16px;font-size:24px;cursor:pointer;color:#9a7aaa}
.search-inner input{width:100%;padding:14px 16px;font-size:16px;border:1px solid #6a3a75;border-radius:2px;outline:none;background:#2d1a35;color:#f3d1e1;font-family:var(--font-meta)}
.search-inner input:focus{border-color:var(--primary)}
#search-results{margin-top:12px;max-height:400px;overflow-y:auto}
#search-results a{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #5b1a5e;text-decoration:none}
#search-results img{width:80px;height:56px;object-fit:cover;border-radius:2px;flex-shrink:0}
#search-results .sr-title{font-size:14px;color:#f3d1e1;font-weight:500;line-height:1.4}

@media(min-width:768px){
  .article-container,.home-container{max-width:768px;margin:0 auto}
  .article-header h1{font-size:28px}
  .article-body p{font-size:17px}
}

/* Logo perfect-fit overrides */
.logo-img { height: 24px; width: auto; max-width: 200px; object-fit: contain; object-position: left center;  }
@media (min-width: 768px) { .logo-img { height: 28px; max-width: 220px; } }
.mobile-menu-header img { height: 30px; width: auto; max-width: 180px; object-fit: contain; }

/* --- DIVERSE LAYOUT STYLES --- */
.layout-1 .article-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 16px;
}
@media(min-width: 576px) {
  .layout-1 .article-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(min-width: 768px) {
  .layout-1 .article-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.layout-1 .home-card {
  flex-direction: column;
  gap: 12px;
  padding: 0;
  border-bottom: none;
}
.layout-1 .home-card img {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}

.layout-2 .split-container {
  display: flex;
  flex-direction: column;
  padding: 16px;
  gap: 16px;
}
.layout-2 .trending-title {
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--primary, #d32f2f);
  margin-bottom: 8px;
}
.layout-2 .right-trending-card {
  display: flex;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  text-decoration: none;
  align-items: center;
}
.layout-2 .right-trending-card img {
  width: 80px;
  height: 56px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}
.layout-2 .right-trending-card .trending-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.layout-2 .right-trending-card h4 {
  font-size: 13.5px;
  color: var(--text, #333);
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.layout-2 .right-trending-card .card-meta {
  font-size: 11px;
  color: var(--text-muted, #757575);
}
@media(min-width: 768px) {
  .layout-2 .split-container {
    flex-direction: row;
  }
  .layout-2 .split-left {
    width: 60%;
  }
  .layout-2 .split-right {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 16px;
  }
}

.layout-3 .home-card.row-layout {
  flex-direction: row;
  align-items: center;
  padding: 16px;
}
.layout-3 .card-desc {
  font-size: 13px;
  color: var(--text-muted, #757575);
  margin: 4px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Custom hover style overrides */

.np-nav ul li a {
  position: relative;
  transition: color 0.3s;
}
.np-nav ul li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 10px;
  right: 10px;
  height: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.np-nav ul li a:hover::after, .np-nav ul li a.selected::after {
  transform: scaleX(1);
}

/* --- FOOTPRINT-FREE ENGAGEMENT WIDGETS --- */
.interactive-trivia-box, .interactive-poll-box, .interactive-reactions-box, .interactive-bookmark-box {
  background: var(--card-bg, #fff);
  border: 1px solid var(--border-color, #eee);
  border-radius: var(--border-radius, 4px);
  padding: 20px;
  margin: 24px 16px;
  font-family: var(--font-body), sans-serif;
}
.interactive-trivia-box h4, .interactive-poll-box h4 {
  font-family: var(--font-heading), serif;
  font-size: 16px;
  margin-bottom: 12px;
  color: var(--text);
  text-transform: uppercase;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 6px;
  display: inline-block;
}
.trivia-question, .poll-question, .reactions-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text);
}
.trivia-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trivia-options button, .poll-options button {
  width: 100%;
  padding: 12px;
  font-size: 14px;
  font-family: var(--font-body), sans-serif;
  background: #fdfdfd;
  border: 1px solid #ddd;
  border-radius: var(--border-radius, 4px);
  text-align: left;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  overflow: hidden;
}
.trivia-options button:hover:not(:disabled), .poll-options button:hover:not(:disabled) {
  background: #f3f3f3;
  border-color: #bbb;
}
.trivia-options button.correct {
  background: #d1e7dd;
  border-color: #badbcc;
  color: #0f5132;
  font-weight: 700;
}
.trivia-options button.incorrect {
  background: #f8d7da;
  border-color: #f5c2c7;
  color: #842029;
}
.trivia-feedback {
  margin-top: 12px;
  padding: 10px;
  font-size: 13px;
  border-radius: var(--border-radius, 4px);
}
.trivia-feedback.correct-msg {
  background: #d1e7dd;
  color: #0f5132;
}
.trivia-feedback.incorrect-msg {
  background: #f8d7da;
  color: #842029;
}

/* Poll Styles */
.poll-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.poll-options button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1;
}
.poll-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: rgba(var(--primary-rgb), 0.08);
  z-index: -1;
  transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.poll-pct {
  display: none;
  font-weight: 700;
  color: var(--primary);
}
.poll-options button.selected {
  border-color: var(--primary);
  font-weight: 700;
}

/* Reactions Styles */
.reactions-list {
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.reaction-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #fdfdfd;
  border: 1px solid #ddd;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}
.reaction-btn:hover:not(.clicked) {
  background: #f3f3f3;
  transform: translateY(-2px);
}
.reaction-btn.clicked {
  background: rgba(var(--primary-rgb), 0.08);
  border-color: var(--primary);
  color: var(--primary);
  animation: reaction-bounce 0.4s ease;
}
.reaction-count {
  font-weight: 600;
  color: #777;
}
.reaction-btn.clicked .reaction-count {
  color: var(--primary);
}
@keyframes reaction-bounce {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

/* Bookmarks Box */
.bookmark-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px;
  background: #fdfdfd;
  border: 1px dashed var(--primary);
  border-radius: var(--border-radius, 4px);
  color: var(--primary);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.bookmark-action-btn:hover {
  background: rgba(var(--primary-rgb), 0.05);
}
.bookmark-action-btn.bookmarked {
  background: var(--primary);
  color: #fff;
  border-style: solid;
}

/* --- CUSTOM DYNAMIC TYPOGRAPHY BINDINGS --- */
body, p, a, td, li, input, select, textarea {
  font-family: var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .logo-text, .section-title, .trending-title {
  font-family: var(--font-heading), Georgia, serif !important;
}
.np-nav ul li a, .mobile-menu a {
  font-family: var(--font-body), sans-serif !important;
}

/* Logo perfect-fit overrides for inline SVG and PNG */
.logo svg, .logo-img {
  height: 40px !important;
  width: auto !important;
  max-width: 220px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: left center !important;
}
@media (min-width: 768px) {
  .logo svg, .logo-img {
    height: 44px !important;
    max-width: 260px !important;
  }
}
.mobile-menu-header svg, .mobile-menu-header img {
  height: 30px !important;
  width: auto !important;
  max-width: 180px !important;
  display: block !important;
  object-fit: contain !important;
}
.footer-brand svg, .footer-brand img {
  height: 28px !important;
  width: auto !important;
  max-width: 180px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Center-align navigation menu on desktop for centered-logo headers */
@media (min-width: 768px) {
  .centered-logo .np-nav {
    text-align: center;
  }
}
