/**
 * LuxaLife reusable product trustband v0.8.0.
 * Full-width background with a 1440px content rail; independent from Reviews UI.
 * No footer template dependencies and no external fonts.
 */
.luxa-trustband {
  --lt-ink:#282a24;
  --lt-gold:#d9b66e;
  --lt-bg:#f5efe5;
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:none!important;
  margin-block:clamp(28px,4.5vw,68px);
  background:var(--lt-bg);
  padding:clamp(30px,4.5vw,62px) 0;
  border:0;
  color:var(--lt-ink);
}
.luxa-trustband *, .luxa-trustband *::before, .luxa-trustband *::after {box-sizing:border-box}
.luxa-trustband--full {
  width:100vw;
  max-width:none!important;
  position:relative;
  margin-left:calc(50% - 50vw);
  margin-right:0;
}
/* JS aligns this to the actual viewport when a page builder/tab has a
   left-aligned or narrow container. Without JS this is a standard full-bleed
   CSS breakout, which works in centered containers. */
.luxa-trustband__inner {
  width:min(calc(100% - 48px),1440px);
  max-width:1440px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(28px,5vw,94px);
  align-items:center;
}
.luxa-trustband__intro{max-width:560px;min-width:0}
.luxa-trustband__intro h2 {
  margin:0 0 13px;
  color:#242620;
  font-size:clamp(25px,2.55vw,36px);
  line-height:1.18;
  letter-spacing:-.036em;
  font-weight:770;
}
/* WooCommerce's product Description tab has a highly specific generic h2 rule.
   Preserve our banner hierarchy when a shortcode is placed inside that tab. */
