/* Scoped to Astoria archive; does not affect other product categories. */
body.term-astoria { --sa-red:#c8102e; --sa-border:#e2e4e8; --sa-text:#202437; background:#fafafa; }
body.term-astoria .main-page-wrapper {background:#fafafa}
body.term-astoria .wd-content-layout {max-width:1510px}
.sa-hero {min-height:275px;color:white;background-image:linear-gradient(90deg,rgba(16,12,9,.93) 0%,rgba(26,19,12,.87) 39%,rgba(26,19,12,.3) 73%),var(--sa-hero-image,linear-gradient(120deg,#291c13,#80603c));background-position:center;background-size:cover;display:flex;align-items:center}
.sa-hero__inner {width:min(100% - 48px,1510px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 0}
.sa-hero__copy{max-width:520px}.sa-hero__eyebrow{font-size:12px!important;letter-spacing:.17em;font-weight:700;color:#fff!important;margin:0 0 3px!important}.sa-hero__eyebrow:before{content:"";display:inline-block;width:35px;height:3px;background:#d1112b;vertical-align:middle;margin-right:12px}
.sa-hero__brand{color:#fff!important;font-size:clamp(52px,5.8vw,82px)!important;letter-spacing:-.055em;line-height:1!important;margin:0 0 8px!important;font-weight:800}.sa-hero__logo{max-height:88px;max-width:290px;object-fit:contain}.sa-hero__strapline{font-size:16px!important;font-weight:600;color:#fff!important;margin:0 0 12px!important}.sa-hero__description{font-size:13px!important;line-height:1.7!important;color:#f6f1ea!important;margin:0!important}
.sa-hero__trust{display:flex;align-items:center;justify-content:space-between;gap:0;flex:0 1 440px}.sa-hero__trust>div{width:33.333%;text-align:center;padding:0 10px;border-right:1px solid #ffffff55}.sa-hero__trust>div:last-child{border:0}.sa-hero__symbol{display:block;font-size:27px;height:42px}.sa-hero__trust b{display:block;color:#fff;font-size:12px;line-height:1.5}
.sa-intro{margin:5px 0 18px}.sa-intro h2{font-size:25px;line-height:1.25;letter-spacing:-.02em;color:var(--sa-text);margin:0 0 6px}.sa-intro p{font-size:14px;color:#737986;max-width:760px;margin:0;line-height:1.65}
body.term-astoria .area-sidebar-shop,body.term-astoria .wd-sidebar{background:white;border:1px solid var(--sa-border);border-radius:9px;padding:20px}
body.term-astoria .wd-sidebar .widget-title{font-size:13px;font-weight:700;color:var(--sa-text);margin:0 0 14px}
body.term-astoria .wd-sidebar .widget{border-bottom:1px solid #edf0f2;padding-bottom:15px;margin-bottom:16px}
body.term-astoria .products .product-grid-item .product-wrapper{background:#fff;border:1px solid var(--sa-border);border-radius:9px;padding:16px;height:100%;transition:box-shadow .22s,transform .22s;overflow:hidden}
body.term-astoria .products .product-grid-item .product-wrapper:hover{box-shadow:0 10px 25px #1b25300f;transform:translateY(-3px)}
body.term-astoria .product-grid-item .wd-entities-title{font-size:15px;line-height:1.45;font-weight:700;color:var(--sa-text)}
body.term-astoria .product-grid-item .product-element-top img{object-fit:contain}
body.term-astoria .product-grid-item .wd-add-btn a{background:var(--sa-red);color:#fff;border-radius:6px;min-height:40px;text-align:center}
body.term-astoria .product-grid-item .wd-add-btn a:hover{background:#a20c20;color:white}
.sa-machine-specs{list-style:none;padding:0!important;margin:10px 0 15px!important;display:grid;gap:4px}.sa-machine-specs li{font-size:12px;display:flex;gap:8px;color:#737986}.sa-machine-specs li strong{font-weight:600;color:#343b4c}
.sa-help{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px;border-radius:8px;padding:20px 24px;color:white;background-image:linear-gradient(90deg,#2b1a12ee,#2b1a12b8),var(--sa-help-image,linear-gradient(110deg,#3c281d,#6e4a2c));background-position:center;background-size:cover}.sa-help h2{font-size:20px;color:#fff;margin:0 0 3px}.sa-help p{font-size:12px;color:#fff;margin:0}.sa-help a{color:#fff!important;border:1px solid #fff;border-radius:7px;padding:11px 19px;white-space:nowrap;font-size:13px;font-weight:600}.sa-help a:hover{background:#fff;color:#37251b!important}
@media(max-width:1024px){.sa-hero__trust{flex-basis:340px}.sa-hero__description{max-width:430px}}
@media(max-width:767px){.sa-hero{min-height:initial}.sa-hero__inner{width:calc(100% - 32px);display:block;padding:28px 0}.sa-hero__trust{margin-top:22px}.sa-hero__trust>div{padding:0 4px}.sa-hero__trust b{font-size:10px}.sa-hero__brand{font-size:56px!important}.sa-hero__strapline{font-size:14px!important}.sa-hero__description{font-size:12px!important}.sa-intro h2{font-size:22px}.sa-help{display:block;text-align:center}.sa-help a{display:inline-block;margin-top:13px}body.term-astoria .products .product-grid-item .product-wrapper{padding:10px}}

/* 1.1.0 Product cards: readable, spacious and consistent */
body.term-astoria .products .product-grid-item .product-wrapper{
  min-height:405px;
  display:flex;
  flex-direction:column;
  padding:16px 18px 18px;
}
body.term-astoria .product-grid-item .product-element-top{
  min-height:185px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
}
body.term-astoria .product-grid-item .product-element-top > a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:185px;
  width:100%;
}
body.term-astoria .product-grid-item .product-element-top img{
  max-height:178px!important;
  width:100%;
  height:178px;
  object-fit:contain!important;
}
body.term-astoria .product-grid-item .wd-entities-title,
body.term-astoria .product-grid-item .wd-entities-title a{
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.4!important;
}
body.term-astoria .product-grid-item .wd-entities-title{
  margin:0 0 8px!important;
  min-height:37px;
}
body.term-astoria .product-grid-item .wd-product-cats{
  font-size:11px!important;
  color:#858b97!important;
  margin-bottom:7px!important;
}
body.term-astoria .product-grid-item .product-wrapper .sa-machine-specs{
  margin:6px 0 7px!important;
  padding:0!important;
}
body.term-astoria .product-grid-item .product-wrapper .sa-card-description{
  color:#737987!important;
  font-size:11px!important;
  line-height:1.55!important;
  margin:4px 0 12px!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
body.term-astoria .product-grid-item .product-wrapper .sa-card-details{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin-top:auto;
  min-height:41px;
  border-radius:6px;
  background:#c8102e;
  color:white!important;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  width:100%;
}
body.term-astoria .product-grid-item .product-wrapper .sa-card-details:hover{
  background:#a20c20;
}
/* Replace alternate purchase CTA only within Astoria card to avoid duplicate buttons. */
body.term-astoria .product-grid-item .product-wrapper .wd-add-btn{
  display:none!important;
}
@media(max-width:767px){
  body.term-astoria .products .product-grid-item .product-wrapper{min-height:370px;padding:12px!important;}
  body.term-astoria .product-grid-item .product-element-top,
  body.term-astoria .product-grid-item .product-element-top > a{min-height:150px;}
  body.term-astoria .product-grid-item .product-element-top img{height:145px;max-height:145px!important;}
  body.term-astoria .product-grid-item .wd-entities-title,
  body.term-astoria .product-grid-item .wd-entities-title a{font-size:12px!important;}
}

/* v1.2 — Configured attribute heading icons only; native filtering remains untouched. */
body.term-astoria .smiths-astoria-filters .smiths-has-filter-icon {
  display:flex!important; align-items:center!important; gap:9px!important;
}
body.term-astoria .smiths-astoria-filters .smiths-filter-icon {
  width:22px!important; height:22px!important; flex:0 0 22px!important;
  object-fit:contain!important; border:0!important; vertical-align:middle!important;
}

/* v1.3: hero can display on any product category when shortcode is placed in a shared archive. */
body.tax-product_cat .sa-hero { isolation:isolate; }
body.tax-product_cat .sa-hero__inner { position:relative; z-index:1; }

/* v1.4: trust groups adapt when a category has 1, 2, or 3 items. */
.sa-hero__trust>div{flex:1;width:auto;min-width:0}
.sa-hero__trust{justify-content:flex-end}
@media(max-width:767px){.sa-hero__trust{display:flex;flex-wrap:wrap;gap:12px}.sa-hero__trust>div{min-width:78px}}
