@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
  background-color: #f9f9f9;
  color: #333;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  background-color: #ffffff;
  text-align: center;
  padding: 1rem 0.5rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  z-index: 1000;
}

.blog-title {
  font-size: 2rem;
  font-weight: 600;
  color: #2f80ed;
  letter-spacing: 1px;
}

.blog-slogan {
  font-size: 1rem;
  color: #777;
  margin-top: 0.25rem;
}

/* Layout */
.layout {
  display: flex;
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
  gap: 2rem;
}

/* Sidebar (same as original) */
.sidebar {
  width: 250px;
  background-color: #fff;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  flex-shrink: 0;
  height: fit-content;
  position: sticky;
  top: 100px;
}

.sidebar ul {
  list-style: none;
}

.sidebar li {
  margin-bottom: 1rem;
  position: relative;
}

.sidebar a {
  text-decoration: none;
  padding: 0.6rem 1rem;
  border-radius: 12px;
  display: inline-block;
  transition: background-color 0.3s ease, color 0.2s ease;
  color: #333;
  font-weight: 600;
}

.sidebar a:hover {
  background-color: #d1e9ff !important;
  color: #1c60c8 !important;
}

/* submenu */
.has-submenu > a::after {
  content: " ▼";
  font-size: 0.7em;
  color: #666;
  margin-left: 6px;
}

.submenu {
  display: none;
  margin-top: 0.5rem;
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 2px solid #eee;
}

.has-submenu:hover > .submenu {
  display: block;
}

.submenu a {
  padding: 0.4rem 1rem;
  font-weight: 500;
  border-radius: 10px;
}

