/* TBE 2.4 — polished desktop product cards, compact mobile cards, image-free news */

/* PRODUCT LISTS: image and explanation are one inseparable component. */
.product-info-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.product-info-card{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  min-height:230px!important;
  overflow:hidden!important;
  border:1px solid var(--tbe-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(16,63,57,.06)!important;
}
.product-info-media{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:180px!important;
  min-height:230px!important;
  padding:20px!important;
  border-right:1px solid var(--tbe-line)!important;
  background:radial-gradient(circle at 50% 38%,#fff 0%,#eef5f3 100%)!important;
}
.product-info-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:190px!important;
  padding:0!important;
  object-fit:contain!important;
}
.product-info-copy{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:22px 21px 20px!important;
}
.product-info-copy .tag{align-self:flex-start;margin-bottom:8px!important}
.product-info-copy h3{margin:0 0 8px!important;color:var(--tbe-deep)!important;font-size:1.08rem!important;line-height:1.42!important}
.product-info-copy p{margin:0 0 12px!important;color:var(--tbe-muted)!important;font-size:.86rem!important;line-height:1.68!important}
.product-info-copy .text-link{margin-top:auto!important;font-size:.84rem!important}

/* SINGLE PRODUCT: no oversized image-only viewport. */
.product-detail-hero{padding:48px 0!important}
.product-detail-hero-inner{display:grid;grid-template-columns:1.04fr .96fr;gap:38px;align-items:center}
.product-detail-intro h1{margin:0 0 14px;color:var(--tbe-deep);font-size:clamp(2rem,4vw,3.2rem);line-height:1.14;letter-spacing:-.04em}
.product-detail-intro>p{max-width:680px;margin:0;color:var(--tbe-muted);font-size:1.02rem;line-height:1.8}
.product-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.product-visual-card{overflow:hidden;margin:0;border:1px solid var(--tbe-line);border-radius:28px;background:#fff;box-shadow:var(--tbe-shadow)}
.product-visual-media{display:flex;align-items:center;justify-content:center;height:340px;padding:34px;background:radial-gradient(circle at 50% 38%,#fff,#edf5f2)}
.product-visual-media img{width:100%;height:100%;object-fit:contain}
.product-visual-card figcaption{display:grid;gap:4px;padding:18px 21px;border-top:1px solid var(--tbe-line)}
.product-visual-card figcaption strong{color:var(--tbe-deep);font-size:1rem;line-height:1.45}
.product-visual-card figcaption span{color:var(--tbe-muted);font-size:.78rem;line-height:1.55}
.product-content-heading{margin-bottom:20px;padding-bottom:13px;border-bottom:1px solid var(--tbe-line)}
.product-content-heading span{display:block;color:var(--tbe-green);font-size:.72rem;font-weight:900;letter-spacing:.09em}
.product-content-heading h2{margin:3px 0 0;color:var(--tbe-deep);font-size:1.65rem}

/* NEWS: thumbnails are disabled at template and CSS levels. */
body.blog .wp-post-image,
body.category .wp-post-image,
body.single-post .wp-post-image,
body.page-template-page-news .wp-post-image,
body.blog .post-thumbnail,
body.category .post-thumbnail,
body.page-template-page-news .post-thumbnail,
body.blog .card-media,
body.category .card-media,
body.page-template-page-news .card-media,
body.blog .wp-block-post-featured-image,
body.category .wp-block-post-featured-image,
body.page-template-page-news .wp-block-post-featured-image,
.tbe-news-no-images img,
.tbe-news-no-image img{
  display:none!important;
}
.news-index-section{padding-top:28px!important}
.news-list{display:grid!important;gap:12px!important}
.news-list-card{
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
  min-height:132px!important;
  padding:22px 24px!important;
  border:1px solid var(--tbe-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(16,63,57,.045)!important;
}
.news-list-card .news-copy{min-width:0!important}
.news-list-card h3{margin:0 0 5px!important;font-size:1.16rem!important;line-height:1.45!important}
.news-list-card p{margin:0!important;color:var(--tbe-muted)!important;font-size:.87rem!important;line-height:1.65!important}
.news-list-card .news-date{color:var(--tbe-green)!important;font-size:.82rem!important;font-weight:900!important}
.news-list-card .news-category{display:inline-flex!important;margin-bottom:6px!important;padding:4px 9px!important;border-radius:999px!important;background:var(--tbe-mint)!important;color:var(--tbe-green)!important;font-size:.71rem!important;font-weight:900!important}
.news-article-hero{padding:52px 0;background:linear-gradient(180deg,#f4faf8,#fff)}
.news-article-hero h1{max-width:900px;margin:0 0 12px;color:var(--tbe-deep);font-size:clamp(2rem,4vw,3.2rem);line-height:1.2;letter-spacing:-.035em}
.news-article-hero p{margin:0;color:var(--tbe-muted)}
.news-article-content img{max-width:100%;height:auto;border-radius:18px}

@media(max-width:1020px){
  .product-info-grid{grid-template-columns:1fr!important}
  .product-detail-hero-inner{grid-template-columns:1fr;gap:24px}
  .product-visual-card{max-width:680px}
}

@media(max-width:700px){
  .product-detail-hero{padding:32px 0 38px!important}
  .product-detail-intro h1{font-size:1.9rem;line-height:1.22}
  .product-detail-intro>p{font-size:.94rem;line-height:1.72}
  .product-detail-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:18px}
  .product-detail-actions .btn{width:100%}
  .product-visual-media{height:220px;padding:24px}
  .product-visual-card{border-radius:22px}
  .product-visual-card figcaption{padding:14px 16px}

  .product-info-grid{gap:11px!important}
  .product-info-card{
    grid-template-columns:104px minmax(0,1fr)!important;
    min-height:172px!important;
    border-radius:19px!important;
  }
  .product-info-media{
    width:104px!important;
    min-height:172px!important;
    padding:12px!important;
  }
  .product-info-media img{max-height:142px!important}
  .product-info-copy{padding:14px 13px 13px!important}
  .product-info-copy .tag{margin-bottom:5px!important;padding:3px 7px!important;font-size:.65rem!important}
  .product-info-copy h3{margin-bottom:5px!important;font-size:.93rem!important;line-height:1.38!important}
  .product-info-copy p{
    display:-webkit-box!important;
    overflow:hidden!important;
    margin-bottom:7px!important;
    font-size:.75rem!important;
    line-height:1.5!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
  }
  .product-info-copy .text-link{font-size:.75rem!important}

  .news-list-card{
    grid-template-columns:1fr!important;
    gap:7px!important;
    min-height:0!important;
    padding:18px!important;
  }
  .news-list-card .text-link{justify-self:start!important;margin-top:4px!important}
  .news-list-card h3{font-size:1.04rem!important}
  .news-list-card p{font-size:.8rem!important}
}


/* 2.4 HOMEPAGE FEATURED PRODUCTS — desktop cards must breathe. */
@media(min-width:1121px){
  #featured-products .product-spotlight-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:22px!important;
  }
  #featured-products .product-info-card{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:500px!important;
    overflow:hidden!important;
    border:1px solid var(--tbe-line)!important;
    border-radius:26px!important;
    background:#fff!important;
    box-shadow:0 12px 34px rgba(16,63,57,.075)!important;
    transition:transform .22s ease, box-shadow .22s ease!important;
  }
  #featured-products .product-info-card:hover{
    transform:translateY(-5px)!important;
    box-shadow:0 20px 46px rgba(16,63,57,.13)!important;
  }
  #featured-products .product-info-media{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:258px!important;
    min-height:258px!important;
    padding:30px!important;
    border-right:0!important;
    border-bottom:1px solid var(--tbe-line)!important;
    background:radial-gradient(circle at 50% 38%,#fff 0%,#edf5f2 100%)!important;
  }
  #featured-products .product-info-media img{
    width:100%!important;
    height:100%!important;
    max-height:198px!important;
    object-fit:contain!important;
  }
  #featured-products .product-info-copy{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    padding:22px 22px 21px!important;
  }
  #featured-products .product-info-copy .tag{
    align-self:flex-start!important;
    margin-bottom:10px!important;
  }
  #featured-products .product-info-copy h3{
    display:-webkit-box!important;
    overflow:hidden!important;
    min-height:4.35em!important;
    margin:0 0 10px!important;
    font-size:1.03rem!important;
    line-height:1.45!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
  }
  #featured-products .product-info-copy p{
    display:-webkit-box!important;
    overflow:hidden!important;
    margin:0 0 15px!important;
    color:var(--tbe-muted)!important;
    font-size:.84rem!important;
    line-height:1.7!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
  }
  #featured-products .product-info-copy .text-link{
    margin-top:auto!important;
    font-size:.82rem!important;
  }
}

/* Medium desktop / tablet landscape: use two generous cards instead of four squeezed cards. */
@media(min-width:701px) and (max-width:1120px){
  #featured-products .product-spotlight-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
  #featured-products .product-info-card{
    display:grid!important;
    grid-template-columns:170px minmax(0,1fr)!important;
    min-height:226px!important;
  }
  #featured-products .product-info-media{
    width:170px!important;
    min-height:226px!important;
  }
}

/* Mobile keeps the compact layout already approved by the client. */
@media(max-width:700px){
  #featured-products .product-spotlight-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
}

/* With one navigation item removed, keep the desktop header balanced. */
@media(min-width:1121px){
  .primary-nav a{padding-inline:12px}
}
