/* Review data and UI are owned by the plugin; Gutenberg owns placement of the full-width section. */
.nr-entry-body > .nr-reviews-host.wp-block-group.alignfull { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.nr-entry-body .nr-reviews-host > .wp-block-shortcode { width: 100%; max-width: none; margin: 0; }
.nr-reviews-dynamic { box-sizing: border-box; position: relative; width: 100%; max-width: none; margin: 0; display: block; padding: clamp(65px,6vw,110px) 20px; background-color: #012341; background-size: cover; background-position: center; color: #fff; text-align: center; }
.nr-reviews-dynamic *, .nr-reviews-dynamic *::before, .nr-reviews-dynamic *::after { box-sizing: border-box; }
.nr-reviews-dynamic__inner { width: min(100%,1000px); max-width: 1000px; margin-inline: auto; }
.nr-reviews-dynamic__eyebrow { margin: 0 0 22px; color: #dfeffd; font: 700 13px/1.5 Manrope,sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.nr-reviews-dynamic__viewport { display: flex; align-items: flex-start; gap: 0; width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scroll-behavior: smooth; transition: height .28s ease; }
.nr-reviews-dynamic__viewport::-webkit-scrollbar { display: none; }
.nr-reviews-dynamic__viewport:focus-visible { outline: 2px solid #dfeffd; outline-offset: 3px; }
.nr-reviews-dynamic__slide { flex: 0 0 100%; scroll-snap-align: center; min-width: 0; margin: 0; padding: 0 clamp(6px,2vw,22px); }
.nr-reviews-dynamic__rating { color: #fff; font: 800 20px/1.4 Manrope,sans-serif; letter-spacing: .08em; }
.nr-reviews-dynamic__quote { margin: 24px auto 26px; max-width: 850px; border: 0; padding: 0; color: #fff; }
.nr-reviews-dynamic__quote p { margin: 0; font: 400 clamp(17px,1.2vw,21px)/1.75 'Noto Serif',Georgia,serif; overflow-wrap: break-word; }
.nr-reviews-dynamic__tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; margin-bottom: 24px; }
.nr-reviews-dynamic__tags span { display: inline-block; padding: 5px 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 3px; color: #eff7fe; font: 400 12px/1.45 Manrope,sans-serif; }
.nr-reviews-dynamic__author { margin: 0; color: #fff; font: 700 16px/1.6 Manrope,sans-serif; }
.nr-reviews-dynamic__meta { margin: 4px 0 0; color: #dfeffd; font: 400 12px/1.7 Manrope,sans-serif; }
.nr-reviews-dynamic__source { display: inline-block; margin-top: 12px; color: #fff; font: 600 13px/1.5 Manrope,sans-serif; text-decoration: underline; text-underline-offset: 4px; }
.nr-reviews-dynamic__source:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.nr-reviews-dynamic__controls { display: flex; justify-content: center; align-items: center; gap: 26px; margin-top: 29px; }
.nr-reviews-dynamic__controls button { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: transparent; color: white; font: 400 28px/1 Georgia,serif; cursor: pointer; }
.nr-reviews-dynamic__controls button:disabled { opacity: .35; cursor: default; }
.nr-reviews-dynamic__controls button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.nr-reviews-dynamic__controls [data-nr-review-counter] { min-width: 65px; font: 600 13px/1.3 Manrope,sans-serif; color: #fff; }
.nr-reviews-dynamic__all { margin: 27px 0 0; }
.nr-reviews-dynamic__all a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid rgba(255,255,255,.75); padding: 11px 22px; color: #fff; font: 700 14px/1.5 Manrope,sans-serif; text-decoration: none; }
.nr-reviews-dynamic__all a:hover, .nr-reviews-dynamic__all a:focus-visible { background: #fff; color: #012341; }
@media (max-width: 767px) { .nr-reviews-dynamic { padding: 64px 18px; } .nr-reviews-dynamic__quote { margin: 22px 0; } .nr-reviews-dynamic__quote p { font-size: 17px; line-height: 1.65; } .nr-reviews-dynamic__slide { padding: 0 4px; } }
@media (prefers-reduced-motion: reduce) { .nr-reviews-dynamic__viewport { scroll-behavior: auto; transition: none; } }

/* Published-reviews page: the dark intro supports the shared transparent header. */
.nr-entry-body > .nr-reviews-page-host.wp-block-group.alignfull { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.nr-entry-body .nr-reviews-page-host > .wp-block-shortcode { width: 100% !important; max-width: none !important; margin: 0 !important; }
.nr-page-content:has(.nr-reviews-page-host),
.nr-entry-body:has(> .nr-reviews-page-host) { width: 100%; max-width: none; background: #eff7fe; }
.nr-reviews-page { width: 100%; margin: 0; color: #041442; background: #eff7fe; text-align: left; }
.nr-reviews-page__intro { padding: clamp(180px,14vw,240px) 24px 85px; background: #012341; color: #fff; text-align: center; }
.nr-reviews-page__intro .nr-eyebrow { margin: 0 0 20px; color: #7dbff5; }
.nr-reviews-page__intro h1 { margin: 0 0 22px; color: #fff; font: 700 clamp(36px,4vw,60px)/1.18 'Noto Serif',Georgia,serif; }
.nr-reviews-page__intro > p:last-child { margin: 0 auto; max-width: 690px; font: 400 16px/1.75 Manrope,sans-serif; }
.nr-reviews-page__body { width: min(calc(100% - 48px),1150px); margin: 0 auto; padding: clamp(55px,6vw,100px) 0 110px; }
.nr-reviews-page__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 25px; }
.nr-reviews-page__card { padding: clamp(23px,2.8vw,38px); background: #fff; border: 1px solid rgba(1,35,65,.1); border-radius: 5px; box-shadow: 0 9px 30px rgba(1,35,65,.055); }
.nr-reviews-page__rating { margin: 0 0 18px; color: #456e8d; font: 800 19px/1.4 Manrope,sans-serif; }
.nr-reviews-page__quote { margin: 0 0 24px; padding: 0; border: 0; }
.nr-reviews-page__quote p { margin: 0 0 12px; color: #041442; font: 400 clamp(16px,1.15vw,19px)/1.7 'Noto Serif',Georgia,serif; overflow-wrap: break-word; }
.nr-reviews-page__quote p:last-child { margin-bottom: 0; }
.nr-reviews-page__tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 20px; }
.nr-reviews-page__tags span { padding: 5px 9px; border: 1px solid rgba(69,110,141,.2); border-radius: 3px; background: #eff7fe; color: #456e8d; font: 500 12px/1.4 Manrope,sans-serif; }
.nr-reviews-page__author { margin: 0; font: 700 15px/1.5 Manrope,sans-serif; }
.nr-reviews-page__meta { margin: 4px 0 0; color: #536477; font: 400 12px/1.6 Manrope,sans-serif; }
.nr-reviews-page__source { display: inline-block; margin-top: 13px; color: #012341; font: 700 13px/1.5 Manrope,sans-serif; text-underline-offset: 4px; }
.nr-reviews-page__pagination { margin-top: 45px; }
.nr-reviews-page__pagination ul.page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; margin: 0; padding: 0; list-style: none; }
.nr-reviews-page__pagination .page-numbers li { list-style: none; }
.nr-reviews-page__pagination a.page-numbers, .nr-reviews-page__pagination span.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 10px 17px; border: 1px solid rgba(1,35,65,.3); color: #012341; font: 700 13px/1.4 Manrope,sans-serif; text-decoration: none; white-space: nowrap; }
.nr-reviews-page__pagination span.page-numbers.current, .nr-reviews-page__pagination a.page-numbers:hover, .nr-reviews-page__pagination a.page-numbers:focus-visible { background: #012341; color: #fff; }
.nr-reviews-page__empty { margin: 0; }
@media (max-width: 767px) { .nr-reviews-page__intro { padding: 175px 20px 60px; } .nr-reviews-page__body { width: calc(100% - 36px); padding: 48px 0 75px; } .nr-reviews-page__list { grid-template-columns: 1fr; gap: 18px; } }
