/* Loaded after the ranking's own inline <style>: keeps Poly's header/footer intact and the ranking readable. */
.site-header, .site-footer { color: #f8f9fa; font-family: Montserrat, system-ui, sans-serif; font-size: 16px; line-height: 1.6; text-align: left; letter-spacing: normal; }
.site-header { position: sticky; top: 0; z-index: 1000; }
.site-header .brand, .site-footer .brand { font-size: 1.5rem; font-weight: 700; }
.site-footer .brand { font-size: 1.3rem; font-weight: 900; }
.site-footer { text-align: center; margin-top: 40px; }
.site-header nav > a, .site-footer nav a { font-weight: 400; }
.site-header nav { margin: 0; }
.langsel ul { margin: 0; }
.langsel li { list-style: none; }
/* ranking page chrome that used to sit under the old menu */
.theme-controls { top: 76px !important; }
.rk-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 30px auto 0; padding: 0 16px; }
.rk-actions .action-btn { text-decoration: none; }
@media (max-width: 768px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .site-header { position: relative; }
  .theme-controls { top: 8px !important; }
}

/* the ranking's body has 20px padding (10px on phones): let Poly's header and footer run edge to edge */
.site-header { margin: -20px -20px 20px; }
.site-footer { margin: 40px -20px -20px; }
@media (max-width: 768px) { .site-header { margin: -10px -10px 10px; } .site-footer { margin: 30px -10px -10px; } }
/* the percentages in site.css's paddings are of the containing block (the body minus its padding), here the bar is wider by the 2 x 20px
   it takes back: count them in, so the logo, menu and footer sit on the very pixels of polyhelper.ai */
.site-header { padding-inline: max(calc(5% + 2px), calc((100% + 40px - 1400px) / 2 + 70px)); }
.site-footer { padding-inline: calc(5% + 2px); }
@media (max-width: 768px) { .site-header { padding-inline: 1rem; } .site-footer { padding-inline: calc(5% + 1px); } }
@media (max-width: 440px) { .site-header { padding-inline: 8px; } }
/* insights of an AI, embedded under its ranking */
.rk-insights { width: 100%; margin-top: 40px; }
.rk-insights iframe { display: block; width: 100%; height: 900px; border: 0; background: transparent; }
/* Logo in the same blue as the ranking's title (owner 14.10.2026): text and the orbit mark, header and footer */
.site-header .brand b, .site-footer .brand b { background: linear-gradient(-90deg, #4facfe, #00f2fe); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: inherit; }
/* "Poly | TOP" like Trends' "Poly | Trends" (owner 14.10.2026) */
.site-header .brand { display: flex; align-items: center; }
.site-header .brand small { margin-left: .55rem; padding-left: .75rem; border-left: 1px solid rgb(255 255 255 / .22); font-size: 1em; font-weight: 700; letter-spacing: 0; line-height: 1; white-space: nowrap; color: #b8b8b8; }
@media (max-width: 440px) { .site-header .brand small { font-size: .9em; margin-left: .4rem; padding-left: .55rem; } }
body.light-theme .site-header .brand small { color: #555; border-left-color: rgb(0 0 0 / .2); }
#logo-grad stop:nth-child(1) { stop-color: #4facfe; }
#logo-grad stop:nth-child(2) { stop-color: #2bd0fe; }
#logo-grad stop:nth-child(3) { stop-color: #00f2fe; }
body.light-theme .site-header .brand b, body.light-theme .site-footer .brand b { background: linear-gradient(-90deg, #1e5bb8, #2d7ff9); -webkit-background-clip: text; background-clip: text; }
body.light-theme #logo-grad stop:nth-child(1) { stop-color: #1e5bb8; }
body.light-theme #logo-grad stop:nth-child(2) { stop-color: #2566d8; }
body.light-theme #logo-grad stop:nth-child(3) { stop-color: #2d7ff9; }
/* Light theme (owner 15.10.2026, screenshot 205: dark header with dark menu, language selector invisible): Poly's header,
   footer and language selector turn light with the page. */
body.light-theme .site-header { background: rgb(255 255 255 / .95); box-shadow: 0 1px 0 rgb(0 0 0 / .1); }
body.light-theme .site-header nav > a, body.light-theme .site-footer nav a, body.light-theme .site-footer .legal a { color: #2c2c3e; }
body.light-theme .site-header nav > a[aria-current], body.light-theme .site-header nav > a:hover { color: #1e5bb8; }
body.light-theme .langsel summary { color: #1e5bb8; border-color: rgb(30 91 184 / .45); background: rgb(30 91 184 / .08); }
body.light-theme .langsel ul { background: #fff; border-color: rgb(0 0 0 / .12); box-shadow: 0 20px 40px rgb(0 0 0 / .15); }
body.light-theme .langsel a { color: #2c2c3e; }
body.light-theme .langsel a:hover { background: rgb(30 91 184 / .08); }
body.light-theme .langsel a[aria-current] { color: #1e5bb8; }
body.light-theme .site-footer { background: #f1f3fb; color: #4a4a60; border-top: 1px solid rgb(0 0 0 / .08); }
body.light-theme .site-footer nav { border-bottom-color: rgb(0 0 0 / .1); }
body.light-theme .site-footer .copy { color: #6a6a80; }
