
/* Wrapper */
.dpdfcs-wrap {
  width: 100%;
}

/* Search bar */
.dpdfcs-searchbar{
  display:flex;
  gap:0;
  align-items:stretch;
  width:100%;
  max-width: 100%;
  margin: 0 0 22px 0;
}

.dpdfcs-search-input{
  flex: 1 1 auto;
  min-width: 0;
  padding: 14px 16px;
  font-size: 16px;
  border: 1px solid #e6e8f0;
  border-right: 0;
  border-radius: 6px 0 0 6px;
  outline: none;
  background: #ffffff;
}

.dpdfcs-search-input:focus{
  box-shadow: 0 0 0 2px rgba(55, 97, 255, 0.15);
}

.dpdfcs-search-button{
  flex: 0 0 auto;
  padding: 14px 18px;
  font-size: 16px;
  border: 1px solid #1b1f6a;
  background: #1b1f6a;
  color: #ffffff;
  border-radius: 0 6px 6px 0;
  cursor: pointer;
}

.dpdfcs-search-button:hover{
  filter: brightness(1.05);
}

/* Grid */
.dpdfcs-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

/* Card */
.dpdfcs-card{
  display:block;
  text-decoration:none;
  border-radius: 16px;
  background: #bcd2ff;
  box-shadow: 0 12px 28px rgba(10, 20, 60, 0.10);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  overflow:hidden;
}

.dpdfcs-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(10, 20, 60, 0.14);
}

.dpdfcs-card-inner{
  padding: 22px 22px 18px 22px;
}

/* OUTLINED "Policy Brief" like the screenshot */
.dpdfcs-card-kicker{
  font-size: 52px;
  line-height: 1;
  font-weight: 800;
  margin: 0 0 14px 0;
  letter-spacing: 0.2px;

  color: transparent;
  -webkit-text-stroke: 2px #1b1f6a;
  text-stroke: 2px #1b1f6a; /* non-standard fallback */
}

/* Title (description) */
.dpdfcs-card-title {
    font-size: 18px;
    line-height: 1.35;
    color: #313131;
    margin: 0 0 22px 0;
    max-width: 92%;
    text-align: center;
}

/* Meta block */
.dpdfcs-card-meta-label {
    font-size: 16px;
    font-weight: 700;
    color: #1b1f6a;
    margin: 0 0 8px 0;
}

.dpdfcs-card-meta-value{
  font-size: 16px;
  color: #1b1f6a;
  margin: 0;
}

/* Loading state */
.dpdfcs-loading .dpdfcs-search-button{
  opacity: .85;
  pointer-events: none;
}

.dpdfcs-empty{
  padding: 14px 0;
  color: #0f122a;
  opacity: .8;
}

/* Responsive */
@media (max-width: 980px){
  .dpdfcs-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dpdfcs-card-kicker{ font-size: 46px; -webkit-text-stroke: 2px #1b1f6a; }
  .dpdfcs-card-title {
    font-size: 18px;
    line-height: 1.35;
    color: #313131;
    margin: 0 0 22px 0;
    max-width: 92%;
    text-align: center;
}
}

@media (max-width: 640px){
  .dpdfcs-grid{ grid-template-columns: 1fr; }
  .dpdfcs-search-input, .dpdfcs-search-button{ font-size: 15px; }
  .dpdfcs-card-inner{ padding: 20px 18px 16px 18px; }
  .dpdfcs-card-kicker{ font-size: 44px; }
  .dpdfcs-card-title {
    font-size: 18px;
    line-height: 1.35;
    color: #313131;
    margin: 0 0 22px 0;
    max-width: 92%;
    text-align: center;
}
  .dpdfcs-card-meta-label {
    font-size: 16px;
    font-weight: 700;
    color: #1b1f6a;
    margin: 0 0 8px 0;
}
  .dpdfcs-card-meta-value{ font-size: 15px; }
}

/* Policy Brief image */
.dpdfcs-card-kicker img{
  display:block;
  max-width: 220px;
  height: auto;
  margin-bottom: 14px;
}


/* Controls layout */
.dpdfcs-controls{
  display:flex;
  gap:12px;
  align-items:stretch;
  flex-wrap:wrap;
  margin: 0 0 22px 0;
}

.dpdfcs-controls .dpdfcs-searchbar{
  margin: 0;
  flex: 1 1 520px;
}

.dpdfcs-filters{
  flex: 0 0 auto;
  display:flex;
  align-items:stretch;
}

.dpdfcs-category{
  padding: 12px 14px;
  font-size: 15px;
  border: 1px solid #e6e8f0;
  border-radius: 6px;
  background: #fff;
  min-width: 220px;
}

/* Load more */
.dpdfcs-more{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}

.dpdfcs-load-more{
  padding: 12px 18px;
  font-size: 15px;
  border-radius: 8px;
  border: 1px solid #1b1f6a;
  background: #fff;
  color: #1b1f6a;
  cursor:pointer;
}

.dpdfcs-load-more:hover{
  filter: brightness(0.98);
}

@media (max-width: 640px){
  .dpdfcs-category{ width: 100%; min-width: 0; }
  .dpdfcs-controls{ gap: 10px; }
}
