/* =========================================================
   Progressive Seeds — Product Showcase (Hardcoded)
   Prefix: psps- (kept unique to avoid theme/plugin clashes)
   Brand palette: Green (primary) + Red (accent), Poppins font.
   ========================================================= */

.psps-wrap{
  --psps-green:#2E7D32;
  --psps-green-dark:#1B5E20;
  --psps-green-light:#4CAF50;
  --psps-yellow:#FFC107;
  --psps-yellow-dark:#F57F17;
  --psps-yellow-deep:#B36B00;
  --psps-ink:#1c2b1e;
  --psps-muted:#6b7268;
  --psps-border:#e3ece1;
  --psps-bg-tab:#EEF5EC;
  --psps-bg-soft:#f4f9f2;
  --psps-radius:14px;
  --psps-shadow: 0 10px 30px rgba(27,94,32,.10);
  --psps-shadow-lg: 0 30px 80px rgba(0,0,0,.32);

  max-width:1320px !important;
  margin:0 auto !important;
  font-family:'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  color:var(--psps-ink) !important;
  line-height:1.5 !important;
  position:relative !important;
}
.psps-wrap *{ box-sizing:border-box !important; }

/* ---------- TABS ---------- */
.psps-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  width:100% !important;
  gap:6px !important;
  margin-top:30px !important;
  padding:6px !important;
  background:var(--psps-bg-tab) !important;
  border-radius:14px !important;
  box-shadow:inset 0 0 0 1px var(--psps-border) !important;
}
.psps-tab{
  flex:1 1 160px !important;
  border:none !important;
  cursor:pointer !important;
  padding:15px 18px !important;
  font-family:inherit !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  letter-spacing:.4px !important;
  text-transform:uppercase !important;
  background:transparent !important;
  color:var(--psps-green-dark) !important;
  border-radius:10px !important;
  transition:background .25s ease, color .25s ease, transform .2s ease, box-shadow .25s ease !important;
}
.psps-tab:hover{ background:rgba(46,125,50,.10) !important; }
.psps-tab.psps-tab-active{
  background:linear-gradient(135deg, var(--psps-green) 0%, var(--psps-green-dark) 100%) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(27,94,32,.30) !important;
  transform:translateY(-1px) !important;
}

/* ---------- NOTE BADGE ---------- */
.psps-note{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:14px 2px 4px !important;
  padding:7px 16px 7px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, var(--psps-yellow) 0%, var(--psps-yellow-dark) 100%) !important;
  color:var(--psps-ink) !important;
  font-weight:700 !important;
  font-size:12.5px !important;
  letter-spacing:.2px !important;
  white-space:nowrap !important;
  box-shadow:0 6px 16px rgba(245,127,23,.30) !important;
}
.psps-note::before{
  content:"\1F5B1" !important;
  font-size:12px !important;
  line-height:1 !important;
  transform:translateY(-1px) !important;
}

/* ---------- PANELS ---------- */
.psps-panel{ display:none !important; }
.psps-panel.psps-panel-active{ display:block !important; animation:pspsFadeIn .4s ease !important; }
@keyframes pspsFadeIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

/* ---------- GRID ---------- */
.psps-grid{
  display:grid !important;
  grid-template-columns:repeat(var(--psps-cols, 4), 1fr) !important;
  gap:30px 26px !important;
  padding:30px 4px 44px !important;
}

/* ---------- CARD ---------- */
.psps-card{
  cursor:pointer !important;
  text-align:center !important;
  outline:none !important;
  position:relative !important;
  background:#fff !important;
  border:1px solid var(--psps-border) !important;
  border-radius:var(--psps-radius) !important;
  padding:22px 16px 20px !important;
  transition:transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s ease, border-color .3s ease !important;
  overflow:hidden !important;
}
.psps-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(76,175,80,.06) 0%, rgba(76,175,80,0) 40%) !important;
  opacity:0 !important;
  transition:opacity .3s ease !important;
  pointer-events:none !important;
}
.psps-card:hover,
.psps-card:focus-visible{
  transform:translateY(-8px) !important;
  box-shadow:var(--psps-shadow) !important;
  border-color:var(--psps-green-light) !important;
}
.psps-card:hover::before,
.psps-card:focus-visible::before{ opacity:1 !important; }

