.cnjrly-ratings { display: flow-root; width: 100%; }
.cnjrly-ratings > h2 { margin: 0 0 1rem; }
.cnjrly-ratings .cnjrly-ratings__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 320px)); grid-auto-rows: max-content; align-content: start; gap: .75rem; height: auto; list-style: none; margin: 0; padding: 0; }
.cnjrly-ratings__item { min-width: 0; }
.cnjrly-ratings__card { display: grid; box-sizing: border-box; height: 100%; min-height: 176px; grid-template-rows: 46px 32px 24px 48px; align-content: center; align-items: start; row-gap: .15rem; padding: .85rem 1rem; border: 1px solid var(--cj-border-light, #e6e7eb); border-radius: var(--cj-radius-input, 10px); background: var(--cj-surface-primary, #fff); color: var(--cj-text-primary, #25202a); text-decoration: none; }
.cnjrly-ratings__logo-slot { display: block; box-sizing: border-box; width: min(100%, 160px); height: 46px; overflow: hidden; }
.cnjrly-ratings__logo { display: block; box-sizing: border-box; width: 160px; max-width: 100%; height: auto; margin: 0; }
.cnjrly-ratings a.cnjrly-ratings__card:hover, .cnjrly-ratings a.cnjrly-ratings__card:focus-visible { border-color: #4c187e; color: #4c187e; text-decoration: none; }
.cnjrly-ratings a.cnjrly-ratings__card:focus-visible { outline: 2px solid #4c187e; outline-offset: 2px; }
.cnjrly-ratings__score { align-self: center; font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.cnjrly-ratings__stars { display: inline-block; align-self: center; width: max-content; font-family: Arial, sans-serif; font-size: 1.15rem; font-weight: 400; line-height: 1; letter-spacing: .08em; background: linear-gradient(to right, #d97d37 var(--cnjrly-star-fill), #d1ced5 var(--cnjrly-star-fill)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.cnjrly-ratings__recommend { display: inline-block; align-self: center; color: #d97d37; font-size: .88rem; font-weight: 600; line-height: 1; letter-spacing: .045em; text-transform: uppercase; }
.cnjrly-ratings__count { display: block; align-self: start; min-height: 48px; color: var(--cj-text-muted, #625b68); font-size: .83rem; line-height: 1.35; }
.cnjrly-ratings__count-value, .cnjrly-ratings__as-of { display: block; }
.cnjrly-ratings__as-of { margin-top: .05rem; }
.cnjrly-insurance { display: flow-root; width: 100%; }
.cnjrly-insurance-slot:not(:has(.cnjrly-insurance)) { display: none !important; }
.cnjrly-insurance > h2 { margin: 0 0 1rem; }
.cnjrly-insurance__details { display: block; box-sizing: border-box; margin: 0; padding: 1rem 1.15rem; border: 1px solid var(--cj-border-light, #e6e7eb); border-radius: var(--cj-radius-input, 10px); background: #f8f8f9; }
.cnjrly-insurance__details p { margin: 0; color: var(--cj-text-primary, #25202a); font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.cnjrly-insurance__details p + p { margin-top: .75rem; }
@media (max-width: 339px) { .cnjrly-ratings .cnjrly-ratings__grid { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 800px) { .cnjrly-ratings .cnjrly-ratings__grid { grid-template-columns: repeat(3, minmax(0, 320px)); } }
