/* ===========================
   CGDW Weed Cards – Ultra CSS
   =========================== */
:root{
  --cgdw-color:#219653;           /* Color principal */
  --cgdw-bg:#0b0f0d;              /* Fondo de la card */
  --cgdw-text:#e6f4ea;            /* Texto principal */
  --cgdw-soft:#b8e0c3;            /* Texto secundario */
  --cgdw-soft-2:#a5d6b1;          /* Texto sutil */
  --cgdw-title:#d8ffe5;           /* Título */
  --cgdw-price:#a6ffbe;           /* Precio */
  --cgdw-border:rgba(255,255,255,.06);
  --cgdw-shadow:0 10px 30px rgba(0,0,0,.25);
  --cgdw-shadow-lg:0 14px 40px rgba(0,0,0,.35);
  --cgdw-radius:20px;
  --cgdw-gap:18px;
  --cgdw-pad:16px;
  --cgdw-tr:.25s ease;
}

/* GRID RESPONSIVE */
.cgdw-grid{
  display:grid;
  grid-template-columns:repeat(var(--cgdw-cols,3),minmax(0,1fr));
  gap:var(--cgdw-gap);
}
@media (max-width:1024px){
  .cgdw-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .cgdw-grid{ grid-template-columns:1fr; }
}

/* CARD BASE */
.cgdw-card{
  background:var(--cgdw-bg);
  color:var(--cgdw-text);
  border-radius:var(--cgdw-radius);
  border:1px solid var(--cgdw-border);
  overflow:hidden;
  box-shadow:var(--cgdw-shadow);
  display:flex;
  flex-direction:column;
  transition:transform var(--cgdw-tr), box-shadow var(--cgdw-tr);
  height:100%;
  isolation:isolate; /* evita sangrado de sombras/overlays */
}
.cgdw-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--cgdw-shadow-lg);
}
.cgdw-card:focus-within{
  outline:none;
  box-shadow:0 0 0 3px rgba(166,255,190,.25), var(--cgdw-shadow-lg);
}

/* MEDIA */
.cgdw-media{
  position:relative;
  aspect-ratio:16/9;
  background:linear-gradient(135deg, rgba(33,150,83,.25), rgba(20,20,20,.45));
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.cgdw-media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.001);
  transition:transform .4s ease;
}
.cgdw-card:hover .cgdw-media img{ transform:scale(1.03); }
.cgdw-media::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.18), transparent 50%);
  pointer-events:none;
}

/* BADGE */
.cgdw-badge{
  position:absolute; top:12px; left:12px;
  background:var(--cgdw-color); color:#fff;
  padding:6px 10px; border-radius:999px;
  font-weight:700; font-size:12px;
  box-shadow:0 6px 16px rgba(33,150,83,.55);
  letter-spacing:.2px;
}

/* BODY */
.cgdw-body{ padding:var(--cgdw-pad); color:var(--cgdw-text); display:flex; flex-direction:column; gap:8px; }
.cgdw-title{
  margin:0;
  font-size:clamp(18px, 2.2vw, 20px);
  line-height:1.2;
  color:var(--cgdw-title);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.cgdw-subtitle{ margin:0; color:var(--cgdw-soft-2); font-size:14px; }
.cgdw-desc{
  margin:0; color:var(--cgdw-soft); font-size:14px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}

/* SPECS GRID */
.cgdw-specs{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 12px;
}
.cgdw-specs li{ font-size:13px; color:#cfead8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* FOOTER – SIEMPRE EN UNA LÍNEA */
.cgdw-footer{
  margin-top:auto; padding-top:12px;
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; flex-wrap:nowrap; min-height:48px;
}
.cgdw-price{
  font-size:18px; font-weight:800; color:var(--cgdw-price);
  text-shadow:0 0 10px rgba(33,150,83,.35);
  white-space:nowrap; flex:0 0 auto;
}

/* BUTTON */
.cgdw-btn{
  background:var(--cgdw-color); color:#02190b;
  text-decoration:none; padding:10px 14px; border-radius:12px;
  font-weight:800; text-transform:uppercase; letter-spacing:.2px;
  box-shadow:0 10px 24px rgba(33,150,83,.45);
  transition:filter .2s ease, transform .2s ease, box-shadow .2s ease;
  white-space:nowrap; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
}
.cgdw-btn:hover{ filter:brightness(1.1); transform:translateY(-1px); }
.cgdw-btn:active{ transform:translateY(0); }
.cgdw-btn:focus-visible{
  outline:0; box-shadow:0 0 0 3px rgba(166,255,190,.35), 0 10px 24px rgba(33,150,83,.45);
}

/* WHATSAPP TAG */
.cgdw-wa{
  display:inline-block; font-size:10px; font-weight:800;
  border:1px solid rgba(255,255,255,.2); padding:4px 6px; border-radius:8px;
  opacity:.85; margin-left:6px; user-select:none;
}

/* REDUCE MOTION */
@media (prefers-reduced-motion: reduce){
  .cgdw-card, .cgdw-media img, .cgdw-btn{ transition:none !important; }
  .cgdw-card:hover .cgdw-media img{ transform:none; }
}
