.tnx-gr{--tnx-columns:3;--tnx-gap:24px;--tnx-lines:5;--tnx-count:5;--tnx-accent:var(--e-global-color-accent,#f85a40);--tnx-stars:#ffb52e;width:100%;min-width:0;font-family:inherit;color:inherit}
.tnx-gr *{box-sizing:border-box}
.tnx-gr [hidden]{display:none!important}
.tnx-gr__header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.tnx-gr__title{margin:0 0 10px;padding:0}
.tnx-gr__subtitle{margin:0}
.tnx-gr__summary{display:flex;align-items:center;gap:8px;flex:0 0 auto;width:max-content;max-width:min(100%,280px);align-self:flex-start;flex-wrap:nowrap}
.tnx-gr__summary>*{min-width:0}
.tnx-gr__score{font-size:1.3em;line-height:1.1}
.tnx-gr__count,.tnx-gr__based,.tnx-gr__prompt{font-size:.75em;white-space:nowrap}
.tnx-gr__summary-mark{width:24px;height:24px;object-fit:contain;flex:0 0 24px}
.tnx-gr__rating,.tnx-gr__score-label,.tnx-gr__based,.tnx-gr__prompt{display:none}
/* Simple line, matching the current site's compact score treatment. */
.tnx-gr__summary--inline .tnx-gr__summary-mark,.tnx-gr__summary--inline .tnx-gr__score{display:none}
.tnx-gr__summary--inline .tnx-gr__score-label{display:inline;font-size:1.2em;white-space:nowrap}
.tnx-gr__summary--inline .tnx-gr__count{white-space:normal}
/* Small blue Google and review-count pill. */
.tnx-gr__summary--badge{padding:6px 9px;border:1px solid #d5d9df;border-radius:3px;background:#4285f4;color:#fff;gap:6px}
.tnx-gr__summary--badge .tnx-gr__summary-mark{width:22px;height:22px;flex-basis:22px;padding:2px;background:#fff;border-radius:3px}
.tnx-gr__summary--badge .tnx-gr__count{font-size:.75em}
.tnx-gr__summary--badge .tnx-gr__rating,.tnx-gr__summary--badge .tnx-gr__score,.tnx-gr__summary--badge .tnx-gr__stars{display:none}
/* Text, stars and Google mark on one line. */
.tnx-gr__summary--stars .tnx-gr__score-label{display:inline;font-weight:500;white-space:nowrap}
.tnx-gr__summary--stars .tnx-gr__score{display:none}
.tnx-gr__summary--stars .tnx-gr__count{display:block;white-space:nowrap}
.tnx-gr__summary--stars .tnx-gr__stars{font-size:21px}
/* Compact square rating tile. */
.tnx-gr__summary--boxed{display:grid;grid-template-columns:24px auto;grid-template-rows:auto auto auto;column-gap:6px;row-gap:2px;width:max-content;padding:8px;border:1px solid #cfd3d7;border-radius:2px;text-align:center}
.tnx-gr__summary--boxed .tnx-gr__summary-mark{grid-column:1;grid-row:1;width:22px;height:22px}
.tnx-gr__summary--boxed .tnx-gr__rating{display:block;grid-column:2;grid-row:1;align-self:center;font-size:.8em;white-space:nowrap}
.tnx-gr__summary--boxed .tnx-gr__score{display:block;grid-column:1/3;grid-row:2;font-size:2.25em;color:#666}
.tnx-gr__summary--boxed .tnx-gr__stars{grid-column:1/3;grid-row:3;font-size:15px}
.tnx-gr__summary--boxed .tnx-gr__count{display:none}
.tnx-gr__summary--boxed .tnx-gr__based{display:block;grid-column:1/3;font-size:.67em}
/* Larger vertical badge, with the score centred under the Google mark. */
.tnx-gr__summary--stacked{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;width:max-content;padding:14px 18px;border:1px solid #d0d3d7;border-radius:2px}
.tnx-gr__summary--stacked .tnx-gr__summary-mark{width:54px;height:54px;padding:7px;border:1px solid #aeb4ba;border-radius:8px}
.tnx-gr__summary--stacked .tnx-gr__rating{display:block;font-weight:600;color:#666}
.tnx-gr__summary--stacked .tnx-gr__score{display:block;font-size:2.8em;color:#666}
.tnx-gr__summary--stacked .tnx-gr__stars{font-size:20px}
.tnx-gr__summary--stacked .tnx-gr__count{display:block}
/* Horizontal badge with blue Google Reviews footer strip. */
.tnx-gr__summary--button{display:grid;grid-template-columns:42px auto auto;grid-template-rows:auto auto auto auto;gap:3px 8px;width:max-content;padding:8px 10px 0;border:1px solid #d0d3d7;border-radius:2px;text-align:center}
.tnx-gr__summary--button .tnx-gr__summary-mark{grid-column:1;grid-row:1/3;width:42px;height:42px;padding:4px;border:1px solid #aaa;border-radius:6px}
.tnx-gr__summary--button .tnx-gr__rating{display:block;grid-column:2/4;grid-row:1;font-weight:600;text-align:left}
.tnx-gr__summary--button .tnx-gr__score-label{display:inline;grid-column:2;grid-row:2;white-space:nowrap}
.tnx-gr__summary--button .tnx-gr__score{display:none}
.tnx-gr__summary--button .tnx-gr__stars{grid-column:3;grid-row:2;font-size:16px}
.tnx-gr__summary--button .tnx-gr__count{display:block;grid-column:1/4;grid-row:3;padding-bottom:3px;font-size:.68em}
.tnx-gr__summary--button:after{content:"Google Reviews";grid-column:1/4;grid-row:4;margin:3px -10px 0;padding:4px;background:#4285f4;color:#fff;font-size:.72em}
/* Review-count card with a soft footer band. */
.tnx-gr__summary--bar{display:grid;grid-template-columns:24px auto;grid-template-rows:auto auto auto auto auto;gap:3px 6px;width:max-content;padding:8px;border:1px solid #d0d3d7;border-radius:2px;text-align:center}
.tnx-gr__summary--bar .tnx-gr__prompt{display:block;grid-column:1/3;font-size:.72em}
.tnx-gr__summary--bar .tnx-gr__summary-mark{grid-column:1;grid-row:2;width:20px;height:20px}
.tnx-gr__summary--bar .tnx-gr__rating{display:block;grid-column:2;grid-row:2;align-self:center;font-size:.76em}
.tnx-gr__summary--bar .tnx-gr__score,.tnx-gr__summary--bar .tnx-gr__score-label{display:none}
.tnx-gr__summary--bar .tnx-gr__stars{grid-column:1/3;grid-row:3;font-size:19px}
.tnx-gr__summary--bar .tnx-gr__count{display:block;grid-column:1/3;grid-row:4;font-size:.68em}
.tnx-gr__summary--bar:after{content:"Helping each other make better choices";grid-column:1/3;grid-row:5;margin:3px -8px -8px;padding:6px 4px;background:#edf0f3;color:#66717c;font-size:.62em;white-space:normal}
/* Narrow horizontal badge with Google mark, score and mini stars. */
.tnx-gr__summary--minimal{display:grid;grid-template-columns:38px auto auto;grid-template-rows:auto auto auto;gap:2px 7px;width:max-content;padding:6px 9px;border:1px solid #d0d3d7;border-radius:2px}
.tnx-gr__summary--minimal .tnx-gr__summary-mark{grid-column:1;grid-row:1/4;width:38px;height:38px;padding:3px;border:1px solid #aaa;border-radius:5px}
.tnx-gr__summary--minimal .tnx-gr__rating{display:block;grid-column:2/4;grid-row:1;font-size:.8em;white-space:nowrap}
.tnx-gr__summary--minimal .tnx-gr__score{display:block;grid-column:2;grid-row:2;font-size:1.25em}
.tnx-gr__summary--minimal .tnx-gr__stars{grid-column:3;grid-row:2;font-size:13px}
.tnx-gr__summary--minimal .tnx-gr__count{display:block;grid-column:2/4;grid-row:3;font-size:.65em}
.tnx-gr__list{display:grid;grid-template-columns:repeat(var(--tnx-columns),minmax(0,1fr));gap:var(--tnx-gap)}
.tnx-gr__card{min-width:0;padding:24px;border:1px solid #e3e7ed;border-top:3px solid var(--tnx-card-accent,#4285f4);border-radius:12px;background:#fff;box-shadow:0 2px 5px #00000006;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tnx-gr__card:nth-child(4n + 1){--tnx-card-accent:#4285f4}
.tnx-gr__card:nth-child(4n + 2){--tnx-card-accent:#ea4335}
.tnx-gr__card:nth-child(4n + 3){--tnx-card-accent:#fbbc05}
.tnx-gr__card:nth-child(4n){--tnx-card-accent:#34a853}
.tnx-gr__author{display:flex;align-items:center;gap:12px;margin-bottom:16px;width:100%}
.tnx-gr__author>div{min-width:0}
.tnx-gr__google-mark{width:20px;height:20px;object-fit:contain;flex:0 0 20px;margin-left:auto}
.tnx-gr__photo,.tnx-gr__initial{width:44px;height:44px;flex:0 0 44px;border-radius:50%;object-fit:cover}
.tnx-gr__initial{display:flex;align-items:center;justify-content:center;background:#edf0f5;color:#303845;font-weight:600}
.tnx-gr__name{font-weight:600;color:inherit;text-decoration:none}
.tnx-gr__date{display:block;font-size:.8em;margin-top:3px;opacity:.75}
.tnx-gr__stars{position:relative;display:inline-block;white-space:nowrap;line-height:1.3;font-size:21px;letter-spacing:2px;margin-bottom:12px}
.tnx-gr__stars-base{color:#dce0e6}
.tnx-gr__stars-fill{position:absolute;top:0;left:0;overflow:hidden;color:var(--tnx-stars)}
.tnx-gr__summary .tnx-gr__stars{margin:0}
.tnx-gr__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tnx-lines);overflow:hidden;line-height:1.65;margin:0 0 10px;width:100%}
.tnx-gr__text.is-expanded{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial;overflow:visible;max-height:none}
.tnx-gr button{font-family:inherit;font-size:inherit;cursor:pointer}
.tnx-gr__more{padding:0;border:0;background:transparent!important;color:var(--tnx-accent);line-height:1.5;margin-bottom:12px;text-decoration:underline}
.tnx-gr__card-footer{margin-top:auto;padding-top:14px;border-top:1px solid #e3e7ed;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8em}
.tnx-gr__card-footer a,.tnx-gr__provider,.tnx-gr__policy,.tnx-gr__status a{color:var(--tnx-accent)}
.tnx-gr .tnx-gr__all{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;max-width:100%;min-height:44px;padding:11px 18px;border:0;border-radius:6px;background:var(--e-global-color-accent,#f85a40);color:#fff;text-decoration:none;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;text-align:center;box-shadow:0 2px 6px #1723341a;transition:filter .2s ease,transform .2s ease,box-shadow .2s ease}
.tnx-gr .tnx-gr__all:hover{filter:brightness(.92);color:#fff;transform:translateY(-1px)}
.tnx-gr .tnx-gr__all:focus-visible{outline:2px solid var(--tnx-accent);outline-offset:4px}
.tnx-gr__source{font-family:Roboto,Arial,sans-serif!important;font-size:12px!important;font-style:normal!important;font-weight:400!important;letter-spacing:normal!important;white-space:nowrap!important;color:#5e5e5e!important;background:#fff;padding:4px 6px;border-radius:3px;line-height:1.5;flex-shrink:0}
.tnx-gr__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:0;width:100%;flex-wrap:wrap}
.tnx-gr__nav{display:flex;gap:8px}
.tnx-gr__nav button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #d9e0e8;border-radius:10px;background:#fff;color:var(--tnx-accent);font-size:20px;font-weight:500;line-height:1;box-shadow:0 1px 3px #17233412;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.tnx-gr__nav button:hover:not(:disabled){background:var(--tnx-accent);border-color:var(--tnx-accent);color:#fff;box-shadow:0 3px 8px #17233420;transform:translateY(-1px)}
.tnx-gr__nav button:disabled{opacity:.45;cursor:default;box-shadow:none}
.tnx-gr__load{background:var(--tnx-accent);border:0;color:#fff;border-radius:7px;padding:10px 18px}
.tnx-gr__status{padding:18px;border:1px solid #e3e7ed;border-radius:10px}
.tnx-gr__status p{margin:0 0 12px}
.tnx-gr__disclosure,.tnx-gr__attribution{font-size:.75em;line-height:1.6;margin-top:12px}
.tnx-gr__attribution{display:flex;gap:12px;flex-wrap:wrap}
.tnx-gr :is(button,a):focus-visible{outline:2px solid var(--tnx-accent);outline-offset:4px}
.tnx-gr--slider .tnx-gr__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:8px;gap:var(--tnx-gap)}
.tnx-gr--slider .tnx-gr__list::-webkit-scrollbar{display:none}
.tnx-gr--slider.tnx-gr--scrollbar-visible .tnx-gr__list{scrollbar-width:thin}
.tnx-gr--slider.tnx-gr--scrollbar-visible .tnx-gr__list::-webkit-scrollbar{display:block;height:6px}
.tnx-gr--slider.tnx-gr--scrollbar-visible .tnx-gr__list::-webkit-scrollbar-thumb{background:#aeb6c2;border-radius:999px}
.tnx-gr--slider .tnx-gr__list{cursor:grab}
.tnx-gr--slider .tnx-gr__list.is-pointer-down{cursor:grabbing}
.tnx-gr--slider .tnx-gr__list.is-dragging{user-select:none;-webkit-user-select:none;scroll-snap-type:none}
.tnx-gr--slider .tnx-gr__card{flex:0 0 calc((100% - (min(var(--tnx-columns),var(--tnx-count)) - 1)*var(--tnx-gap))/min(var(--tnx-columns),var(--tnx-count)));scroll-snap-align:start}
.tnx-gr--masonry .tnx-gr__list{display:block;columns:var(--tnx-columns);column-gap:var(--tnx-gap)}
.tnx-gr--masonry .tnx-gr__card{break-inside:avoid;margin-bottom:var(--tnx-gap)}
@media(max-width:1024px){.tnx-gr{--tnx-columns:2}.tnx-gr__header{align-items:flex-start}.tnx-gr__summary{max-width:260px}}
@media(max-width:767px){.tnx-gr{--tnx-columns:1}.tnx-gr__header{flex-direction:column;gap:14px}.tnx-gr__card{padding:20px}.tnx-gr__summary{max-width:100%}}
@media(prefers-reduced-motion:reduce){.tnx-gr__list{scroll-behavior:auto}}

/* Optional hover effects selected in the widget's Reviews controls. */
@media(hover:hover){
  .tnx-gr--hover-lift .tnx-gr__card:hover{transform:translateY(-4px);z-index:1}
.tnx-gr--hover-lift_shadow .tnx-gr__card:hover{transform:translateY(-5px);z-index:1;box-shadow:0 14px 30px #1523381f;border-top-color:var(--tnx-card-accent,#4285f4);border-right-color:#d3dbe6;border-bottom-color:#d3dbe6;border-left-color:#d3dbe6}
  .tnx-gr--hover-scale .tnx-gr__card:hover{transform:scale(1.025);z-index:1}
  .tnx-gr--hover-glow .tnx-gr__card:hover{z-index:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--tnx-accent) 22%,transparent),0 10px 25px #15233818}
}
@media(prefers-reduced-motion:reduce){.tnx-gr__card{transition:none}}

/* Preserve vertical shadow room without horizontal insets that expose the next slide. */
.tnx-gr--slider:not(.tnx-gr--style-ticker) .tnx-gr__list{padding:24px 0 48px;margin:0;scroll-padding-inline:0}

/* Reference designs selectable in the Elementor widget. */
.tnx-gr--style-wall .tnx-gr__card{border-top:0;border-radius:10px;box-shadow:0 2px 6px #1523380d}
.tnx-gr--style-wall .tnx-gr__card-footer{border-top:1px solid #e7ebf0}
.tnx-gr--style-saas .tnx-gr__header,.tnx-gr--style-ticker .tnx-gr__header{display:block;text-align:center;margin:0 auto 30px}
.tnx-gr--style-saas .tnx-gr__header>div:first-child,.tnx-gr--style-ticker .tnx-gr__header>div:first-child{max-width:760px;margin:0 auto}
.tnx-gr--style-saas .tnx-gr__title,.tnx-gr--style-ticker .tnx-gr__title{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:750;line-height:1.15;margin-bottom:12px}
.tnx-gr--style-saas .tnx-gr__summary,.tnx-gr--style-ticker .tnx-gr__summary{justify-content:center;max-width:none;margin:0 auto 18px}
.tnx-gr--style-saas .tnx-gr__summary .tnx-gr__count,.tnx-gr--style-ticker .tnx-gr__summary .tnx-gr__count{flex-basis:auto}
.tnx-gr--style-saas .tnx-gr__card{border-top:4px solid var(--tnx-accent);border-radius:8px}
.tnx-gr--style-saas .tnx-gr__card{border-top-color:var(--tnx-card-accent,#4285f4)}
.tnx-gr--style-ticker .tnx-gr__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:24px 16px 48px;margin:0;gap:16px}
.tnx-gr--style-ticker .tnx-gr__list::-webkit-scrollbar{display:none}
.tnx-gr--style-ticker .tnx-gr__card{flex:0 0 min(340px,82vw);scroll-snap-align:start;border-radius:12px;padding:20px}
.tnx-gr--style-ticker .tnx-gr__author{margin:0 0 10px}
@media(max-width:767px){.tnx-gr--style-wall .tnx-gr__list{columns:1}.tnx-gr--style-saas .tnx-gr__header,.tnx-gr--style-ticker .tnx-gr__header{margin-bottom:20px}.tnx-gr__footer{flex-direction:column;align-items:center;gap:14px}.tnx-gr__nav{justify-content:center}.tnx-gr .tnx-gr__all{align-self:center;margin:0;min-height:44px;padding:10px 16px;font-size:14px}}