.psps-card-title{
  margin:0 0 14px !important;
  font-size:15.5px !important;
  font-weight:700 !important;
  color:var(--psps-ink) !important;
  padding-bottom:10px !important;
  border-bottom:2px solid var(--psps-green-light) !important;
  display:inline-block !important;
  min-width:75% !important;
  position:relative !important;
  z-index:1 !important;
}
.psps-card-imgwrap{
  border-radius:10px !important;
  overflow:hidden !important;
  background:transparent !important;
  transition:transform .35s ease !important;
  padding:4px !important;
  position:relative !important;
  z-index:1 !important;
}
.psps-card-imgwrap svg{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.08)) !important;
  transition:transform .4s ease !important;
}
.psps-card-imgwrap img.psps-real-img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  border-radius:10px !important;
  box-shadow:0 8px 14px rgba(0,0,0,.10) !important;
  transition:transform .4s ease !important;
}
.psps-card:hover .psps-card-imgwrap svg,
.psps-card:hover .psps-card-imgwrap img.psps-real-img{ transform:scale(1.06) rotate(-1deg) !important; }

.psps-card-tag{
  display:inline-block !important;
  margin-top:14px !important;
  padding:4px 12px !important;
  font-size:10.5px !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  color:var(--psps-green-dark) !important;
  background:var(--psps-bg-tab) !important;
  border-radius:999px !important;
  position:relative !important;
  z-index:1 !important;
}

.psps-empty{
  grid-column:1/-1 !important;
  text-align:center !important;
  color:var(--psps-muted) !important;
  padding:30px 0 !important;
}

/* =========================================================
   MODAL (POPUP)
   ========================================================= */
.psps-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(10,20,10,.68) !important;
  backdrop-filter:blur(4px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:20px !important;
  z-index:99999 !important;
  opacity:0 !important;
  visibility:hidden !important;
  transition:opacity .25s ease, visibility .25s ease !important;
}
.psps-overlay.psps-overlay-active{
  opacity:1 !important;
  visibility:visible !important;
}

.psps-modal{
  position:relative !important;
  isolation:isolate !important;
  width:100% !important;
  max-width:920px !important;
  height:min(640px, 88vh) !important;
  max-height:88vh !important;
  overflow:hidden !important;
  background:#fff !important;
  border-radius:16px !important;
  box-shadow:var(--psps-shadow-lg) !important;
  transform:scale(.94) translateY(10px) !important;
  transition:transform .3s cubic-bezier(.2,.8,.3,1) !important;
}
.psps-overlay.psps-overlay-active .psps-modal{
  transform:scale(1) translateY(0) !important;
}

.psps-overlay .psps-modal .psps-modal-close,
button.psps-modal-close{
  position:absolute !important;
  top:14px !important;
  right:16px !important;
  left:auto !important;
  bottom:auto !important;
  margin:0 !important;
  z-index:2147483647 !important;
  background:rgba(255,255,255,.92) !important;
  border:none !important;
  outline:none !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:50% !important;
  font-size:21px !important;
  line-height:1 !important;
  color:var(--psps-ink) !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 14px rgba(0,0,0,.22) !important;
  transition:background .2s ease, color .2s ease, transform .2s ease !important;
}
.psps-modal-close:hover{
  background:var(--psps-yellow) !important;
  color:var(--psps-ink) !important;
  transform:rotate(90deg) !important;
}

.psps-modal-inner{
  display:grid !important;
  grid-template-columns:38% 1fr !important;
  width:100% !important;
  height:100% !important;
}

