/* =========================
   Press: Base + Theme
   ========================= */
.ppt-press{
  --ppt-radius-sm: 6px;
  --ppt-radius-md: 8px;
  --ppt-radius-lg: 12px;

  --ppt-gap-sm: 12px;
  --ppt-gap-md: 16px;
  --ppt-gap-lg: 24px;

  --ppt-border: #e5e7eb;
  --ppt-muted:  #666;
  --ppt-text:   #222;
  --ppt-subtle: #444;

  --ppt-bg-input: #eef1f5;

  --ppt-brand:      #37a86b;   /* main CTA */
  --ppt-brand-dk:   #2f8f5c;
  --ppt-link:       #058240;   /* download link */
  --ppt-link-dk:    #036b33;
}

/* =========================
   Filters: single-row toolbar
   ========================= */
.ppt-press .ppt-press__controls{
  /* legacy stacked version kept for safety; overridden by --inline below */
  display:flex;
  gap:var(--ppt-gap-sm);
  margin-bottom:var(--ppt-gap-lg);
}

.ppt-press__controls--inline{
  display:flex;
  align-items:center;
  gap:var(--ppt-gap-md);
  flex-wrap:nowrap;                 /* one line on desktop */
  margin-bottom:var(--ppt-gap-lg);
}

.ppt-press__controls--inline .ppt-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:160px;                  /* prevents squish on xl screens */
}
.ppt-press__controls--inline .ppt-field--grow{ flex:1; }

.ppt-press__controls--inline .ppt-label{
  font-size:12px;
  color:var(--ppt-muted);
  line-height:1;
}

/* Inputs */
.ppt-press .ppt-input,
.ppt-press .ppt-select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--ppt-border);
  background:var(--ppt-bg-input);
  border-radius:var(--ppt-radius-md);
  transition:box-shadow .15s ease, border-color .15s ease, background .15s ease;
  outline:none;
}
.ppt-press .ppt-input:focus,
.ppt-press .ppt-select:focus{
  border-color:var(--ppt-brand);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ppt-brand) 25%, transparent);
  background:#fff;
}

/* Actions */
.ppt-press .ppt-actions{ display:flex; align-items:center; gap:var(--ppt-gap-sm); margin-top:20px;}
.ppt-press .ppt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 18px;
  border-radius:var(--ppt-radius-md);
  font-weight:600;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .06s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  user-select:none;
}
.ppt-press .ppt-btn:active{ transform:translateY(1px); }
.ppt-press .ppt-btn[disabled]{ opacity:.6; cursor:not-allowed; }

.ppt-press .ppt-btn.primary{
  background:var(--ppt-brand);
  border-color:var(--ppt-brand);
  color:#fff;
 
}
.ppt-press .ppt-btn.primary:hover{ background:var(--ppt-brand-dk); border-color:var(--ppt-brand-dk); }

.ppt-press .ppt-btn.secondary{
  background:#fff !important;
  color:#344054 !important;
  border-color:#d0d5dd !important;
}
.ppt-press .ppt-btn.secondary:hover{ border-color:#b9c0cc !important; }

/* Mobile wrapping for toolbar */
@media (max-width: 768px){
  .ppt-press__controls--inline{ flex-wrap:wrap; }
  .ppt-press .ppt-actions{ width:100%; justify-content:flex-start; }
  .ppt-press__controls--inline .ppt-field{ min-width: 46%; } /* two-up on mobile */
  .ppt-press__controls--inline .ppt-field--grow{ min-width:100%; }
}

/* =========================
   List layout (image left)
   ========================= */
.ppt-press .ppt-press__grid{
  display:flex;
  flex-direction:column;
  gap:var(--ppt-gap-lg);
}

.ppt-press .ppt-card{
  display:grid !important;                 /* beat theme rules */
  grid-template-columns: 260px 1fr;        /* image – content */
  gap:20px;
  padding:0 0 20px 0;
  border:none;
  border-bottom:1px solid #eee;
  border-radius:0;
  background:transparent;
}

.ppt-press .ppt-card__thumb{
  width:260px;
  height:180px;
  object-fit:cover;
  border-radius:4px;
  display:block;
  background:#f3f4f6;
}

.ppt-press .ppt-card__body{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.ppt-press .ppt-card__meta{
  font-size:13px;
  color:#888;
  margin:2px 0 6px 0;
}

.ppt-press .ppt-card__title{
  font-size:20px;
  font-weight:600;
  margin:0 0 8px 0;
  color:var(--ppt-text);
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp: 2;            /* clamp long titles */
  -webkit-box-orient: vertical;
}

.ppt-press .ppt-card__excerpt{
  font-size:15px;
  color:var(--ppt-subtle);
  margin:0 0 10px 0;
}

.ppt-press .ppt-card__actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

/* Download = green underline link */
.ppt-press .ppt-btn.download-link{
  border:none;
  background:transparent;
  color:var(--ppt-link);
  font-size:15px;
  font-weight:500;
  padding:0;
  text-decoration:underline;
  cursor:pointer;
}
.ppt-press .ppt-btn.download-link:hover{ color:var(--ppt-link-dk); }

/* =========================
   Pagination
   ========================= */
.ppt-press .ppt-press__pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--ppt-gap-sm);
  margin-top:20px;
}
.ppt-press .ppt-press__pagination .ppt-btn{
  min-width:100px;
  padding:8px 14px;
  border:1px solid #dcdcdc !important;
  background:#fff !important;
  color:#0a8a44 !important;
  border-radius:var(--ppt-radius-md) !important;
}

/* =========================
   Modal
   ========================= */
#ppt-press-modal { display:none; }
#ppt-press-modal[aria-hidden="false"]{ display:block; }

#ppt-press-modal .ppt-modal__backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.48);
  z-index:99998;
}

#ppt-press-modal .ppt-modal__dialog{
  position:fixed; left:50%; top:8vh; transform:translateX(-50%);
  width:min(92vw, 860px);
  background:#fff; border-radius:var(--ppt-radius-lg);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  padding:20px; max-height:78vh; overflow:auto;
  z-index:99999;
}

#ppt-press-modal .ppt-modal__close{
  position:absolute; top:8px; right:8px;
  border:none; background:transparent; font-size:24px; cursor:pointer;
}

/* Make content images responsive */
#ppt-press-modal .ppt-modal__body img{ max-width:100%; height:auto; }

/* =========================
   Responsive cards
   ========================= */
@media (max-width: 640px){
  .ppt-press .ppt-card{
    grid-template-columns: 1fr;
    gap:12px;
    padding-bottom:16px;
  }
  .ppt-press .ppt-card__thumb{
    width:100%;
    height:180px;
  }
}

/* =========================
   Motion preference
   ========================= */
@media (prefers-reduced-motion: reduce){
  .ppt-press .ppt-btn,
  .ppt-press .ppt-input,
  .ppt-press .ppt-select{
    transition:none;
  }
}

/* Make clickable areas feel interactive */
.ppt-know { cursor: pointer; }
.ppt-card__title .ppt-know:hover { text-decoration: underline; }