/* pastel tiles retained */
.tile-home { background-color: #f3e8ff; }
.tile-about { background-color: #ffe0e6; }
.tile-topics { background-color: #e0f7fa; }
.tile-popular { background-color: #fff3cd; }
.tile-random { background-color: #f3e5f5; }
.tile-healthcare { background-color: #e8f5e9; }
.tile-health { background-color: #ffebee; }
.tile-radiology { background-color: #e3f2fd; }
.tile-pharma { background-color: #fffde7; }
.tile-economy { background-color: #e1f5fe; }
.tile-international { background-color: #f9fbe7; }
.tile-defence { background-color: #fce4ec; }
.tile-astronomy { background-color: #f3f3fc; }
.tile-religion { background-color: #e8eaf6; }

/* Main content (single article) */
.main-content {
  flex: 1;
}

.single-post-container {
  background: #fff;
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.post-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #2f80ed;
}

.post-meta {
  font-size: 0.95rem;
  color: #888;
  margin-bottom: 1.5rem;
}

.post-meta a {
  text-decoration: none;
  color: #888;
}


.post-content {
  font-size: 1.1rem;
  color: #444;
  line-height: 1.8;
}

.post-content p {
  margin-bottom: 1.2rem;
}

/* Related Posts Section */
.related-posts {
  margin-top: 3rem;
}

.related-heading {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #333;
}

.related-list {
  display: flex;
  gap: 1rem;
}

.related-item {
  background: #fff;
  width: 33%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}

.related-item:hover {
  transform: translateY(-4px);
}

.related-item a {
    text-decoration: none;
}

.related-thumb {
  width: 100%;
  height: 120px;
  object-fit: cover;
}

.related-info {
  padding: 0.8rem 1rem;
}

.related-title {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}

/* Responsive */
@media (max-width: 768px) {
  .layout {
    flex-direction: column;
  }

  .sidebar {
    width: 100%;
    position: static;
    margin-bottom: 2rem;
  }

  .related-list {
    flex-direction: column;
  }

  .related-item {
    width: 100%;
  }

  .post-title {
    font-size: 1.6rem;
  }
}




/* ======================= */
/*        SITE FOOTER       */
/* ======================= */

.site-footer {
  background: #ffffff;
  margin-top: 3rem;
  padding: 2.5rem 1rem 1.5rem;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

.footer-container {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.footer-column h3,
.footer-column h4 {
  font-weight: 600;
  color: #2f80ed;
  margin-bottom: 1rem;
}

.footer-desc {
  color: #555;
  line-height: 1.6;
  max-width: 260px;
}

.footer-column ul {
  list-style: none;
}

.footer-column ul li {
  margin-bottom: 0.6rem;
}

.footer-column a {
  color: #333;
  text-decoration: none;
  transition: color 0.2s ease;
  font-weight: 500;
}

.footer-column a:hover {
  color: #1c60c8;
}

.footer-bottom {
  text-align: center;
  margin-top: 2rem;
  font-size: 0.9rem;
  color: #777;
}



/* ======================= */
/*      TOPICS GRID        */
/* ======================= */

.topics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.topic-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  text-decoration: none;
  color: #333;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.topic-card h3 {
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  font-weight: 600;
}

.topic-card p {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.6;
}

.topic-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}

/* Pastel backgrounds matching site’s palette */
.pastel1 { background-color: #f3e5f5; }
.pastel2 { background-color: #e0f7fa; }
.pastel3 { background-color: #e3f2fd; }
.pastel4 { background-color: #fffde7; }
.pastel5 { background-color: #e1f5fe; }
.pastel6 { background-color: #f9fbe7; }
.pastel7 { background-color: #fce4ec; }
.pastel8 { background-color: #f3f3fc; }
.pastel9 { background-color: #e8eaf6; }




/* ======================= */
/*   MAGAZINE POSTS GRID   */
/* ======================= */

.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.post-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  text-decoration: none;
  color: #333;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.post-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 34px rgba(0,0,0,0.09);
}

.post-card-img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}

.post-card-content {
  padding: 1.3rem 1.4rem;
}

.post-card-content h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.7rem;
}

.post-card-content p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
  .post-card-img {
    height: 180px;
  }
}







/* =============================== */
/* PINTEREST-STYLE POST-IT GRID   */
/* prevents vertical collapse     */
/* =============================== */

.postit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:22px;
  align-items:start;
}













/* =============================== */
/* PASTEL TILE (image replacement) */
/* =============================== */

/* Pastel tile replacing images */

.post-card-pastel{
  width:100%;
  height:160px;              /* fixed height */

  border-radius:12px 12px 0 0;

  display:flex;
  align-items:center;        /* vertical center */
  justify-content:center;    /* horizontal center */
  text-align:center;

  padding:1rem;

  position:relative;
  overflow:hidden;
}

/* Perfectly centered title */
.post-card-pastel h3{
  margin:0;
  width:100%;
  font-size:1.2rem;
  font-weight:600;
  color:#2f2f2f;
  line-height:1.3;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* subtle paper grain */
.post-card-pastel::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(0,0,0,0.04) 1px, transparent 1px);
  background-size:5px 5px;
  opacity:0.22;
  pointer-events:none;
}

















/* Pastel 3D Tile Banner */

.tile-banner {
  margin: 1.5rem 0;
  width: 100%;
  padding: 1.4rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 18px;
  background: linear-gradient(135deg, #fdfbff, #f3e9ff);
  color: #4a3a75;
  box-shadow:
    0 3px 10px rgba(0,0,0,0.08),
    inset 0 2px 6px rgba(255,255,255,0.6),
    inset 0 -2px 6px rgba(0,0,0,0.04);
  letter-spacing: 0.5px;
  border: 1px solid rgba(255,255,255,0.7);
  max-width: 100%;
}




/* Pastel 3D Tile Banner (taller + subtitle) */

.tile-banner {
  margin: 1.8rem 0;
  width: 100%;
  padding: 2.2rem 1.4rem;
  text-align: center;
  border-radius: 20px;
  background: linear-gradient(135deg, #fdfbff, #f0e7ff);
  color: #46386d;
  box-shadow:
    0 3px 10px rgba(0,0,0,0.08),
    inset 0 2px 6px rgba(255,255,255,0.6),
    inset 0 -2px 6px rgba(0,0,0,0.05);
  border: 1px solid rgba(255,255,255,0.7);
}

.tile-banner a {
    text-decoration: none;
    color: #46386d;
}


/* Banner main title */
.tile-banner-title {
  font-size: 1.7rem;
  font-weight: 700;
  margin-bottom: 0.3rem;
  letter-spacing: 0.4px;
}

/* Banner subtitle */
.tile-banner-sub {
  font-size: 1rem;
  opacity: 0.75;
  margin-top: 0.2rem;
}




/* Optional top-left image inside post content */

.post-top-image {
  float: right;
  width: 280px;
  height: 280px;
  object-fit: cover;
  margin: 0 0.5rem 0.5rem 1rem;
  border-radius: 10px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* Clear float on small screens */
@media (max-width: 600px) {
  .post-top-image {
    float: none;
    display: block;
    margin: 0 auto 1rem auto;
  }
}


/* Optional center image inside post content */

.post-top-image1 {
  float: right;
  width: 750px;
  height: 300px;
  object-fit: cover;
  margin: 0 0 1rem 0;
  border-radius: 10px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* Clear float on small screens */
@media (max-width: 600px) {
  .post-top-image1 {
    float: none;
    display: block;
    margin: 0 auto 1rem auto;
  }
}




/* =============================== */
/* AD SPACE — Pastel Tile Section */
/* =============================== */

.ad-section {
  margin: 2.5rem auto;
  padding: 1.6rem;
  max-width: 1100px;
  background: linear-gradient(135deg, #fdfbff, #f3efff);
  border-radius: 18px;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.08),
    inset 0 2px 6px rgba(255,255,255,0.6),
    inset 0 -2px 6px rgba(0,0,0,0.05);
  text-align: center;
  border: 1px solid rgba(255,255,255,0.7);
}

/* Heading */
.ad-section h3 {
  margin-bottom: 0.8rem;
  font-size: 1.3rem;
  color: #4a3d7a;
  font-weight: 700;
}

/* Ad container (image OR text) */
.ad-box {
  display: inline-block;
  padding: 1rem;
  background: #ffffff;
  border-radius: 14px;
  min-height: 120px;
  width: 90%;
  max-width: 600px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Make text links NOT look like hyperlinks */
.ad-box a {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  cursor: pointer;
}








/* =============================== */
/* COMMENT SPACE — Pastel Tile Section */
/* =============================== */

.comm-section {
  margin: 2.5rem auto;
  padding: 1.6rem;
  max-width: 1100px;
  background: linear-gradient(135deg, #f6fffb, #fff3ec);
  border-radius: 18px;
  box-shadow:
    0 4px 14px rgba(0,0,0,0.08),
    inset 0 2px 6px rgba(255,255,255,0.6),
    inset 0 -2px 6px rgba(0,0,0,0.05);
  text-align: center;
  border: 1px solid rgba(255,255,255,0.7);
}

/* Heading */
.comm-section h3 {
  margin-bottom: 0.8rem;
  font-size: 1.3rem;
  color: #3e6f66;
  font-weight: 700;
}

/* Comm container (image OR text) */
.comm-box {
  display: inline-block;
  padding: 1rem;
  background: #ffffff;
  border-radius: 14px;
  min-height: 50px;
  width: 90%;
  max-width: 600px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Make text links NOT look like hyperlinks */
.comm-box a {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  cursor: pointer;
}

/* Reply to Comm container (image OR text) */
.comm-box-reply {
  display: inline-block;
  padding: 1rem;
  background: linear-gradient(135deg, #f7f5ff, #eef6ff);
  border-radius: 14px;
  min-height: 50px;
  width: 90%;
  max-width: 510px;
  margin-left: 2rem; /* increased indent */
  margin-top: 0.5rem; /* increased indent */
  border-left: 3px solid rgba(0,0,0,0.08);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

}






/* =============================== */
/* NO IMAGE PRODUCT CATEGORIES — Pastel Tile Section */
/* =============================== */

/* Pastel tile replacing images */

.post-card-pastel{
  width:100%;
  height:160px;
  border-radius:12px 12px 0 0;

  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;

  padding:1rem;
  position:relative;
  overflow:hidden;
}

/* Center title */
.post-card-pastel h3{
  margin:0;
  font-size:1.15rem;
  font-weight:600;
  color:#333;
  position:relative;
  z-index:2;
}

/* subtle paper grain texture */
.post-card-pastel::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(0,0,0,0.05) 1px, transparent 1px);
  background-size:4px 4px;
  opacity:0.25;
  pointer-events:none;
}













/* =============================== */
/* TIGHT IMAGES (inline position controlled) */
/* =============================== */

.tightimage {
  width: 100px;
  height: 100px;
  object-fit: cover;

  /* ~1 mm spacing around image */
  margin: 4px;
  padding: 4px;

  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}

/* Optional size variations */
.tightimage-sm {
  width: 70px;
  height: 70px;
}

.tightimage-lg {
  width: 140px;
  height: 140px;
}

.tightimage-xlg {
  width: 200px;
  height: 200px;
}

.tightimage-xxlg {
  width: 250px;
  height: 250px;
}

.tightimage-xxxlg {
  width: 300px;
  height: 300px;
}

.tightimage-xxxxlg {
  width: 400px;
  height: 400px;
}


.tightimage-horz-lg {
  width: 250px;
  height: 180px;
}

.tightimage-horz-xlg {
  width: 300px;
  height: 250px;
}

.tightimage-horz-xxlg {
  width: 350px;
  height: 280px;
}

.tightimage-horz-xxxlg {
  width: 400px;
  height: 280px;
}

.tightimage-horz-horz-xxxlg {
  width: 430px;
  height: 250px;
}

.tightimage-horz-horz-xxxxlg {
  width: 700px;
  height: 500px;
}


.tightimage-flat-long-1 {
  width: 300px;
  height: 120px;
}

.tightimage-flat-long-2 {
  width: 300px;
  height: 100px;
}











/* TAG FILTER BAR */

.tag-filter-bar{
  margin:20px 0 10px 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.tag-btn{
  padding:6px 12px;
  background:#f2f5ff;
  border-radius:20px;
  font-size:0.85rem;
  cursor:pointer;
  transition:all 0.2s ease;
}

.tag-btn:hover{
  background:#dce7ff;
}

.tag-btn.active{
  background:#1c60c8;
  color:white;
}













/* ======================================================
EDITORIAL HIGHLIGHT QUOTE BLOCK (dramatic indent text)
====================================================== */

.editorial-quote {
  margin: 3.5rem 0;
  padding: 2.5rem 2.5rem 2.5rem 3rem;
  background: #fbf4ec;
  border-left: 6px solid #8b1e1e;
  font-family: "Georgia", serif;
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.6;
  color: #3a2d28;
  border-radius: 6px;
}

.editorial-quote.red {
  background: #fff3f1;
  border-left-color: #b22222;
  color: #b22222;
}

.editorial-quote.dark {
  background: #f3efe9;
  border-left-color: #2d211c;
  color: #2d211c;
}


/* ======================================================
INFO GRID BOXES (CCI / POTS / EDS cards)
====================================================== */

.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.info-card {
  border: 1px solid #e8ded3;
  padding: 1.5rem;
  background: #fffdfa;
  border-radius: 5px;
  transition: 0.2s ease;
}

.info-card:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  transform: translateY(-3px);
}

.info-card h3 {
  margin-top: 0;
  font-size: 1.2rem;
  color: #2d211c;
}

.info-card p {
  margin-bottom: 0;
  color: #5a4a42;
  line-height: 1.2;
}


/* ======================================================
STATS / NUMBER BOXES (1 in 3 / $billions / >100M)
====================================================== */

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.stat-box {
  text-align: center;
  padding: 2rem 1.5rem;
  border: 1px solid #eadfd4;
  background: #fff;
  border-radius: 6px;
}

.stat-box .big {
  font-size: 2.6rem;
  font-weight: 700;
  color: #8b1e1e;
  margin-bottom: 0.6rem;
}

.stat-box p {
  margin: 0;
  color: #5c4a42;
}