/* --- LEFT: illustration column --- */
.psps-modal-img{
  position:relative !important;
  height:100% !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(160deg, var(--psps-bg-soft) 0%, #e7f1e4 100%) !important;
  padding:44px !important;
  overflow:hidden !important;
}
.psps-modal-img svg{
  display:block !important;
  width:100% !important;
  max-width:260px !important;
  height:auto !important;
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.14)) !important;
}
.psps-modal-img img.psps-real-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* --- RIGHT: text column --- */
.psps-modal-body{
  height:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.psps-modal-header{
  position:relative !important;
  flex:0 0 auto !important;
  background:linear-gradient(135deg, var(--psps-green) 0%, var(--psps-green-dark) 100%) !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:700 !important;
  padding:24px 60px 24px 28px !important;
  box-shadow:0 4px 14px rgba(27,94,32,.25) !important;
}
.psps-modal-header::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  height:4px !important;
  width:100% !important;
  background:linear-gradient(90deg, var(--psps-yellow) 0%, var(--psps-yellow-dark) 60%, transparent 100%) !important;
}
.psps-modal-desc{
  flex:1 1 auto !important;
  overflow-y:auto !important;
  padding:24px 28px 30px !important;
  font-size:14px !important;
  line-height:1.75 !important;
  color:#333 !important;
}

.psps-stat-row{
  display:flex !important;
  gap:14px !important;
  margin-bottom:20px !important;
  flex-wrap:wrap !important;
}
.psps-stat{
  flex:1 1 150px !important;
  background:var(--psps-bg-soft) !important;
  border:1px solid var(--psps-border) !important;
  border-radius:10px !important;
  padding:12px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}
.psps-stat-label{
  font-size:10.5px !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  color:var(--psps-green-dark) !important;
}
.psps-stat-value{
  font-size:14px !important;
  font-weight:700 !important;
  color:var(--psps-ink) !important;
}

.psps-block-label{
  margin:0 0 8px !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  letter-spacing:.4px !important;
  text-transform:uppercase !important;
  color:var(--psps-yellow-deep) !important;
}
.psps-modal-desc ul{
  margin:0 0 18px !important;
  padding-left:20px !important;
}
.psps-modal-desc li{ margin-bottom:7px !important; }
.psps-variety-list li{
  font-weight:600 !important;
  color:var(--psps-green-dark) !important;
}
.psps-modal-desc p{ margin:0 0 14px !important; }
.psps-modal-desc p:last-child{ margin-bottom:0 !important; }
.psps-modal-desc::after{
  content:"" !important;
  display:block !important;
  margin-top:6px !important;
  height:4px !important;
  width:60px !important;
  background:linear-gradient(90deg, var(--psps-yellow) 0%, var(--psps-yellow-dark) 100%) !important;
  border-radius:2px !important;
}

.psps-modal-desc::-webkit-scrollbar{ width:7px !important; }
.psps-modal-desc::-webkit-scrollbar-track{ background:transparent !important; }
.psps-modal-desc::-webkit-scrollbar-thumb{
  background:#cfe3cb !important;
  border-radius:10px !important;
}
.psps-modal-desc::-webkit-scrollbar-thumb:hover{ background:var(--psps-green-light) !important; }
.psps-modal-desc{ scrollbar-width:thin !important; scrollbar-color:#cfe3cb transparent !important; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px){
  .psps-grid{ grid-template-columns:repeat(3, 1fr) !important; }
}
@media (max-width: 780px){
  .psps-modal{
    height:min(680px, 90vh) !important;
    max-height:90vh !important;
  }
  .psps-modal-inner{
    grid-template-columns:1fr !important;
    grid-template-rows:200px 1fr !important;
  }
  .psps-modal-img{ padding:20px !important; }
  .psps-modal-img svg{ max-width:160px !important; }
  .psps-modal-body{ height:auto !important; min-height:0 !important; }
}
@media (max-width: 720px){
  .psps-grid{ grid-template-columns:repeat(2, 1fr) !important; gap:20px 14px !important; }
  .psps-tab{ padding:12px 10px !important; font-size:11.5px !important; letter-spacing:.3px !important; flex:1 1 45% !important; }
  .psps-modal-header{ font-size:18px !important; padding:18px 54px 18px 20px !important; }
  .psps-modal-desc{ padding:18px 20px 24px !important; }
  .psps-stat-row{ gap:10px !important; }
}
@media (max-width: 460px){
  .psps-grid{ grid-template-columns:repeat(1, 1fr) !important; }
  .psps-tab{ flex:1 1 100% !important; }
}
