
  /* ------ Theme tokens (tweak if you want) ------ */
  :root{
    --brand:#2d6231;        /* heading/price color */
    --ink:#2d2f32;          /* text */
    --muted:#6b7280;        /* subtle text */
    --card:#ffffff;         /* card bg */
    --card-edge:#eef1f4;    /* card border bg */
    --accent:#1f2937;       /* button text */
    --btn-bg:#eef0f6;       /* button bg (secondary) */
    --btn-bg-primary:#2d6231;  /* add to cart bg */
    --btn-text-primary:#ffffff;
  }

  /* ------ Card ------ */
  .shop-card{
    list-style:none;
    background:var(--card);
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
    border:1px solid var(--card-edge);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition: transform .18s ease, box-shadow .18s ease;
  }
  .shop-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(0,0,0,.10);
  }

  /* Media */
  .shop-card__media{
    aspect-ratio: 1/1;
    background:#f6f7f9;
    position:relative;
  }
  .shop-card__thumb{display:block;width:100%;height:100%;}
  .shop-card__img{width:100%;height:100%;object-fit:cover;}

  /* Body */
  .shop-card__body{
    padding:14px 16px 16px;
    display:flex;flex-direction:column;gap:10px;
  }

  /* Title (2-line clamp) */
  .shop-card__title{ margin:0; }
  .shop-card__title a{
    color:var(--brand);
    font-size:1.25rem;      /* ~20px */
    font-weight:700;
    line-height:1.25;
    text-decoration:none;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  /* Meta row (rating + price) */
  .shop-card__meta{
    display:flex; align-items:center; justify-content:space-between; gap:8px;
  }
  .price{
    color:var(--brand);
    font-weight:700;
    font-size:1.1rem;
  }
  /* Woo star rating color */
  .star-rating{ color:#f59e0b; }         /* for some themes */
  .star-rating span::before{ color:#f59e0b; } /* fallback */

  /* Short description */
  .shop-card__desc{ color:var(--ink); font-size:.96rem; }
  .shop-card__desc-preview{ margin:0; color:#374151; }
  .shop-card__toggle{
    margin-top:8px;
    background:transparent;
    border:1px solid #d6d9de;
    padding:7px 12px;
    border-radius:999px;
    cursor:pointer;
    font-size:.9rem;
    color:var(--ink);
    transition: background .15s ease, border-color .15s ease;
  }
  .shop-card__toggle:hover{ background:#f3f4f6; border-color:#cdd2d8; }

  /* CTA row */
  .shop-card__cta{ margin-top:8px; display:flex; gap:8px; flex-wrap:wrap; }

  /* Woo's loop button (Add to cart / Select options) */
  .shop-card .button{
    appearance:none;
    border:0;
    padding:10px 14px;
    border-radius:10px;
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  /* Primary style */
  .shop-card .add_to_cart_button,
  .shop-card .product_type_simple,
  .shop-card .product_type_variable,
  .shop-card .ajax_add_to_cart{
    background:var(--btn-bg-primary);
    color:var(--btn-text-primary);
    box-shadow:0 6px 14px rgba(45,98,49,.25);
  }
  .shop-card .add_to_cart_button:hover,
  .shop-card .product_type_variable:hover,
  .shop-card .ajax_add_to_cart:hover{
    transform: translateY(-1px);
    box-shadow:0 10px 18px rgba(45,98,49,.32);
  }
  .shop-card .add_to_cart_button:active{
    transform: translateY(0);
    box-shadow:0 6px 12px rgba(45,98,49,.22);
  }

  /* If a secondary 'View details' ever appears (theme adds it), keep it subtle */
  .shop-card__view,
  .shop-card .button.alt{
    background:var(--btn-bg);
    color:var(--accent);
  }

  /* Pagination + toolbar polish (optional) */
  .woocommerce-result-count{ color:var(--muted); }
  .woocommerce-ordering select{
    border-radius:10px; border:1px solid #d8dde3; padding:8px 10px;
  }
  .woocommerce nav.woocommerce-pagination ul{
    border:none; box-shadow:none;
    display:flex; gap:8px;
  }
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span{
    border:1px solid #d8dde3; border-radius:10px; padding:8px 12px;
  }
  .woocommerce nav.woocommerce-pagination ul li span.current{
    background:var(--btn-bg-primary); color:#fff; border-color:transparent;
  }

  /* Small screens */
  @media (max-width:600px){
    .shop-card__title a{ font-size:1.1rem; }
    ul.products, ul.products.columns-4{ gap:18px; }
  }


  p.shop-card__desc-preview {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

h2.shop-card__title {
    min-height: 50px;
}

.woocommerce ul.products li.product a img {
    margin: 0;
}

a.button.product_type_simple {
    background: #1E3D1F;
    color: #fff;
    border-radius: 0px;
    margin: auto;
}