body.single-product .site-main div.product .woocommerce-tabs .panel .luxa-trustband__intro h2 {
  font-size:clamp(25px,2.55vw,36px);
  margin:0 0 13px;
  line-height:1.18;
}
.luxa-trustband__intro p {
  margin:0;
  color:#645f55;
  font-size:clamp(14px,1.15vw,17px);
  line-height:1.7;
  max-width:530px;
}
.luxa-trustband__badge-group {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  justify-items:center;
  column-gap:clamp(20px,3.2vw,48px);
  row-gap:20px;
  min-width:0;
}
.luxa-trustband__badge-wrap {
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.luxa-trustband__badge {
  width:min(100%,208px);
  aspect-ratio:1;
  min-width:0;
  border:0;
  outline:0;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:18px 13px;
  text-align:center;
  color:#fff;
  overflow:hidden;
  box-shadow:0 13px 26px rgba(30,31,29,.13);
  font-family:inherit;
}
.luxa-trustband__badge::before,.luxa-trustband__badge::after{content:none!important}
.luxa-trustband__badge--luxa{background:#242923}
.luxa-trustband__badge--bol{background:#1015bc}
.luxa-trustband__logo{
  width:80%;
  max-width:153px;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 4px;
}
.luxa-trustband__logo-image{
  display:block!important;
  object-fit:contain!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:36px!important;
}
.luxa-trustband__logo-fallback{
  font-size:clamp(18px,2vw,25px);
  font-weight:850;
  letter-spacing:-.07em;
  color:#e9c579;
  white-space:nowrap;
}
.luxa-trustband__logo-fallback span{color:#fff}
.luxa-trustband__bol-logo{
  font:900 clamp(30px,3vw,40px)/.9 Arial,Helvetica,sans-serif;
  letter-spacing:-.08em;
  color:#fff;
  margin:0 0 6px;
}
.luxa-trustband__bol-logo span{color:#ffb918}
.luxa-trustband__badge-caption{
  color:#e7dfce;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.13em;
  font-weight:750;
}
.luxa-trustband__badge--bol .luxa-trustband__badge-caption{color:#dcdfff}
.luxa-trustband__stars {
  position:relative;
  display:inline-block;
  white-space:nowrap;
  letter-spacing:.045em;
  font-size:clamp(18px,1.95vw,25px);
  line-height:1;
  margin:11px 0 8px;
  color:#566154;
}
.luxa-trustband__stars--bol{color:#5559b9}
.luxa-trustband__stars-fill {
  position:absolute;
  top:0;
  left:0;
  width:0;
  overflow:hidden;
  white-space:nowrap;
  color:#e9bd68;
}
.luxa-trustband__stars--bol .luxa-trustband__stars-fill{color:#ffc32e}
.luxa-trustband__rating{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:2px;
  white-space:nowrap;
}
.luxa-trustband__rating strong{
  font-weight:720;
  font-size:clamp(34px,3.5vw,48px);
  letter-spacing:-.063em;
  line-height:1;
  font-variant-numeric:tabular-nums;
  color:#fff;
}
.luxa-trustband__rating>span{font-size:18px;color:#f5f0e8}
.luxa-trustband__count{
  margin-top:6px;
  font-size:clamp(11px,1.13vw,14px);
  font-weight:620;
  color:#fff;
  line-height:1.4;
}
.luxa-trustband__source{
  color:#786f62;
  font-size:10px;
  line-height:1.4;
  font-weight:750;
  letter-spacing:.10em;
  text-align:center;
}
@media(max-width:920px){
  .luxa-trustband__inner{grid-template-columns:minmax(0,1fr);gap:25px}
  .luxa-trustband__intro{max-width:650px;justify-self:center;text-align:center}
  .luxa-trustband__intro p{max-width:600px}
  .luxa-trustband__badge-group{width:min(100%,470px);justify-self:center}
  .luxa-trustband__badge{width:min(100%,204px)}
}
@media(max-width:550px){
  .luxa-trustband{padding:28px 0;margin-block:30px}
  .luxa-trustband__inner{width:calc(100% - 32px);gap:23px}
  .luxa-trustband__intro h2{font-size:clamp(22px,5.8vw,28px);margin-bottom:9px}
  body.single-product .site-main div.product .woocommerce-tabs .panel .luxa-trustband__intro h2{
    font-size:clamp(22px,5.8vw,28px);
    margin-bottom:9px;
  }
  .luxa-trustband__intro p{font-size:13px;line-height:1.55}
  .luxa-trustband__badge-group{column-gap:16px}
  .luxa-trustband__badge{width:min(100%,174px);padding:12px 7px}
  .luxa-trustband__logo{min-height:26px;margin-bottom:2px}
  .luxa-trustband__logo-image{max-height:28px!important}
  .luxa-trustband__logo-fallback{font-size:clamp(15px,4vw,21px)}
  .luxa-trustband__bol-logo{font-size:clamp(26px,6.2vw,36px)}
  .luxa-trustband__badge-caption{font-size:7.5px;letter-spacing:.06em}
  .luxa-trustband__stars{font-size:clamp(16px,4.6vw,21px);margin:8px 0 6px}
  .luxa-trustband__rating strong{font-size:clamp(33px,9vw,42px)}
  .luxa-trustband__rating>span{font-size:15px}
  .luxa-trustband__count{font-size:clamp(10px,2.9vw,12px)}
  .luxa-trustband__source{font-size:8.5px;letter-spacing:.06em}
}
@media(max-width:370px){
  .luxa-trustband__inner{width:calc(100% - 24px)}
  .luxa-trustband__badge-group{column-gap:9px}
  .luxa-trustband__badge{width:100%}
  .luxa-trustband__source{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .luxa-trustband *{transition:none!important;animation:none!important}
}


/* v1.0 — scoped compact placement, used for WooCommerce short descriptions.
   True component-width responsiveness rather than only viewport breakpoints. */
.luxa-trustband:not(.luxa-trustband--full) { container-type:inline-size; }
.luxa-trustband--compact {
  width:100%;
  margin:14px 0;
  padding:16px 15px 18px;
  background:#f6f1e8;
  border:1px solid #ece4d7;
  border-radius:10px;
}
.luxa-trustband--compact .luxa-trustband__inner {
  display:flex;
  width:100%;
  max-width:100%;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
}
.luxa-trustband--compact .luxa-trustband__intro {
  max-width:none;
  text-align:center;
}
.luxa-trustband--compact .luxa-trustband__intro h2,
body.single-product .site-main div.product .woocommerce-tabs .panel .luxa-trustband--compact .luxa-trustband__intro h2 {
  font-size:clamp(16px,2vw,21px);
  line-height:1.3;
  letter-spacing:-.025em;
  margin:0 0 6px;
}
.luxa-trustband--compact .luxa-trustband__intro p {
  font-size:12px;line-height:1.55;margin:0 auto;max-width:440px;
}
.luxa-trustband--compact .luxa-trustband__badge-group{
  width:100%;
  max-width:380px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:16px;
}
.luxa-trustband__badge-group--single{
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center;
}
.luxa-trustband--compact .luxa-trustband__badge {
  width:min(100%,144px);
  box-shadow:0 7px 14px rgba(0,0,0,.10);
  padding:12px 7px;
}
.luxa-trustband--compact .luxa-trustband__logo{min-height:25px;max-height:29px;margin-bottom:2px}
.luxa-trustband--compact .luxa-trustband__logo-image{max-height:26px!important}
.luxa-trustband--compact .luxa-trustband__logo-fallback{font-size:clamp(15px,1.5vw,20px)}
.luxa-trustband--compact .luxa-trustband__bol-logo{font-size:clamp(28px,2.5vw,35px);margin-bottom:3px}
.luxa-trustband--compact .luxa-trustband__badge-caption{font-size:7px;letter-spacing:.06em}
.luxa-trustband--compact .luxa-trustband__stars{font-size:clamp(16px,1.5vw,20px);margin:7px 0 6px;letter-spacing:.01em}
.luxa-trustband--compact .luxa-trustband__rating strong{font-size:clamp(31px,2.8vw,41px)}
.luxa-trustband--compact .luxa-trustband__rating>span{font-size:14px}
.luxa-trustband--compact .luxa-trustband__count{font-size:10px;margin-top:5px}
.luxa-trustband--compact .luxa-trustband__source{font-size:8px;letter-spacing:.04em}
.luxa-trustband--compact .luxa-trustband__badge-wrap{gap:7px}
.luxa-trustband--no-intro .luxa-trustband__inner { grid-template-columns:minmax(0,1fr); }
.luxa-trustband--no-intro .luxa-trustband__badge-group {
  width:min(100%,520px);justify-self:center;margin-inline:auto;
}
.luxa-trustband--no-intro.luxa-trustband--compact .luxa-trustband__badge-group{width:100%}
@container (max-width:720px) {
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__inner{
    grid-template-columns:minmax(0,1fr);gap:18px;
  }
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__intro{
    text-align:center;max-width:100%;justify-self:center;
  }
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__intro h2{font-size:clamp(18px,3vw,24px)}
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__badge-group{width:min(100%,390px);justify-self:center}
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__badge{width:min(100%,166px)}
}
@container (max-width:380px){
  .luxa-trustband--compact{padding:12px 9px 14px}
  .luxa-trustband--compact .luxa-trustband__badge-group{gap:9px}
  .luxa-trustband--compact .luxa-trustband__badge{width:min(100%,135px);padding:9px 5px}
  .luxa-trustband--compact .luxa-trustband__logo-fallback{font-size:15px}
  .luxa-trustband--compact .luxa-trustband__stars{font-size:16px}
  .luxa-trustband--compact .luxa-trustband__rating strong{font-size:32px}
  .luxa-trustband--compact .luxa-trustband__source{font-size:7.5px}
}


/* v1.1.0 — editorial round badges and a genuinely horizontal compact review strip.
   All typography respects safe zones; never re-create the bol mark. */
.luxa-trustband__badge--bol{background:#254476!important}
.luxa-trustband__bol-name{font-family:inherit;font-size:clamp(23px,2.3vw,29px);font-weight:680;line-height:1.1;letter-spacing:.01em;color:#fff;margin:0 0 3px}
.luxa-trustband__badge--luxa .luxa-trustband__logo{
  width:61%;max-width:117px;min-height:0;height:29px;flex:0 0 auto;margin-bottom:4px
}
.luxa-trustband__badge--luxa .luxa-trustband__logo-image{max-height:25px!important;max-width:100%!important;object-fit:contain!important}
.luxa-trustband__badge--luxa .luxa-trustband__logo-fallback{font-size:clamp(15px,1.3vw,19px)}
.luxa-trustband__badge{padding:21px 15px;justify-content:center;gap:1px}
.luxa-trustband__badge-caption{font-size:8px;letter-spacing:.08em}
.luxa-trustband__stars{font-size:clamp(17px,1.55vw,21px);margin:7px 0 7px}
.luxa-trustband__rating strong{font-size:clamp(37px,3.2vw,44px)}
.luxa-trustband__count{font-size:12px;margin-top:5px}
.luxa-trustband__source{text-transform:none;letter-spacing:.035em;font-size:11px;font-weight:610}
a.luxa-trustband__source-link{color:#625a4d!important;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(146,111,52,.5);text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}
a.luxa-trustband__source-link:hover,a.luxa-trustband__source-link:focus-visible{color:#242923!important;text-decoration-color:currentColor}
.luxa-trustband__badge-wrap{min-width:0}

/* Compact is a different visual component, not a circular badge scaled down.
   Designed for 260–700px product summary columns, with restrained typography. */
.luxa-trustband--compact{
  background:transparent;border:1px solid #e5decf;border-radius:8px;
  margin:12px 0;padding:9px 12px;
}
.luxa-trustband--compact .luxa-trustband__inner{gap:9px}
.luxa-trustband--compact .luxa-trustband__intro{text-align:left;max-width:none}
.luxa-trustband--compact .luxa-trustband__intro h2,
body.single-product .site-main div.product .woocommerce-tabs .panel .luxa-trustband--compact .luxa-trustband__intro h2{
 font-size:15px;line-height:1.32;font-weight:690;margin:0 0 3px
}
.luxa-trustband--compact .luxa-trustband__intro p{font-size:11px;line-height:1.5;margin:0}
.luxa-trustband--compact .luxa-trustband__badge-group{
 width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr);gap:0;
}
.luxa-trustband--compact .luxa-trustband__badge-wrap{
 width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;
 align-items:center;gap:2px 10px;padding:10px 0;border-bottom:1px solid #ece5d8
}
.luxa-trustband--compact .luxa-trustband__badge-wrap:last-child{border-bottom:0}
.luxa-trustband--compact .luxa-trustband__badge{
 grid-column:1/-1;width:100%;aspect-ratio:auto;min-height:0;
 display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
 grid-template-rows:auto auto;gap:4px 8px;align-items:center;
 border-radius:0;padding:0;background:transparent!important;box-shadow:none!important;
 color:#252923;overflow:visible;text-align:left;
}
.luxa-trustband--compact .luxa-trustband__logo{
 grid-column:1;grid-row:1;justify-content:flex-start;width:100%;max-width:117px;
 height:25px;margin:0;
}
.luxa-trustband--compact .luxa-trustband__logo-image{max-height:22px!important}
.luxa-trustband--compact .luxa-trustband__logo-fallback{font-size:16px;color:#b28b40}
.luxa-trustband--compact .luxa-trustband__logo-fallback span{color:#292c27}
.luxa-trustband--compact .luxa-trustband__bol-name{
 grid-column:1;grid-row:1;font-size:21px;line-height:1;color:#254476;
 font-weight:670;margin:0;
}
.luxa-trustband--compact .luxa-trustband__badge-caption{
 grid-column:1;grid-row:2;font-size:9px;line-height:1.3;letter-spacing:.04em;color:#776e5e
}
.luxa-trustband--compact .luxa-trustband__stars{
 grid-column:2;grid-row:1;justify-self:end;margin:0;
 font-size:18px;color:#ded8cf;letter-spacing:0;
}
.luxa-trustband--compact .luxa-trustband__stars--bol{color:#ded8cf}
.luxa-trustband--compact .luxa-trustband__rating{
 grid-column:2;grid-row:2;justify-self:end;color:#262c2c;
}
.luxa-trustband--compact .luxa-trustband__rating strong{
 font-size:26px;line-height:1;font-weight:725;color:#262c2c;
}
.luxa-trustband--compact .luxa-trustband__rating>span{font-size:12px;color:#79756e}
.luxa-trustband--compact .luxa-trustband__count{
 grid-column:2;grid-row:3;justify-self:end;font-size:10px;color:#656157;
 margin:0;white-space:nowrap;
}
.luxa-trustband--compact .luxa-trustband__source{
 grid-column:1;grid-row:2;align-self:end;justify-self:start;
 text-transform:none;font-size:10px;letter-spacing:0;color:#746c61
}
.luxa-trustband--compact .luxa-trustband__badge-group--single{justify-items:stretch}
.luxa-trustband--compact .luxa-trustband__badge-group--single .luxa-trustband__badge-wrap{width:100%}
@container (max-width:320px){
  .luxa-trustband--compact{padding:8px}
  .luxa-trustband--compact .luxa-trustband__stars{font-size:15px}
  .luxa-trustband--compact .luxa-trustband__rating strong{font-size:23px}
}
@media(max-width:550px){
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__badge--luxa .luxa-trustband__logo{
    width:58%;max-width:100px;height:24px
  }
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__bol-name{font-size:24px}
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__badge{padding:14px 10px}
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__stars{font-size:17px}
  .luxa-trustband:not(.luxa-trustband--compact) .luxa-trustband__rating strong{font-size:36px}
}

/* v1.2 — condensed horizontal trustband in the purchase summary. */
.luxa-trustband--compact{margin:8px 0;padding:7px 11px;border-radius:7px}
.luxa-trustband--compact .luxa-trustband__inner{gap:6px}
.luxa-trustband--compact .luxa-trustband__intro h2,
body.single-product .site-main div.product .woocommerce-tabs .panel .luxa-trustband--compact .luxa-trustband__intro h2{
  font-size:14px;line-height:1.25;margin:0 0 1px;
}
.luxa-trustband--compact .luxa-trustband__intro p{font-size:10.5px;line-height:1.35}
.luxa-trustband--compact .luxa-trustband__badge-wrap{
  padding:6px 0 5px;gap:2px 8px;
}
.luxa-trustband--compact .luxa-trustband__badge{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-rows:auto auto;gap:1px 7px;
}
.luxa-trustband--compact .luxa-trustband__logo{
  width:100%;max-width:139px;height:25px;
}
.luxa-trustband--compact .luxa-trustband__logo-image{
  width:auto!important;height:auto!important;max-width:100%!important;
  max-height:24px!important;object-fit:contain!important;
}
.luxa-trustband--compact .luxa-trustband__badge-caption{
  font-size:8px;letter-spacing:.03em;
}
.luxa-trustband--compact .luxa-trustband__bol-name{font-size:19px}
.luxa-trustband--compact .luxa-trustband__stars{
  font-size:16px;letter-spacing:-.025em;
}
.luxa-trustband--compact .luxa-trustband__rating strong{font-size:23px}
.luxa-trustband--compact .luxa-trustband__rating>span{font-size:11px}
.luxa-trustband--compact .luxa-trustband__count{font-size:9px}
.luxa-trustband--compact .luxa-trustband__source{
  font-size:9px;line-height:1.35;margin:0;
}
@container (max-width:320px){
  .luxa-trustband--compact{padding:6px 8px}
  .luxa-trustband--compact .luxa-trustband__logo{max-width:115px}
  .luxa-trustband--compact .luxa-trustband__stars{font-size:14px}
  .luxa-trustband--compact .luxa-trustband__rating strong{font-size:21px}
}
