/* Styles for POP content fragments (scoped under .pop-fragment) */
.pop-fragment {
  background-color: #f8fdf9;
  font-family: 'Segoe UI', sans-serif;
  color: #212529;
}

.pop-fragment .header-section {
  background: linear-gradient(135deg, #198754 0%, #20c997 100%);
  color: white;
  padding: 40px 0;
  margin-bottom: 24px;
}

.pop-fragment .timeline {
  position: relative;
  padding-left: 50px;
}

.pop-fragment .timeline::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #d1e7dd;
  border-radius: 2px;
}

.pop-fragment .timeline-item {
  position: relative;
  margin-bottom: 20px;
}

.pop-fragment .timeline-marker {
  position: absolute;
  left: -50px;
  top: 0;
  width: 34px;
  height: 34px;
  background: #198754;
  color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
  font-weight: bold;
  font-size: 14px;
  border: 4px solid #fff;
  box-shadow: 0 0 0 3px #d1e7dd;
  z-index: 1;
}

.pop-fragment .timeline-content {
  background: white;
  padding: 18px;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  border-left: 5px solid #198754;
}

.pop-fragment .step-title {
  color: #198754;
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 1.05rem;
}

.pop-fragment .sub-heading {
  font-weight: bold;
  color: #495057;
  display: block;
  margin-top: 10px;
  margin-bottom: 6px;
}

.pop-fragment ul.custom-ul {
  padding-left: 18px;
  margin-bottom: 0;
  color: #333;
}

.pop-fragment ul.custom-ul li {
  margin-bottom: 4px;
}

/* Ensure fragments inside accordion get full width and no unexpected margins */
.pop-fragment .container { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }

/* Increase specificity to override conflicting site rules when injected */
.accordion .pop-fragment .timeline-content { box-shadow: 0 3px 8px rgba(0,0,0,0.04); }
/* Shared POP styles for Bajra content pages */
:root{
    --pop-bg:#f6f8f7;
    --pop-foreground:#1f2f22;
    --primary:#198754;
    --muted:#6c757d;
    --card-radius:10px;
}

/* Container */
.pop-container{
    padding:3rem 1rem;
    background:var(--pop-bg);
}

.pop-container .main-title{
    color:var(--primary);
    font-weight:800;
    font-size:1.8rem;
    line-height:1.1;
    display:inline-block;
    border-bottom:3px solid var(--primary);
    padding-bottom:.5rem;
}

.pop-container .sub-title{
    color:var(--muted);
    font-style:italic;
}

/* Card */
.pop-card{
    border:0;
    border-top:5px solid var(--primary);
    border-radius:var(--card-radius);
    box-shadow:0 6px 18px rgba(20,20,20,0.06);
    transition:transform .22s ease,box-shadow .22s ease;
    background:#fff;
    height:100%;
    display:flex;
    flex-direction:column;
}
.pop-card:hover{ transform:translateY(-6px); box-shadow:0 18px 36px rgba(20,20,20,0.08);} 

.card-header-custom{
    background:linear-gradient(90deg,rgba(25,135,84,0.03),transparent);
    padding:14px 18px;
    font-weight:700;
    color:var(--primary);
    font-size:1.05rem;
    border-bottom:1px solid rgba(0,0,0,0.04);
}

.pop-card .card-body{
    padding:16px;
    color:var(--pop-foreground);
    flex:1 1 auto;
}

.content-label{ font-weight:700; color:var(--pop-foreground); display:block; margin:10px 0 6px;}
.custom-list{ padding-left:20px; margin-bottom:0; }
.custom-list li{ margin-bottom:7px; }

.emoji-icon{ font-size:1.25rem; margin-right:8px; display:inline-block; }

/* Responsive tweaks */
@media(min-width:768px){
    .pop-container .main-title{ font-size:2.1rem; }
}

/* Small utility */
.pop-card .small{ font-size:.9rem; }

/* Make injected content images safe */
.pop-container img{ max-width:100%; height:auto; display:block; }

/* Improve spacing inside the grid */
.row.g-4{ gap:1.25rem; }

/* Accent for important labels */
.content-label.text-danger{ color:#b02a37; }

/* Minor helpers for POP fragments */
.pop-note{ background: #f3fff6; border-left:4px solid var(--primary); padding:.6rem .9rem; border-radius:6px; }

/* Make card footer actions align */
.pop-card .card-actions{ margin-top:auto; padding:12px 16px; background:transparent; }

/* Make POP fragment content inside accordions scrollable and responsive */
.accordion .pop-fragment .pop-container,
.accordion .pop-fragment .timeline {
  max-height: 60vh; /* allow scrolling when content is long */
  overflow: auto;
  -webkit-overflow-scrolling: touch; /* smooth scrolling on mobile */
  padding-right: 8px; /* avoid content hidden under scrollbars */
}

/* Reduce height on small screens so accordion fits viewport */
@media (max-width: 576px) {
  .accordion .pop-fragment .pop-container,
  .accordion .pop-fragment .timeline {
    max-height: 50vh;
  }
}

/* Ensure accordion body doesn't add extra vertical padding that breaks scrolling */
.accordion .pop-fragment .accordion-body { padding: 0.75rem 1rem; }

/* Optional: visible thin scrollbar for desktop to hint scrollability */
.accordion .pop-fragment .pop-container::-webkit-scrollbar { width: 8px; }
.accordion .pop-fragment .pop-container::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.12); border-radius: 6px; }

/* Stylish scrollbars for POP fragments (webkit + firefox) */
.pop-fragment .pop-container,
.accordion .pop-fragment .pop-container,
.accordion .pop-fragment .timeline {
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(25,135,84,0.78) rgba(0,0,0,0.04);
}

/* WebKit-based browsers */
.pop-fragment .pop-container::-webkit-scrollbar,
.accordion .pop-fragment .pop-container::-webkit-scrollbar,
.accordion .pop-fragment .timeline::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.pop-fragment .pop-container::-webkit-scrollbar-track,
.accordion .pop-fragment .pop-container::-webkit-scrollbar-track,
.accordion .pop-fragment .timeline::-webkit-scrollbar-track {
  background: linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.04));
  border-radius: 8px;
  margin: 4px 0;
}

.pop-fragment .pop-container::-webkit-scrollbar-thumb,
.accordion .pop-fragment .pop-container::-webkit-scrollbar-thumb,
.accordion .pop-fragment .timeline::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #20c997, #198754);
  border-radius: 8px;
  border: 3px solid rgba(255,255,255,0.7);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
}

.pop-fragment .pop-container::-webkit-scrollbar-thumb:hover,
.accordion .pop-fragment .pop-container::-webkit-scrollbar-thumb:hover,
.accordion .pop-fragment .timeline::-webkit-scrollbar-thumb:hover {
  filter: brightness(.93);
}

/* Always show a subtle indicator on desktop to hint scrollability */
@media (hover: hover) and (pointer: fine) {
  .accordion .pop-fragment .pop-container { box-shadow: inset -6px 0 12px -10px rgba(0,0,0,0.04); }
}

