/* =========================================================
   JAMROOTS V27 — GLOBAL TYPOGRAPHY & PRODUCT TEXT SCALE
   Loads last so it safely overrides older font-size rules.
   ========================================================= */

:root{
  --jr-type-ink:#152118;
  --jr-type-muted:#667068;
  --jr-type-gold:#c88712;
  --jr-type-rating:#f2b900;
}

html,body,
button,input,select,textarea{
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

body{
  color:var(--jr-type-ink);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Cleaner general headings */
h1,h2,h3,h4,h5,h6,
.section-head h2,
.shop-toolbar-heading h2{
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.025em;
}

/* Product card typography — homepage and shop */
.product-card .product-title,
.product-card h3,
.product-card-premium .product-title{
  margin:12px 0 7px !important;
  min-height:48px;
  font-size:19px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
  letter-spacing:-.018em !important;
  color:var(--jr-type-ink) !important;
}

.product-card .product-title a,
.product-card h3 a{
  color:inherit !important;
  transition:color .18s ease;
}
.product-card .product-title a:hover,
.product-card h3 a:hover{
  color:#0b5b34 !important;
}

.product-card .price,
.product-card .product-price,
.product-card .current-price{
  font-size:22px !important; /* 3px larger than title */
  line-height:1.15 !important;
  font-weight:850 !important;
  letter-spacing:-.018em !important;
  color:var(--jr-type-gold) !important;
}

.product-card .price del,
.product-card .product-price del{
  margin-left:6px;
  font-size:15px !important;
  font-weight:600 !important;
  color:#899089 !important;
}

.product-card .rating-row{
  min-height:23px !important;
  margin:6px 0 12px !important;
  gap:8px !important;
}

.product-card .stars,
.product-card .rating-row .stars{
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:1.3px !important;
  color:var(--jr-type-rating) !important;
  text-shadow:0 1px 0 rgba(105,70,0,.14) !important;
}

.product-card .rating-count{
  font-size:13px !important;
  font-weight:650 !important;
  color:var(--jr-type-muted) !important;
}

/* Buttons scaled to match the larger card typography */
.product-card .card-actions button,
.product-card .card-actions a,
.product-card .product-card-actions button,
.product-card .product-card-actions a{
  min-height:44px !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  border-radius:9px !important;
}

/* Preserve comfortable spacing inside premium cards */
.product-card-premium .product-card-body{
  padding:14px 15px 16px !important;
}

@media(max-width:1100px){
  .product-card .product-title,
  .product-card h3,
  .product-card-premium .product-title{
    font-size:17px !important;
    min-height:43px;
  }
  .product-card .price,
  .product-card .product-price,
  .product-card .current-price{
    font-size:20px !important;
  }
  .product-card .stars,
  .product-card .rating-row .stars{
    font-size:16px !important;
  }
}

@media(max-width:600px){
  body{font-size:15px}
  .product-card .product-title,
  .product-card h3,
  .product-card-premium .product-title{
    margin-top:9px !important;
    min-height:39px;
    font-size:15px !important;
  }
  .product-card .price,
  .product-card .product-price,
  .product-card .current-price{
    font-size:18px !important;
  }
  .product-card .stars,
  .product-card .rating-row .stars{
    font-size:14px !important;
    letter-spacing:.8px !important;
  }
  .product-card .card-actions button,
  .product-card .card-actions a,
  .product-card .product-card-actions button,
  .product-card .product-card-actions a{
    min-height:39px !important;
    font-size:11px !important;
  }
}
