/* Styles (prefix spt-) */
.spt-alert{padding:12px;background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;margin:10px 0;}
.spt-auth{display:flex;gap:24px;flex-wrap:wrap;}
.spt-auth-col{flex:1 1 280px;background:#f7f7f7;padding:16px;border-radius:8px;border:1px solid #ddd;}
.spt-form{background:#f7f7f7;padding:16px;border-radius:8px;border:1px solid #ddd;}
.spt-form-row{margin-bottom:12px;}
.spt-form-row label{display:block;font-weight:600;margin-bottom:6px;}
.spt-form-row input[type="text"],.spt-form-row input[type="email"],.spt-form-row input[type="password"],.spt-form-row input[type="date"],.spt-form-row input[type="number"],.spt-form-row textarea,.spt-form-row select{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;}
.spt-thumb img{max-width:160px;height:auto;border-radius:4px;margin-top:6px;}

.spt-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:12px 0;padding:12px;background:#f7f7f7;border:1px solid #ddd;border-radius:8px;}
.spt-filter label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#666;margin-bottom:4px;}

.spt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:16px 0;}
.spt-grid-small{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
.spt-grid-medium{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.spt-grid-large{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}

.spt-card{position:relative;display:block;border:1px solid #ddd;border-radius:8px;background:#fff;overflow:hidden;text-decoration:none;color:inherit;transition:transform .05s ease, box-shadow .2s;}
.spt-card:hover{transform:translateY(-2px); box-shadow:0 2px 10px rgba(0,0,0,.06);}
.spt-card-media{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#fafafa;overflow:hidden;}
.spt-card-media img{width:100%;height:100%;object-fit:cover;}
.spt-placeholder{color:#999;font-size:12px;}
.spt-card-body{padding:10px;}
.spt-card-body h4{margin:0 0 4px;font-size:16px;}
.spt-meta{font-size:12px;color:#666;}

.spt-badge{position:absolute;top:8px;left:8px;background:#222;color:#fff;padding:2px 8px;border-radius:999px;font-size:11px;margin-right:6px;opacity:.95}
.spt-badge + .spt-badge{left:auto;right:8px}
.spt-badge-rare{background:#1f7a1f;}
.spt-badge-water{background:#0077cc;}
.spt-badge-repot{background:#cc7700;}
.spt-badge-fav{right:8px;left:auto;background:#333;}

.spt-rare{border-color:#9ad19a;}
.spt-attn{box-shadow:0 0 0 2px rgba(255,165,0,.35) inset;}
.spt-favorite .spt-card-body h4:after{content:" ★";}

/* Single */
.spt-single-header h2{margin-bottom:6px;}
.spt-chip{display:inline-block;background:#eef7ee;color:#2f6b2f;border:1px solid #cde7cd;padding:2px 8px;border-radius:999px;font-size:12px;margin-right:6px;}
.spt-desc-line{color:#666;margin-top:2px;font-size:13px;}
.spt-attrs{list-style:none;padding:0;margin:10px 0;}
.spt-attrs li{margin:4px 0;}
.spt-cta-row{margin:12px 0;}

/* Carousel + thumbnails */
.spt-carousel{position:relative;width:100%;overflow:hidden;border:1px solid #ddd;border-radius:8px;background:#fafafa;margin-bottom:12px;}
.spt-carousel-track{display:flex;transition:transform .3s ease; touch-action:pan-y;}
.spt-slide{min-width:100%;display:flex;align-items:center;justify-content:center;background:#000;}
.spt-slide img{width:100%;height:auto;display:block;object-fit:contain;max-height:70vh;}
.spt-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.4);color:#fff;width:36px;height:36px;border-radius:18px;cursor:pointer;}
.spt-prev{left:8px;}
.spt-next{right:8px;}
@media (max-width: 600px){ .spt-slide img{max-height:55vh;} }
.spt-thumbs{display:flex;gap:6px;padding:6px;overflow:auto;background:#111}
.spt-thumbs .spt-thumb{border:2px solid transparent;padding:0;background:transparent;cursor:pointer;border-radius:4px}
.spt-thumbs .spt-thumb.active{border-color:#66aaff}
.spt-thumbs .spt-thumb img{display:block;width:60px;height:45px;object-fit:cover;border-radius:2px}

.spt-pagination{margin:12px 0;}

/* chipfix2 colors */
.spt-chip-rare { background:#1f7a1f; color:#fff; border-color:#1f7a1f; }
.spt-chip-fav  { background:#333;    color:#fff; border-color:#333; }
.spt-chip-attn { background:#e67e22; color:#fff; border-color:#e67e22; }

/* v2.1.8: progress date overlay on slides */
.spt-slide{position:relative}
.spt-slide-cap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:13px;line-height:1.3;padding:6px 8px}

/* v2.2.0 status badges */
.spt-badge-status{ right:auto; left:8px; top:auto; bottom:8px; background:#555; }
.spt-badge-status-propagating{ background:#007b83; }
.spt-badge-status-sold{ background:#6c757d; }
.spt-badge-status-deceased{ background:#8b0000; }
.spt-badge-status-archived{ background:#444; }

/* v2.3.2: delete under thumbnails */
.spt-thumbs .spt-thumb-del{ text-align:center; margin-top:4px; }
.spt-thumbs .spt-thumb-delbtn{
  appearance:none; background:none; border:0; color:#b3261e; text-decoration:underline;
  font-size:12px; cursor:pointer; padding:2px 4px;
}
.spt-thumbs .spt-thumb-delbtn:hover{ text-decoration:none; }

/* v2.3.5: status chips and filter in My Plants */
.spt-badge-status{ right:auto; left:8px; top:auto; bottom:8px; background:#555; }
.spt-badge-status-active{ background:#2e7d32; }
.spt-badge-status-propagating{ background:#007b83; }
.spt-badge-status-sold{ background:#6c757d; }
.spt-badge-status-deceased{ background:#8b0000; }
.spt-badge-status-archived{ background:#444; }

.spt-filter-row.spt-filter-status{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.spt-filter-row.spt-filter-status label{ min-width:64px; font-size:14px; color:#333; }
.spt-filter-row.spt-filter-status select{ padding:6px 8px; }

/* v2.3.6: robust status filter UI on My Plants */
.spt-filter.spt-filter-my{ margin-bottom:10px; }
.spt-filter-row.spt-filter-status{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.spt-filter-row.spt-filter-status label{ min-width:64px; font-size:14px; color:#333; }
.spt-filter-row.spt-filter-status select{ padding:6px 8px; }

/* v2.3.6-pwa1: per-slide delete overlay (visible in PWA/mobile) */
.spt-slide{ position:relative; }
.spt-slide-del{ position:absolute; top:8px; right:8px; margin:0; }
.spt-slide-delbtn{
  appearance:none; border:0; background:rgba(179,38,30,.9); color:#fff; width:32px; height:32px;
  border-radius:50%; font-size:16px; line-height:32px; text-align:center; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.spt-slide-delbtn:active{ transform:translateY(1px); }
@media (hover:hover){
  .spt-slide-delbtn:hover{ background:rgba(179,38,30,1); }
}

/* v2.5.3: secure my plants grid (fallback styles) */
.spt-list.spt-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.spt-card{ position:relative; border:1px solid #e3e3e3; border-radius:8px; overflow:hidden; background:#fff; }
.spt-card-img{ display:block; width:100%; height:auto; }
.spt-card-title{ font-size:16px; margin:8px 10px 12px; line-height:1.3; }
.spt-card-badges{ position:absolute; left:8px; bottom:8px; display:flex; gap:6px; }
.spt-badge{ color:#fff; font-size:12px; padding:3px 6px; border-radius:6px; background:#555; }
.spt-badge-fav{ background:#d97706; } /* amber */
.spt-badge-status-active{ background:#2e7d32; }
.spt-badge-status-propagating{ background:#007b83; }
.spt-badge-status-sold{ background:#6c757d; }
.spt-badge-status-deceased{ background:#8b0000; }
.spt-badge-status-archived{ background:#444; }

/* v2.6.3: ensure raw grid styles present */
.spt-list.spt-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.spt-card{ position:relative; border:1px solid #e3e3e3; border-radius:8px; overflow:hidden; background:#fff; }
.spt-card-img{ display:block; width:100%; height:auto; }
.spt-card-title{ font-size:16px; margin:8px 10px 12px; line-height:1.3; }
.spt-card-badges{ position:absolute; left:8px; bottom:8px; display:flex; gap:6px; }
.spt-badge{ color:#fff; font-size:12px; padding:3px 6px; border-radius:6px; background:#555; }
.spt-badge-fav{ background:#d97706; }
.spt-badge-status-active{ background:#2e7d32; }
.spt-badge-status-propagating{ background:#007b83; }
.spt-badge-status-sold{ background:#6c757d; }
.spt-badge-status-deceased{ background:#8b0000; }
.spt-badge-status-archived{ background:#444; }
.spt-badge-status-diseased{ background:#9c27b0; }
