:root {
	--ink: #303942;
	--muted: #66717c;
	--line: #dfe5e8;
	--link: #008fcb;
	--green: #00b600;
	--green-dark: #008f00;
	--red: #bc0000;
	--gold: #d4ae58;
	--gold-light: #fff0a5;
	--panel: #eff4f8;
	--white: #fff;
	--shadow: 0 8px 24px rgba(26, 43, 57, .08);
	font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
	color: var(--ink);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-size: 16px; line-height: 1.45; }
a { color: var(--link); }
a:hover { text-decoration-thickness: 2px; }
.shell { width: min(1500px, calc(100% - 32px)); margin: 0 auto; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 10px 14px; background: #000; color: #fff; }
.skip-link:focus { left: 10px; top: 10px; }
.site-header { border-bottom: 1px solid var(--line); background: #fff; }
.site-header__inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { color: var(--ink); font-weight: 900; font-size: 1.5rem; text-decoration: none; }.brand span { font-weight: 500; }
.site-header nav a { font-weight: 700; text-decoration: none; }
.main-content { padding: 28px 0 48px; }
.site-footer { border-top: 1px solid var(--line); padding: 20px 0; color: var(--muted); font-size: .9rem; }
.icon { width: 1.5em; height: 1.5em; fill: currentColor; vertical-align: -.12em; }
.indicator-list .icon {
	width: 1em !important;
	height: 1em !important;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.button { border: 0; border-radius: 4px; background: #126f9c; color: #fff; padding: 9px 14px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; justify-content: center; }
.button:hover { filter: brightness(.94); }.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #1b74d1; outline-offset: 3px; }
.button--dark { background: #34424b; }.button--danger { background: #a80a0a; }.button--ghost { background: #fff; color: #34424b; border: 1px solid #b8c2c9; }
.error-box, .empty-state { padding: 28px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; }

/* Search */
.search-layout { display: grid; grid-template-columns: minmax(230px, 300px) 1fr; gap: 26px; align-items: start; }
.search-panel { border-right: 1px solid var(--line); padding-right: 24px; position: sticky; top: 18px; }.search-panel h1 { margin-top: 0; }
.search-panel label, .filter-fieldset legend { display: block; font-weight: 800; margin: 14px 0 6px; }
.search-panel input[type="search"], .search-panel select { width: 100%; min-height: 42px; border: 1px solid #aeb9c0; border-radius: 4px; padding: 8px 10px; font: inherit; background: #fff; }
.search-box { display: grid; grid-template-columns: 1fr 44px; }.search-box input { border-radius: 4px 0 0 4px !important; }.icon-button { border: 0; background: #126f9c; color: #fff; border-radius: 0 4px 4px 0; cursor: pointer; font-size: 1.3rem; }
.filter-fieldset { border: 0; padding: 0; margin: 16px 0; }.score-filter { display: grid; grid-template-columns: 1fr 34px 34px; gap: 7px; align-items: center; padding: 6px 0; }.score-filter > span { line-height: 1.15; }.score-choice { width: 34px; height: 34px; padding: 0px !important;line-height:34px;text-align:center; border: 1px solid transparent; border-radius: 50%; background: transparent; color: #a8b1b7; cursor: pointer; font-size: 1.3rem; }.score-choice--meets.is-active { color: #00a120; background: #e5f7e8; border-color: #70c97f; }.score-choice--exceeds.is-active { color: #ff9d1a; background: #fff1dc; border-color: #ffc46f; }
.filter-actions { display: flex; gap: 8px; margin-top: 16px; }.review-count { color: var(--muted); font-size: .85rem; }
.results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }.review-card { background: var(--panel); border: 1px solid rgba(0,0,0,.1); border-radius: 10px; padding: 16px 16px 62px; min-height: 290px; position: relative; box-shadow: 0 3px 12px rgba(20, 41, 55, .04); }.review-card__title { text-align: center; font-size: 1.15rem; line-height: 1.25; margin: 12px 0 4px; }.review-card__title a { color: #065cc7; text-decoration: none !important; }.review-card__byline { text-align: center; font-size: .78rem; margin: 0 0 13px; color: #5c6670; }.review-card__scores { display: flex; justify-content: center; gap: 8px; margin: 13px 0; }.score-icon { font-size: 2em; }.score-icon--meets { color: #00a420; }.score-icon--exceeds { color: #ff9d1a; }.score-icon--no { color: #b51717; }.review-card > .button { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.endorsement-mini-row { min-height: 94px; display: flex; justify-content: center; align-items: flex-start; gap: 10px; flex-wrap: wrap; }.endorsement-mini { font-size: .72rem; font-weight: 800; padding: 6px 8px; border-radius: 5px; background: #d8efdc; color: #244b2d; text-align: center; }.endorsement-mini--image { background: transparent; color: #20272c; padding: 0 3px; line-height: 1.08; }.endorsement-mini--image img { display: block; width: 58px; height: 58px; object-fit: contain; margin: 0 auto 4px; }.endorsement-mini--image span { display: block; font-size: .7rem; font-weight: 900; }.endorsement-mini--none { margin-top: 12px; background: rgba(0,0,0,.06); color: #68737b; }
.load-more-wrap { text-align: center; padding: 24px 0 0; }.pagination { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin-top:24px; }.pagination a { padding:6px 10px; border:1px solid #bac5cc; border-radius:4px; text-decoration:none; }.pagination .is-current { background:#34424b; color:#fff; }

/* Review detail */
.review-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: start; padding-bottom: 22px; border-bottom: 1px solid var(--line); }.review-meta h1 { font-size: clamp(1.8rem, 3vw, 2.45rem); line-height: 1.12; margin: 0 0 14px; font-weight: 900; }.review-meta dl { margin: 0; }.review-meta dl div { display: flex; gap: 6px; margin: 3px 0; }.review-meta dt { font-weight: 800; }.review-meta dd { margin: 0; overflow-wrap: anywhere; }.review-summary { grid-column: 1 / -1; font-size: 1.05rem; }.endorsements { min-width: 220px; }.endorsements__title { color: #fff; background: #90cc90; padding: 10px; text-align: center; }.endorsements__items { display: flex; justify-content: center; gap: 12px; padding-top: 10px; }.endorsements__items > div { text-align: center; font-size: .95rem; }.endorsements img { display: block; width: auto; height: 74px; margin: 0 auto 4px; }
.section-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 24px 0 20px; }.summary-card { color: #fff; text-decoration: none; border-radius: 8px; padding: 24px 18px 18px; text-align: center; min-height: 220px; display: flex; flex-direction: column; justify-content: center; box-shadow: var(--shadow); }.summary-card:hover { transform: translateY(-2px); }.summary-card--meets { background: linear-gradient(135deg, #00b200, #00c30c); }.summary-card--no { background: linear-gradient(135deg, #ad0000, #c00000); }.summary-card--exceeds { background: linear-gradient(135deg, #c59d4d, #fff0a5 52%, #b98b36); color: #3e3a30; }.summary-card__title { font-size: 1.4rem; line-height: 1.08; font-weight: 900; text-transform: uppercase; text-shadow: 0 2px 2px rgba(0,0,0,.4); }.summary-card__status { margin: 18px auto 12px; width: 100%; padding: 11px 8px; border: 1px solid rgba(255,255,255,.18); font-size: 1.15rem; line-height: 1.08; font-weight: 900; }.summary-card--exceeds .summary-card__status { border-color: rgba(70,50,20,.12); }.summary-card__criteria { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px; font-size: 1.15rem; }.summary-card__criteria span { display: inline-flex; flex-direction: column; align-items: center; }.summary-card__criteria small { font-weight: 900; font-size: .9rem; }
.review-body-with-nav { display: grid; grid-template-columns: minmax(0, 1fr) 102px; gap: 14px; align-items: start; }.detail-section { border: 1px solid; border-radius: 9px; overflow: hidden; margin: 20px 0; scroll-margin-top: 12px; }.detail-section--meets { border-color: var(--green); }.detail-section--no { border-color: var(--red); }.detail-section--exceeds { border-color: var(--gold); }.detail-section__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; color: #fff; }.detail-section--meets .detail-section__header { background: var(--green); }.detail-section--no .detail-section__header { background: var(--red); }.detail-section--exceeds .detail-section__header { background: linear-gradient(90deg, #c79e4f, #fff3af, #c79e4f); color: #35342f; }.detail-section__header h2 { font-size: 2rem; margin: 0; text-shadow: 0 2px 2px rgba(0,0,0,.28); }.top-link { font-size: .75rem; color: inherit; text-decoration: none; white-space: nowrap; }.criteria-list { padding: 10px 18px; }.criterion-row { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 12px; }.criterion-row:last-child { border-bottom: 0; }.criterion-score { min-height: 104px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-radius: 7px; font-size: .77rem; text-transform: uppercase; font-weight: 900; padding: 10px; }.criterion-score .icon { font-size: 3rem; margin-bottom: 8px; }.criterion-score--meets { color: #00a526; }.criterion-score--no { color: #b80000; }.criterion-score--exceeds { color: #ffbc32; }.criterion-content h3 { margin: 0 0 10px; font-size: 1.32rem; line-height: 1.2; }.indicator-list { list-style: none; padding: 0; margin: 0; }.indicator-list li { display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: start; margin: 6px 0; font-size: .9rem; }.indicator-list .is-selected { color: #262c31; font-weight: 600; }.indicator-list .is-selected .icon { color: #00a51f; font-size: 1.5em;}.indicator-list .is-unselected { color: #adb4b9; }.indicator-list .is-unselected .icon { font-size:1.5em;color: #b51212; }.indicator-list .is-disabled { color: #aab0b5; }.indicator-list .is-disabled .icon { font-size:1.5em;color: #222; }.reviewer-note { margin-top: 12px; padding: 10px; background: #f5f7f8; border-left: 4px solid #97a5ae; }
.floating-nav { position: sticky; top: 12px; border: 1px solid #d5dce0; border-radius: 10px; padding: 8px 8px 10px; font-size: .68rem; text-align: center; background: #fff; max-height: calc(100vh - 24px); overflow-y: auto; }.floating-nav > a { display: block; margin: 6px 0; line-height: 1.05; text-decoration: none; color: #3f4a52; }.floating-nav__top { font-size: 1.25rem; }.floating-nav__criterion { font-size: 1.05rem; }.floating-nav__criterion--meets { color: #00a51f !important; }.floating-nav__criterion--exceeds { color: #ff9d1a !important; }.floating-nav__criterion--no { color: #b80000 !important; }

@media (max-width: 1100px) { .results-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.section-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 760px) { .shell { width: min(100% - 22px, 1500px); }.site-header__inner { min-height: 58px; }.search-layout { grid-template-columns: 1fr; }.search-panel { position: static; border-right: 0; border-bottom: 1px solid var(--line); padding-right: 0; padding-bottom: 22px; }.results-grid { grid-template-columns: 1fr; }.review-header { grid-template-columns: 1fr; }.review-summary { grid-column: auto; }.endorsements { min-width: 0; }.section-summary-grid { grid-template-columns: 1fr; }.summary-card { min-height: 150px; }.review-body-with-nav { grid-template-columns: 1fr; }.floating-nav { display: none; }.criterion-row { grid-template-columns: 1fr; }.criterion-score { min-height: 76px; flex-direction: row; gap: 8px; }.criterion-score .icon { font-size: 2rem; margin: 0; }.detail-section__header h2 { font-size: 1.5rem; }.review-meta dl div { display: block; margin-bottom: 8px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Original Reviews/YOOtheme visual compatibility layer. */
html, body, button, input, select, textarea {
	font-family: 'Poppins', Arial, sans-serif;
}
body {
	font-weight: 300;
}
.review-meta h1,
.summary-card__title,
.summary-card__status,
.detail-section__header h2,
.criterion-content h3 {
	font-weight: 500;
}
.summary_mainblock {
	transition: transform .2s ease, box-shadow .2s ease;
}
.summary_mainblock:hover {
	transform: translateY(-2px);
	box-shadow: 2px 2px 15px rgba(0,0,0,.28);
}
.summary-card.rdx-st,
.summary-card .rdx-st {
	height: auto;
	min-height: 66px;
}
.detail-section .summary_title {
	margin-bottom: 0;
}
.detail-section__header.summary_exceeds {
	background: linear-gradient(45deg,#bf953f,#fcf6ba,#b38758,#fbf5b7,#aa771c);
	color: #fff;
}
.detail-section__header.summary_meets {
	background-color: #00aa00;
}
.detail-section__header.summary_no {
	background-color: #aa0000;
}
.floating-nav.navboxcontents {
	padding: 10px;
}
