/* ============================================================
   Theme stylesheet — joo-dating-v2026
   Single consolidated CSS for the 2026 design across all sites.
   ============================================================ */

/* === Base / shared (formerly static/css/style.css) === */
/* @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300..800&display=swap'); */

/**
* primary color: #0A1443
*
*/

/* cyrillic-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}

/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}

/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "HurmeGeometricSans1 Regular";
  font-style: normal;
  font-weight: normal;
  src: local("HurmeGeometricSans1 Regular"),
    url("../fonts/HurmeGeometricSans1-Regular.woff2") format("woff2"),
    url("../fonts/HurmeGeometricSans1-Regular.woff") format("woff"),
    url("../fonts/HurmeGeometricSans1-Regular.eot") format("eot");
}

/*
@font-face {
  font-family: "Metropolis Regular";
  font-style: normal;
  font-weight: normal;
  src: local("Metropolis Regular"),
  url("../fonts/Metropolis-Regular.woff2") format("woff2"),
  url("../fonts/Metropolis-Regular.woff") format("woff"),
  url("../fonts/Metropolis-Regular.eot") format("eot");
}

@font-face {
  font-family: "Metropolis Medium";
  font-style: normal;
  font-weight: normal;
  src: local("Metropolis Medium"),
  url("../fonts/Metropolis-Medium.woff2") format("woff2"),
  url("../fonts/Metropolis-Medium.woff") format("woff"),
  url("../fonts/Metropolis-Medium.eot") format("eot");
}

@font-face {
  font-family: "Metropolis Bold";
  font-style: normal;
  font-weight: normal;
  src: local("Metropolis Bold"),
  url("../fonts/Metropolis-Bold.woff2") format("woff2"),
  url("../fonts/Metropolis-Bold.woff") format("woff"),
  url("../fonts/Metropolis-Bold.eot") format("eot");
}
*/

html,
body {
  height: 100%;
}

html {
  scroll-behavior: smooth;
}

body {
  font-size: 15px;
  color: #222b55;
  background-color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
  font-style: normal;
  line-height: 18px;
  padding: 0;
  overflow-x: hidden;
}

a {
  color: #000;
  font-weight: 500;
  text-decoration: none;
}

a:hover {
  color: var(--c-primary-dark);
}

p {
  font-size: 16px;
}

h1 {
  font-size: 28px;
}

h2 {
  font-size: 26px;
  padding-bottom: 15px;
  font-weight: 700;
}

h3 {
  font-size: 20px;
  /* padding-bottom: 15px; */
}

p {
  font-size: 16px;
  line-height: 20px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-40 {
  padding-top: 40px;
}

.pt-50 {
  padding-top: 50px;
}

.pb-50 {
  padding-bottom: 100px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-50 {
  margin-top: 50px;
}

.mt-60 {
  margin-top: 60px;
}

.mt-70 {
  margin-top: 70px;
}

.mt-80 {
  margin-top: 80px;
}

.container {
  max-width: 1200px;
}

.black {
  color: #000;
}

.upper {
  text-transform: capitalize;
}

header {
  background-color: #fff;
  clear: both;
  position: relative;
  z-index: 20;
}

.nav-link {
  color: #000 !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  position: relative;
  outline: none;
  box-shadow: none;
}

ul.navbar-nav li.nav-item:last-child {
  margin-left: 80px;
}

.dropdown-toggle::after {
  display: none;
}

.dropdown-toggle span {
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  padding-top: 7px;
}

.navbar .megamenu {
  padding: 1rem;
  background: #f5f5f5;
  border: none;
  padding: 5px;
  border-radius: 0;
  box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.2);

}


.navbar .megamenu h4 {
  color: #000;
  /* font-size: 17px; */
  font-size: 16px;
  font-weight: 500;
  line-height: 17px;
  padding: 10px;
}

.navbar .megamenu h4::after {
  content: "";
  display: block;
  margin: 0 auto;
  width: 7%;
  border-bottom: solid 3px #0a1443;
  padding-top: 5px;
  margin-left: 0px;
}

.navbar .megamenu ul {
  list-style: none;
}

.navbar .megamenu ul li {
  padding: 0px 10px 15px 0px;
  /* font-size: 15px; */
  font-size: 14px;
}

span.nav-close {
  position: absolute;
  right: 20px;
  top: 20px;
  cursor: pointer;
}

.navbar-light .navbar-nav.main-nav .nav-link::after {
  content: "";
  display: block;
  margin: 0 auto;
  width: 60%;
  border-bottom: solid 6px #1664bf;
  padding-top: 2px;
  margin-left: 2px;
}

.navbar-toggler {
  padding: 0 !important;
  border: none;
  box-shadow: none !important;
  outline: none !important;
}

/* menu icon */

.menu-icon {
  cursor: pointer;
  /* display: inline-block; */
  float: right;
  /* padding: 28px 20px; */
  position: relative;
  user-select: none;
  right: 20px;
}

.navbar-toggler.collapsed .menu-icon .navicon {
  background: #0a1443;
  display: block;
  height: 3px;
  position: relative;
  transition: background 0.2s ease-out;
  width: 30px;
}

.menu-icon .navicon:before,
.menu-icon .navicon:after {
  background: #0a1443;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  transition: all 0.2s ease-out;
  width: 30px;
}

.navbar-toggler.collapsed .menu-icon .navicon:before {
  top: 10px;
  transform: rotate(0deg);
}

.navbar-toggler.collapsed .menu-icon .navicon:after {
  top: -10px;
  transform: rotate(0deg);
}

.navbar-toggler .menu-icon .navicon {
  background: transparent;
}

.navbar-toggler .menu-icon .navicon:before {
  top: 0px;
  right: 0px;
  transform: rotate(-45deg);
}

.navbar-toggler .menu-icon .navicon:after {
  top: 0px;
  right: 0px;
  transform: rotate(45deg);
}

.menuarrow {
  border-radius: 50%;
  position: absolute;
  height: 10px;
  width: 10px;
  display: inline-block !important;
  left: -40px;
  top: 0px;
  background: #f2f2f2;
  transition: all 0.5s;
  padding: 15px 15px !important;
}

.menuarrow::before,
.menuarrow::after {
  content: "";
  position: absolute;
  bottom: 10px;
  width: 0.1rem;
  height: 30%;
  transition: all 0.5s;
}

.menuarrow::before {
  background-color: #333;
  left: 11px;
  transform: rotate(-45deg);
}

.menuarrow::after {
  background-color: #333;
  left: 17px;
  transform: rotate(45deg);
}

.nav-link.dropdown-toggle.show .menuarrow::before {
  /* left: -11px;  */
  transform: rotate(45deg);
}

.nav-link.dropdown-toggle.show .menuarrow::after {
  left: 17px;
  transform: rotate(-45deg);
}

/* ============ desktop view ============ */
@media all and (min-width: 769px) {
  .navbar .has-megamenu {
    position: relative !important;
  }

  .navbar .megamenu {
    left: auto;
    right: 0;
    width: auto;
    min-width: 240px;
    max-width: 320px;
    margin-top: 0;
    padding: 10px 6px;
  }

  .navbar .megamenu .container {
    padding-left: 8px;
    padding-right: 8px;
  }

  .navbar .megamenu h4 {
    font-size: 15px;
    padding: 6px 4px 4px;
  }

  .navbar .megamenu ul li {
    padding: 4px 4px 8px;
  }

  .navbar .megamenu .nav-close {
    right: 10px;
    top: 10px;
  }
}

/* ============ desktop view .end// ============ */

/* ============ mobile view ============ */
@media (max-width: 991px) {

  .navbar.fixed-top .navbar-collapse,
  .navbar.sticky-top .navbar-collapse {
    overflow-y: auto;
    max-height: 90vh;
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .navbar {
    padding-top: .25rem;
    padding-bottom: .25rem;
  }
}


.desktop {
  display: block;
}

.mobile-hide {
  display: block;
}

/* .tablet {
  display: none !important;
} */
.mobile {
  display: none !important;
}

.overlay {
  position: fixed;
  background: rgba(216, 216, 216, 0.7);
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 15;
  display: none;
}

.top-content {
  padding-top: 15px;
  background: #f8f9fa;
  position: relative;
  height: 180px;
}

.nh {
  height: auto;
}

.top-content h1 {
  font-family: 'Open Sans', sans-serif;
  font-size: 32px;
  color: #FF4A64;
  line-height: 40px;
  font-weight: 700;
}

.top-content p.subtitle {
  font-family: 'Open Sans', sans-serif;
  font-size: 24px;
  color: #1f2f49;
  line-height: 28px;
  font-weight: 700;
}

.sub-heading {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  color: #1f2f49;
  line-height: 22px;
  margin-bottom: 8px;
}

.top-content h1.mob-title {
  font-family: 'Open Sans', sans-serif;
  font-size: 24px;
  color: #222b55;
  line-height: 28px;
  font-weight: 700;
}


.pagetitle {
  background: url(../images/banner.webp) no-repeat;
  background-position: right bottom;
  background-size: 100%;
  height: 145px;
  /* padding: 0px 15px; */
  /* width: 60%; */
}

.page-banner {
  width: 40%;
}

.pagecontainer {
  /* margin: 20px 0px; */
  margin-top: -40px;
  margin-bottom: 20px;
}

.ranking_disc_container {
  position: relative;
  width: 100%;
  display: block;
  border-bottom: 1px solid #e0e0e0;
}

.ranking_disclaimer {
  position: flex;
  padding: 5px 5px 5px 5px;

  /* position: absolute;
    top: -35px;
    text-align: right;	
	max-width: 85%; */
}

.ranking_disclaimer .disclaimer_trigger {
  display: flex;
  justify-content: center;
  gap: 0;
}

.ranking_disclaimer_trigger {
  cursor: pointer;
  position: relative;
  text-align: center;
  font-size: 12px;
  color: #9d9a9a;
}

.ranking_disclaimer_trigger span:hover {
  text-decoration: underline;
}

.ranking_disclaimer_box {
  /* left: 120px; */
}

.ranking_disclaimer_container {
  display: flex;
  justify-content: center;
  font-size: 13px;
  position: relative;
}


.disclosure-desktop {
  max-width: 380px;
  float: right;
  top: -1px;
  position: absolute;
  right: 0;
  display: none;
}

.disclosure-desktop .disclosure_box {
  background-color: #fff;
  border: 1px solid #cdcdcd;
  width: 320px;
  position: absolute;
  z-index: 999;
  top: 30px;
  text-align: center;
  right: 5px;
}

.disclosure-desktop .disclosure_box .disclosure_text {
  padding: 10px;
}

.disclosure-desktop .disclosure_box:before {
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid transparent;
  border-bottom: 10px solid #cdcdcd;
  right: 10%;
  top: -21px;
}

.disclosure-desktop .disclosure_box:after {
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid transparent;
  border-bottom: 10px solid #fff;
  right: 10%;
  top: -18px;
}



/* ranking */

.ranking-container {
  margin: 20px 0px 0px 0px;
  clear: both;
}

.ranking-container p.heading,
.featured-container p.heading {
  font-size: 18px;
  line-height: 22px;
  /* padding-bottom: 20px; */
}

.featured-container p.heading {
  font-size: 22px;
}

.featured-container p.heading img {
  width: 23px;
  height: 23px;
  margin-bottom: 3px;
}

.rankbox {
  width: 100%;
  border: 1px solid #e3e3e3;
  /* padding: 15px; */
  margin-bottom: 20px;
  box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  cursor: pointer;
  position: relative;
}

.rank-badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.rank-badge img {
  max-width: 30px;
  position: relative;
  top: -2px;
  left: -2px;
}

.rankrow {
  padding: 10px 0px;
  margin: 0;
  background: #fff;
  border-radius: 4px;
}

.top-rank {
  /* padding: 2px; */
  position: relative;
  border: 2px solid #FF4A64;
  border-radius: 4px;
  margin-bottom: 40px;
}

.rankrow .tag {
  position: absolute;
  background-color: #0a1443;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 4px;
  padding-bottom: 5px;
  font-weight: 500;
  color: #fff;
  top: -39px;
  left: 5px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  font-size: 16px;
  white-space: nowrap;
}

.rankrow .tag img {
  width: 18px;
  height: 18px;
  margin-bottom: 2px;
  margin-right: 5px;
}

.month {
  position: absolute;
  right: 15px;
  top: -25px;
  font-size: 12px;
  color: #555555;
}

.month img {
  margin-bottom: 5px;
  margin-right: 5px;
}

.mobileranktable .box-card .box-top .tag {
  position: absolute;
  background-color: #0a1443;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 7px;
  padding-bottom: 7px;
  font-weight: 600;
  color: #fff;
  border-radius: 5px;
  top: -10px;
  left: -10px;
}

.featured-container .rankrow {
  padding: 10px 0px 10px 0px !important;
}

.featured-rank {
  margin: 40px 0px 45px 0px;
  clear: both;
  position: relative;
}

.featured-rank.rankbox {
  padding: 0;
}

.featured-title p {
  margin: auto 0;
  padding: 10px 0px;
  text-align: center;
  background: #eaf0fb;
  font-size: 18px;
}

.featured-rank .rankrow {
  padding: 0px;
  margin: 0;
}

.rank-logo {
  padding: 0px;
  margin: 0px 10px 0px 20px;
  width: 90px;
  height: 90px;
  box-shadow: 0px 0px 4px 1px rgb(146 146 146 / 50%);
  display: flex;
  position: relative;
  align-items: center;
  flex-shrink: 0;
}

.rank-logo img {
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  display: block;
}


.rank-award {
  margin: 8px 10px 0px 20px;
}

.rank-award img {
  width: 110px;
  height: auto;
  display: block;
}

.nrc .top-rank .rank-award img {
  width: 125px;
}

.right-sidebar.ranking .rank-award {
  margin: 8px 10px 0px 10px;
}

.right-sidebar.ranking .rank-award img {
  width: 60px;
}

.nrc .rank-logo {
  padding: 0px;
  margin: 0;
  margin-left: 10px;
  width: 100%;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: none;
}

.nrc .rank-logo img {
  width: 70%;
  /* max-height: 100px; */
  /* min-height: 90px; */
  /* max-width: 160px; */
  max-height: 110px;
  max-width: 100%;
}

.nrc .rank-rating {
  background: #DAE0FA;
  padding: 5px 0px;
  border: 2px solid #EBD07D;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: center;
  justify-content: center;
}


.nrc .ranking_tag {
  font-size: 13px;
  font-weight: 600;
}

.nrc .rankbox.mobile-hide .d-end.flex-column .rank-rating {
  margin-bottom: 0;
}

.nrc .rankbox.mobile-hide .rank-logo img {
  width: 80%;
  max-height: 125px;
}


.rank-order {
  position: absolute;
  left: -16px;
  width: 30px;
  height: 30px;
  border: 1px solid #979797;
  text-align: center;
  padding: 5px;
  border-radius: 50%;
  background: #fff;
  font-family: 'HurmeGeometricSans1 Regular';
  font-weight: 600;
  font-size: 17px;
}

.top-rank .rank-order,
.featured-rank .rank-order {
  border: 2px solid #FF4A64;
  color: #FF4A64;
}

.d-end {
  display: flex;
  align-items: center;
  justify-content: end;
  position: relative;
}

.d-center {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.d-left {
  display: flex;
  align-items: center;
  justify-content: left;
  position: relative;
}

.flex-column {
  flex-direction: column;
}

.flex-space-between {
  justify-content: space-between;
}

.flex-space-evenly {
  justify-content: space-evenly;
}

.gap15 {
  gap: 15px;
}

.rank-rating .site-title {
  color: #222b55;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.rank-rating .site-desc {
  color: #909090;
  font-size: 13px;
  font-weight: 400;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .rankbox.mobile-hide .d-end.flex-column {
    justify-content: center;
    position: relative;
    padding-bottom: 0;
  }

  .rankbox.mobile-hide .d-end.flex-column .rank-rating {
    position: absolute;
    top: 10px;
    margin-top: 0;
  }

  .rankbox.mobile-hide .d-end.flex-column .visit-btn {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
  }
}

.rating-star {
  position: relative;
  margin: 0px 5px;
}

.fullstar-svg {
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../images/full-star.svg) no-repeat;
  float: left;
  background-size: contain;
  margin-right: 3px;
}

.halfstar-svg {
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../images/half-star.svg) no-repeat;
  float: left;
  background-size: contain;
  margin-right: 3px;
}

.emptystar-svg {
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../images/empty-star.svg) no-repeat;
  float: left;
  background-size: contain;
  margin-right: 3px;
}

.nrc .fullstar-svg,
.nrc .halfstar-svg,
.nrc .emptystar-svg {
  width: 15px;
  height: 15px;
}

.score {
  display: inline-flex;
  color: #5a5a5a;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.nrc .score {
  font-size: 28px;
  font-weight: 700;
  align-items: baseline;
}

.nrc .score .base_score {
  font-size: 18px;
  font-weight: 500;
}

.nrc .top_feature {
  color: #182B62;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  margin-bottom: 10px;
}

.rank-features {
  width: 100%;
}

.rank-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

.rank-features ul li {
  line-height: 20px;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 8px;
  padding-left: 45px;
}

.rank-features ul li::before {
  content: "";
  background: url(../images/puce.svg) no-repeat 100%;
  width: 20px;
  height: 20px;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 20px;
}

.nrc .rank-features ul li {
  line-height: 20px;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 8px;
  padding-left: 20px;
  position: relative;
}

.nrc .rank-features ul li::before {
  content: "";
  background: url(../images/tick.svg) no-repeat 100%;
  width: 15px;
  height: 15px;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 0px;
  top: 3px;
}

.rank-features ul li a {
  text-decoration: underline;
  text-decoration-color: #415DE8;
  text-decoration-thickness: 2px;
  color: #415DE8;
}

.nrc .moreinfo_container {
  width: 100%;
  padding: 10px 0px;
}

.nrc .moreinfo_container a {
  color: #0F88FF;
  font-weight: 700;
  position: relative;
}

.nrc .moreinfo_container a:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  background: url("../images/right-arrow.svg") no-repeat;
  background-size: contain;
  right: -23px;
}


.nrc .mobile-meta-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.nrc .mobile-meta-row .moreinfo_container {
  width: auto;
  padding: 10px 0px;
}

.nrc .mobile-vignette {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #BEEBC8;
  border-radius: 16px;
  padding: 6px 12px;
  color: #3E8E4D;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
  flex-shrink: 0;
}

.rankbox.mobile .visit-btn.vibrate-tap,
#topoffer_popup .visit-btn.vibrate-tap {
  animation: visit-btn-vibrate 0.42s cubic-bezier(.36,.07,.19,.97);
}

@keyframes visit-btn-vibrate {
  0%,
  100% {
    transform: translateX(0);
  }
  12% {
    transform: translateX(-4px) rotate(-0.7deg);
  }
  24% {
    transform: translateX(4px) rotate(0.7deg);
  }
  36% {
    transform: translateX(-3px) rotate(-0.6deg);
  }
  48% {
    transform: translateX(3px) rotate(0.6deg);
  }
  60% {
    transform: translateX(-2px) rotate(-0.4deg);
  }
  72% {
    transform: translateX(2px) rotate(0.4deg);
  }
  84% {
    transform: translateX(-1px) rotate(-0.2deg);
  }
}
.nrc .mobile-vignette-label {
  display: block;
  text-align: center;
}

.nrc .mobile-vignette img {
  width: 26px;
  height: 26px;
}

.registration_link {
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  margin-top: 0px;
  color: #1D2064;
}

.flexwrap {
  flex-wrap: wrap;
}

.ranking-note {
  position: absolute;
  bottom: -28px;
  width: 100%;
  text-align: center;
  font-size: 16px;
}

.ranking-note span {
  /* background: #0a1443;
  color: #fff;
  padding: 4px 40px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px; */

  background: #0a1443;
  color: #fff;
  padding: 4px 0px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  width: 35%;
  display: inline-block;
}

.ranking-note span img {
  width: 18px;
  height: 18px;
  margin-left: 5px;
}

.tags .tags-title {
  color: #63666a;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 5px;
}

.tags .tags-detail {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.tags .tags-detail span {
  font-size: 15px;
  font-weight: 500;
  /* padding-right: 5px; */
}


.black {
  color: #000 !important;
}

.grey {
  color: #63666a !important;
}

.visit-btn {
  background: #FF4A64;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 15px 15px;
  text-align: center;
  width: 90%;
  border-radius: 5px;
  letter-spacing: 1px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: background-color 0.25s ease;
}

.visit-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.3);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

.visit-btn:hover::after {
  animation: visit-btn-wave 0.65s ease-out;
}

.visit-btn.wave-on-scroll::after {
  animation: visit-btn-wave 0.65s ease-out;
}

.visit-btn svg {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.visit-btn:hover {
  background: #da4154;
  color: #fff;
}


@keyframes visit-btn-wave {
  0% {
    width: 0;
    height: 0;
    opacity: 0.45;
  }

  100% {
    width: 220%;
    height: 520%;
    opacity: 0;
  }
}


.review-btn {
  background: #0a1443;
  color: #fff;
}

.review-btn:hover {
  background: #0a1443;
  color: #fff;
}

.compareBtn {
  background: #F07A37;
}

.compareBtn:hover {
  background: #eb9360;
}

.moreinfo-row {
  padding: 0px 11px 0px 11px;
}

.infocontainer {
  /* border-top:1px solid #d8d9da; */
  display: none;
  font-size: 14px;
  padding: 10px;
}

.bt-1 {
  border-top: 1px solid #d8d9da;
}

.recommended-content {
  background: #eaf0fb;
  margin-bottom: 20px;
  border-top: 2px solid #cbd0dd;
  border-bottom: 2px solid #cbd0dd;
}

.recommended-content h2 {
  font-size: 30px;
  text-align: center;
  padding: 15px;
  font-weight: bolder;
}

.recommended-content h2 img {
  width: 45px;
  height: 45px;
  margin-right: 5px;
  margin-bottom: 5px;
}

/* top offer popup */
#topoffer_popup {
  position: fixed;
  bottom: 12px;
  left: 0;
  width: 100%;
  padding: 0 10px;
  z-index: 5;
  background: transparent;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
}

#topoffer_popup.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s;
}

#topoffer_popup .rankbox {
  padding: 12px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  border-radius: 14px;
  margin-bottom: 0px;
  position: relative;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff !important;
}

#topoffer_popup .topoffer-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

#topoffer_popup .topoffer-badge {
  width: 50px;
  min-width: 50px;
  height: 50px;
  border-radius: 14px;
  border: 2px solid #f2c53b;
  background: #dfe4f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  line-height: 1;
}

#topoffer_popup .topoffer-brand {
  flex: 1 1 0;
  min-width: 170px;
  display: flex;
  align-items: center;
}

#topoffer_popup .topoffer-brand img {
  max-width: 100%;
  width: 250px;
  max-height: 56px;
  object-fit: contain;
}

#topoffer_popup .topoffer-cta {
  flex: 0 0 33.33vw;
  max-width: 33.33vw;
  min-width: 96px;
  min-height: 46px;
  border-radius: 10px;
  background: #ff4a64;
  color: #fff;
  padding: 11px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
}

#topoffer_popup .topoffer-cta img {
  width: 25px;
  height: 25px;
  margin-left: -4px;
}

.top_close {
  position: absolute;
  z-index: 3;
  right: 10px;
  top: -12px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

@media (max-width: 480px) {
  .top_close {
    right: 8px;
    top: -10px;
    width: 24px;
    height: 24px;
  }

  #topoffer_popup .topoffer-link {
    gap: 8px;
  }

  #topoffer_popup .topoffer-badge {
    width: 44px;
    min-width: 44px;
    height: 44px;
    font-size: 22px;
  }

  #topoffer_popup .topoffer-brand {
    min-width: 120px;
  }

  #topoffer_popup .topoffer-brand img {
    width: 150px;
  }

  #topoffer_popup .topoffer-cta {
    flex-basis: 33.33vw;
    max-width: 33.33vw;
    min-width: 84px;
    min-height: 42px;
    padding: 9px 8px;
    font-size: 18px;
  }

  #topoffer_popup .topoffer-cta img {
    width: 25px;
    height: 25px;
    margin-left: -4px;
  }
}

/* top offer popup */

/* ranking */


.top-bubble {
  display: block;
  width: 90%;
  text-align: left;
  border: 1px solid #333;
  padding: 10px 5px;
  border-radius: 10px;
  position: relative;
  font-size: 14px;
  text-align: center;
}

.top-bubble::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  bottom: -50px;
  margin-left: -15px;
  border-width: 15px 15px 35px 15px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.top-bubble span:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  bottom: -51px;
  margin-left: -15px;
  border-width: 15px 15px 35px 15px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

.page-content h3 {
  padding-bottom: 15px;
}

.page-content ul li {
  margin-bottom: 8px;
}

/* modal */



.modal {
  color: #222b55;
}


.modal-header {
  border-bottom: none;
  flex-wrap: wrap;
}

.modal-header h4 {
  width: 100%;
  text-align: center;
  font-size: 24px;
  color: #222b55;
  font-weight: 600;
  margin: 10px 0px;
}

.modal-title-tag {
  text-align: center;
  color: #222b55;
  font-size: 18px;
  padding: 0;
  margin-bottom: 5px;
  width: 100%;
}

.modalrow {
  display: flex;
}

.modal .close {
  background: url(../images/closebtn.svg);
  width: 30px;
  height: 30px;
  background-size: cover;
  position: absolute;
  right: 5px;
  top: 5px;
  border: none;
  opacity: .3;
  transition: 0.5s;
}

.modal .close:hover {
  opacity: 1;

}

.modal-body .leftcontainer,
.modal-body .rightcontainer {
  border: 1px solid #c8c8c7;
  border-radius: 5px;
  width: 45%;
  float: left;
  display: inline-block;
  margin: 0px 15px;
  flex: 1;
  position: relative;
}

.modal-body .leftcontainer {
  float: left;
}

.modal-body .rightcontainer {
  float: right;
  border: 2px solid #e2384b;
}

.modal-body .characteristic {
  width: 90%;
  margin: 15px auto;
  text-align: center;
  border: 1px solid #c8c8c7;
  padding: 8px;
  border-radius: 5px;
  color: #616062;
  font-weight: 600;
  font-size: 15px;
  line-height: 18px;
}

.leftcontainer .characteristic {
  padding: 11.5px 0px;
}

.modal-body .characteristic img {
  max-width: 25px;
  margin: 0px 5px;
}

.modal-body .title {
  color: #222c55;
  margin: 0px auto;
  padding: 5px 0px;
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  border-bottom: 1px solid #c8c8c7;
  height: 90px;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Open Sans', sans-serif;
  line-height: 34px;
}

.modal-body .title img {
  max-height: 80px;
}

.modal-body .features p {
  color: #616160;
  font-size: 18px;
  font-weight: 600;
  margin: 20px 0px 5px 0px;
}

.modal-body .features ul {
  list-style: none;
  padding: 10px 0px;
}

.modal-body .features ul li {
  color: #222c54;
  font-size: 16px;
  font-weight: 500;
  padding: 2px 0px;
  padding-left: 30px;
}

.modal-body .features ul li.green::before {
  content: '';
  background: url(../images/circle_green_check.svg) no-repeat;
  width: 15px;
  height: 15px;
  background-size: cover;
  background-position: left;
  position: absolute;
  margin-top: 3px;
  /* top: 5px; */
  left: 15px;
}

.modal-body .features ul li.red::before {
  content: '';
  background: url(../images/close.svg) no-repeat;
  width: 15px;
  height: 15px;
  background-size: cover;
  background-position: left;
  position: absolute;
  margin-top: 3px;
  /* top: 5px; */
  left: 15px;
}

.modal-body .features .visit-btn {
  width: 60%;
  text-align: center;
  margin: 15px auto;
  float: unset;
  display: block;
}

.cmp-top3-box .second-row .description-text,
.cmp-top3-headline {
  margin-top: 0;
  margin-bottom: 0
}


/* blog */

h1.blog-page-title {
  color: #0A1443;
  font-size: 32px;
  margin-bottom: 40px;
}

.article {
  margin-bottom: 30px;
  margin-top: 15px;
}

.article-image {
  margin: 0px 0px;
  /* max-height: 200px; */
  max-width: 175px;
}


.btn-bordered {
  border: 1px solid #FF4A64;
  background: none;
  color: #FF4A64;
  transition: 0.3s ease;
  font-weight: 700;
  width: fit-content;
}


.btn-bordered:hover {
  border: 1px solid #FF4A64;
  background: #FF4A64;
  color: #fff;
  transition: 0.3s ease;
}

ul.article-points {
  margin: 5px 0px 25px 0px;
  padding: 0;
}

ul.article-points li {
  list-style: none;
  margin: 10px 0px;
  font-size: 15px;
  padding-left: 30px;
  position: relative;
}

ul.article-points li.pro-point::before {
  content: '';
  background: url("../images/pro-icon.svg") no-repeat;
  width: 20px;
  height: 20px;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 0px;
}

ul.article-points li.con-point::before {
  content: '';
  background: url("../images/con-icon.svg") no-repeat;
  width: 20px;
  height: 20px;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 0px;
}



.author-container {
  display: flex;
  /* margin-bottom: 24px; */
  /* position: absolute; */
  /* bottom: -50px; */
}

.author-profile {
  position: relative;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  margin-right: 16px;
  /* border: 2px solid #d5d4cf; */
  border-radius: 50%;
}

.author-profile img {
  display: block;
  width: 90%;
  position: relative;
}

.author-profile span.onlinestatus {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 15px;
  height: 15px;
  border: 3px solid #fff;
  border-radius: 50%;
  background-color: #2a8c7c;
  content: " ";
}

.author-details {
  padding: 5px 5px;
}

.author-name {
  font-size: 14px;
  font-weight: 600;
  padding-bottom: 5px;
  margin: 0;
}

.article-time {
  font-size: 14px;
}

.blogcontainer .sticky-sidebar {
  margin-top: 0;
}

.right-sidebar.ranking {
  margin-top: 15px;
  padding: 0;
  background: transparent;
}

.right-sidebar.ranking .rankbox {
  margin-bottom: 15px;
}

.right-sidebar.ranking .rank-order {
  top: -5px;
  right: 5px;
  left: unset;
  width: 20px;
  height: 20px;
  padding: 0;
  font-size: 13px;
}

.right-sidebar.ranking .rank-logo {
  margin: 0px 10px 0px 10px;
  height: 60px;
  width: 60px;
}

.right-sidebar.ranking .rank-rating .site-title {
  font-size: 18px;
  margin-bottom: 5px;
}

.right-sidebar.ranking .rating-star {
  display: inline-flex;
}

.right-sidebar.ranking .rank-rating .score {
  font-size: 24px;
  font-weight: 700;
  align-items: baseline;
}

.right-sidebar.ranking .rank-rating .score .base_score {
  font-size: 15px;
  font-weight: 500;
}

.right-sidebar.ranking .visit-btn {
  padding: 10px 25px;
  margin: 15px 0px 0px;
}



/* blog */

.advert-text {
  font-size: 13px;
  color: #1664bf;
  font-weight: 500;
}

.advert-text:hover {
  color: #fe4985;
}

.light-icon,
.comment-badge {
  width: 30px;
  height: 30px;
}

.sticky-sidebar {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  margin-top: 20px;
}

.right-sidebar {
  background-color: #f4f4f6;
  /* width:95%; */
  margin-left: 5%;
  border-radius: 5px;
  padding: 15px 0px;
}

.right-sidebar.comment {
  margin-top: 15px;
}

.right-sidebar .sidebar-content a.bluelink {
  color: #007bff;
  text-decoration-color: #007bff;
}

.right-sidebar .sidebar-content img {
  width: 90%;
  max-height: 80px;
}

.right-sidebar .sidebar-content .sticky-sidebar-logo {
  width: 86%;
  max-width: 180px;
  max-height: none;
  object-fit: contain;
}

.left-sidebar {
  background-color: #f4f4f6;
  border-radius: 5px;
  padding: 15px 0px;
}

.left-sidebar .sidebar-heading {
  padding: 0px 0px 10px 0px;
}

.sidebar-heading {
  border-bottom: 1px solid #fff;
  width: 100%;
  padding: 0px 15px 15px 15px;
  display: inline-flex;
  align-items: center;
}

.nrt .sidebar-heading {
  border-bottom: 1px solid #fff;
  width: 100%;
  /* padding: 0px 15px 15px 15px; */
  padding: 0px 5px 5px 5px;
  display: inline-flex;
  align-items: center;
}

.sidebar-heading p {
  /* text-align: center; */
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0;
  padding: 0px 15px;
}

.nrt .sidebar-heading p {
  padding: 0px 10px 0px 10px;
}

.sidebar-heading span {
  color: #FF4A64;
}

.sidebar-content {
  padding: 10px 0px 5px 0px;
}

.sidebar-content p {
  font-size: 15px;
  margin-bottom: 0;
  padding: 0px 15px;
}

.nrt .sidebar-content p {
  padding: 0px 10px 0px 10px;
}

.sidebar-list {
  list-style: none;
  /* padding-left: 10px; */
  padding-bottom: 10px;
  padding: 0px 5px 10px 5px;
}

.sidebar-list li {
  /* font-size:13px; */
  font-size: 14px;
  line-height: 16px;
  font-weight: 500;
  padding-top: 10px;
}

.sidebar-list li span {
  padding-left: 15px;
  margin-left: -1em;
  width: 1em;
  position: relative;
  left: -5px;
  padding: 5px 0px 5px 0px;
  padding-left: 15px;
}

.sidebar-list li span img {
  height: 18px;
  padding: 1px;
}

.sidebar-content ul {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

.sidebar-content ul li {
  padding: 10px 0px 10px 15px;
  border-bottom: 1px solid #fff;
}

.sidebar-content ul li:last-child {
  border-bottom: none;
}

.sidebar-content ul li p {
  font-size: 14px;
  padding: 10px 10px 10px 5px;
}

.moreinfo-trigger {
  font-size: 14px;
  font-weight: 600;
  color: #222b55;
}

.moreinfo-trigger:hover {
  color: #015fb9;
}

.moreinfo-trigger .sarrow {
  position: relative;
  height: 10px;
  width: 10px;
  display: inline-block;
  margin-right: 15px;
  float: right;
  margin-top: 5px;
}

.moreinfo-trigger .sarrow::before,
.moreinfo-trigger .sarrow::after {
  content: "";
  position: absolute;
  bottom: 0px;
  width: 0.11rem;
  height: 100%;
  transition: all 0.5s;
}

.moreinfo-trigger .sarrow::before {
  background-color: #222b55;
  /* left: -3px; */
  transform: rotate(-45deg);
}

.moreinfo-trigger .sarrow::after {
  background-color: #222b55;
  left: 6px;
  transform: rotate(45deg);
}

.moreinfo-trigger.open .sarrow::before {
  /* left: -3px; */
  transform: rotate(45deg);
}

.moreinfo-trigger.open .sarrow::after {
  left: 6px;
  transform: rotate(-45deg);
}

.dflex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}

footer {
  padding: 30px 0px;
  margin-top: 20px;
  background-color: #0a1443;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  /* border-top: 1px solid #979797;
	border-bottom: 1px solid #979797; */
}

.footer-logo {
  /* margin-left: -10px; */
}

footer p {
  font-size: 14px;
  margin-bottom: 5px;
}

footer ul {
  list-style: none;
  padding: 0;
  display: flex;
}

footer ul li {
  padding: 5px 40px 10px 0px;
  display: inline-block;
}

footer ul li a {
  color: #fff;
  font-weight: 500;
}

footer .copyrights {
  font-size: 12px;
  padding: 0;
  margin: 0;
}

/* ad pop */

.stickybanner {
  position: fixed;
  z-index: 5;
  margin-top: 0px;
  /* bottom: 200px; */
}

.stickybanner:before {
  content: "";
  background-color: #fff;
  position: absolute;
  height: 100%;
  box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 20%),
    0 1px 5px 0 rgb(0 0 0 / 12%);
}

/* ad pop */




.disclosure {
  /* width: 100%; */
  float: left;
  /* margin-bottom: 15px; */
  /* position: relative; */
}

.disclosure_box {
  background-color: #fff;
  border: 1px solid #cdcdcd;
  width: 95%;
  position: absolute;
  z-index: 999;
  top: 25px;
  text-align: center;
  border-radius: 10px;
}

.disclosure_text {
  padding: 15px 15px 10px 15px;
}

.disclosure_text p {
  color: #343434;
  font-size: 14px;
  font-weight: 300;
  line-height: 18px;
  text-align: left;
  margin: 0;
}

.disclosure-close {
  margin-bottom: 10px;
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-weight: 600;
  text-decoration: underline;
  font-size: 18px;
}

.top-disclosure {
  /* width: 100%; */
  /* position: absolute; */
  /* right: 10px; */
}

.top-disclosure .advert-text,
.bottom-disclosure .advert-text {
  color: #9d9a9a;
  font-size: 12px;
  font-weight: 500;
  font-style: italic;
}

.top-disclosure .disclosure_box {
  width: 75% !important;
  top: 58px;
  right: 15px;

}

.bottom-disclosure {
  position: absolute;
  right: 15px;
  top: 7px;
}

.bottom-disclosure .disclosure_box {
  position: absolute;
  top: 30px;
  width: 350px;
  right: 15px;
}

div.box-arrow-border {
  position: absolute;
  top: -10px;
  right: 33px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid black;
  width: 0;
  height: 0;
}

div.box-arrow-background {
  position: absolute;
  left: -10px;
  top: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid white;
  width: 0;
  height: 0;
}

.disclosure_link:hover {
  text-decoration: underline;
}

.top-heart {
  font-size: 22px;
  color: #ff0000;
  position: absolute;
  background: #dae0fa;
  padding: 8px 15px;
  border-radius: 5px;
  bottom: 15px;
  display: none;
}

@media only screen and (min-width: 992px) and (max-width: 1190px) {
  .top-content h1 {
    font-size: 32px;
    line-height: 40px;
  }

  .sub-heading {
    font-size: 16px;
    line-height: 20px;
  }

  .visit-btn {
    font-size: 16px;
    width: 95%;
  }

  .rankrow .tag {
    font-size: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }
}

@media only screen and (min-width: 769px) and (max-width: 991px) {
  .desktop {
    display: none;
  }

  .mobile {
    display: none;
  }

  .tablet {
    display: block !important;
  }

  .top-content h1 {
    font-size: 26px;
    line-height: 30px;
  }

  .top-content p.subtitle {
    font-size: 20px;
    line-height: 24px;
  }

  .top-content p {
    font-size: 16px;
    line-height: 18px;
    /* padding-bottom: 5px; */
    margin: 0px;
    display: inline-block;
  }



  .pagetitle {
    background: url(../images/tab_banner.webp) no-repeat;
    background-position: right top;
    background-size: cover;
    /* height: 95px; */
  }

  .pagecontainer {
    margin-top: -65px;
  }

  .ranking-container p.heading,
  .featured-container p.heading {
    padding-bottom: 20px;
  }

  .featured-rank .score,
  .recommended-content .score {
    font-size: 20px;
  }

  .featured-rank .tags .tags-title,
  .recommended-content .tags .tags-title {
    font-size: 12px;
  }

  .featured-rank .tags .tags-detail,
  .recommended-content .tags .tags-detail {
    font-size: 15px;
  }

  .featured-rank .rankrow {
    padding: 10px;
    margin: 0;
  }

  .star-svg,
  .emptystar-svg,
  .halfstar-svg,
  .hint-svg {
    width: 15px;
    height: 15px;
  }

  .tags {
    margin: 10px 10px;
  }

  .visit-btn {
    width: 95%;
    font-size: 16px;
  }



  .hint-note:before {
    left: 95px;
  }

  .hint-note:after {
    left: 96px;
  }

  .right-sidebar {
    margin-left: 0px;
    width: 100%;
  }

  footer {
    padding: 10px;
  }

  .footer-logo {
    margin: 0;
  }

  footer ul {
    margin: 20px 0px;
  }

  footer ul li {
    padding: 5px 0px 0px 0px;
    display: flex;
  }


}

@media screen and (min-width: 320px) and (max-width: 767px) {
  .desktop {
    display: none;
  }

  .mobile-hide {
    display: none !important;
  }

  .mobile {
    display: block !important;
  }

  .navbar-brand {
    margin-right: 0;
    margin: auto;
  }

  .navbar-nav .nav-link,
  ul.navbar-nav li.nav-item:last-child {
    margin-left: 40px;
  }

  ul.navbar-nav li.nav-item:last-child {
    margin: 0;
  }

  .navbar .megamenu ul li {
    padding: 10px 10px 10px 0px;
  }

  .logo {
    max-width: 230px;
  }


  .top-content h1.mob-title {
    font-size: 22px;
    width: 100%;
    line-height: 26px;
  }

  .top-content p.mob-subtitle {
    font-size: 20px;
    width: 70%;
    line-height: 22px;
    color: #FF4A64;
  }


  .nrcb p.mob-subtitle,
  .nrcb p.sub-heading {
    color: #1f2f49;
  }

  .nrcb h1.mob-title {
    color: #FF4A64;
  }

  .pagetitle {
    background: url(../images/mob_banner.webp) no-repeat;
    background-position: right bottom;
    /* background-size: cover; */
    background-size: contain;
    /* min-height: 90px; */
    height: 120px;
  }

  .top-content.nrcb {
    background: url(../images/new_mob_banner.webp) no-repeat;
    background-size: cover;
    background-position: top;
    height: 160px;
  }

  .top-content.nrcb .pagetitle {
    height: unset;
    background: none;
  }


  .top-disclosure .advert-text {
    width: 90px;
    display: inline-block;
  }

  .rank-order {
    top: -5px;
    right: 5px;
    left: unset;
  }

  footer {
    padding: 10px;
  }

  footer ul {
    margin: 20px 0px;
  }

  footer ul li {
    padding: 5px 0px 0px 0px;
    display: flex;
  }

  .footer-logo {
    margin-left: 0px;
  }

  .pagetitle {
    padding: 0;
    text-align: left;
  }

  .top-content {
    padding-top: 15px;
    /* border-top: 1px solid #CBD0DD; */
    border-bottom: none;
    height: auto;
  }

  .top-content h1 {
    font-size: 20px;
    line-height: 22px;
    text-align: left;
  }

  .sub-heading {
    font-size: 16px;
    line-height: 18px;
    padding: 0;
  }

  .ranking-container {
    margin-top: 25px;
  }

  .rank-rating {
    padding-left: 10px;
  }

  .featured-rank .rankrow {
    padding: 10px;
    margin: 0;
  }

  .featured-container p.heading {
    font-size: 18px;
  }

  .main-content h2 {
    font-size: 17px;
  }

  p {
    font-size: 15px;
  }

  h2 {
    font-size: 24px;
  }

  .rankrow .tag {
    font-size: 16px;
    white-space: normal;
  }

  .rank-features {
    /* margin: 15px; */
    margin-bottom: 10px;
  }

  .rank-features ul li {
    /* text-indent: 20px; */
    padding-left: 20px;
  }

  .rank-features ul li::before {
    /* left: 10px; */
    left: 0px;
  }

  .tags {
    margin: 10px 0px;
  }

  .tags .tags-title {
    font-size: 13px;
  }

  .visit-btn {
    width: 95%;
    font-size: 18px;
    margin: 5px 0px 0px;
  }

  .nrc .visit-btn {
    width: 100%;
  }

  .nrc .mobile-vignette {
    border-radius: 10px;
    font-size: 11px;
    padding: 5px 10px;
    gap: 6px;
  }

  .nrc .mobile-vignette img {
    width: 22px;
    height: 22px;
  }

  .nrc .mobile-meta-row {
    margin-bottom: 5px;
  }


  .right-sidebar {
    margin-left: 0px;
    width: 100%;
  }


  .modal-body .leftcontainer,
  .modal-body .rightcontainer {
    flex: auto;
    margin: 15px;
  }

  .modal-body .features .visitsitebutton {
    width: 85%;
    text-align: center;
    margin: 15px auto;
    float: unset;
    display: block;
  }

  .category_grid {
    margin-bottom: 0;
  }

  .dflex .counter_col {
    top: 4px;
  }

  .modal-body .title {
    height: auto;
  }

  .modal-header {
    padding: 15px 15px 0px 15px;
  }

  .rank-features ul li::before {
    width: 18px;
    height: 18px;
  }

  .rank-features.mob-rank {
    margin: 15px 0px 0px 0px;
    padding: 0px 10px;
  }

  .rank-features.mobile ul li {
    font-weight: 500;
    padding: 0;
    padding-right: 10px;
  }

  .rank-features.mobile ul li::before {
    content: none;
  }


  .top-heart {
    right: 15px;
    bottom: -5px;
    display: inline-block;
  }


  .ranking_disclaimer_trigger {
    font-size: 10px;
  }

  .ranking-note span {
    width: 96%;
  }

  .nrc .rank-logo {
    width: 55%;
    justify-content: flex-start;
  }

  .nrc .rank-rating {
    /* width: 115px; */
  }

  .nrc .rank-logo img {
    width: 100%;
  }

  .nrc .top-rank .rank-award img {
    width: 105px;
  }

}

/*  (max-width: 767px) */

.pr {
  position: relative;
}




/*cookies */

#cookieConsent {
  display: none;
  /* max-width: 1130px; */
  margin: auto;
  width: 100%;
}

.cookieConsent .tc-privacy-banner {}

.cookieConsent .tc-privacy-footer {
  bottom: 0px;
}

.cookieConsent .tc-privacy-banner {
  width: 100%;
  text-align: left;
  /* opacity: 0.9; */
  font-size: 16px;
  position: relative;
  z-index: 9;
  /* max-width: 1020px; */
  border: 1px solid #e6e7e9;
  /* border-radius: 5px; */
  top: 0px;
  /* max-width: 1130px; */
  background-color: #f4f4f6;
  color: #0a1443;
}

.tc-reset-css {
  border: none;
  background: none;
}

.cookieConsent .tc-privacy-block-button,
.cookieConsent .tc-privacy-block-text {
  vertical-align: middle;
}

.cookieConsent .tc-privacy-block-text {
  width: 73%;
  display: inline-block;
}

.cookieConsent .tc-privacy-text {
  color: #0a1443;
  padding: 10px;
  font-size: 0.75em;
  text-align: left;
}

.cookieConsent .tc-privacy-text a {
  /* font-weight: 700; */
  text-decoration: underline;
}

.cookieConsent .tc-privacy-text a:hover {
  color: inherit;
}

.cookieConsent .tc-privacy-text a::after {
  content: ' ';
}

.cookieConsent .tc-privacy-text p {
  /* padding: 0px 0px 0px 15px; */
  padding: 0px 0px 0px 0px;
  margin: 0;
  font-size: 12px;
}

.cookieConsent .tc-privacy-block-button {
  width: 25%;
  display: inline-flex;
  right: 10px;
  justify-content: end;
}

.cookieConsent .tc-privacy-block-button,
.cookieConsent .tc-privacy-block-text {
  vertical-align: middle;
}

.footer_privacy_button {
  background: #0a1443;
  color: #fff;
  padding: 5px 20px;
  border-radius: 5px;
  border: 1px solid #0a1443;
}

.cookieConsent .tc-privacy-button {
  margin: 10px 0px;
}

.cookieConsent .tc-privacy-button {
  float: right;
  margin: 10px 0px 10px 10px;
  display: block;
  cursor: pointer;
  font-size: 0.75em;
  padding: 5px 10px;
  font-weight: 700;
}

.cookieConsent .tc-privacy-button.outline {
  background: #fff !important;
  color: #0a1443 !important;
  border: 1px solid #0a1443 !important;
}

@media (max-width: 970px) {
  .cookieConsent .tc-privacy-block-text {
    width: 100%;
  }

  .cookieConsent .tc-privacy-block-button {
    width: 100%;
    display: inline-block;
    right: 10px;
    margin: auto;
    text-align: center;
  }

  .cookieConsent .tc-privacy-button {
    display: inline-block;
    float: none;
  }
}

@media (max-width: 767px) {
  .cookieConsent .tc-privacy-text {
    padding: 5px 0px;
  }

  .cookieConsent .tc-privacy-text p {
    padding: 0;
  }

  .cookieConsent .tc-privacy-button {
    margin: 5px 10px 10px 0px;
    /* float: right; */
    width: 40%;
    padding: 6px 20px !important;
  }

}

@media only screen and (min-width: 992px) {
  .pagecontainer .ranking-main-col {
    width: 74%;
  }

  .pagecontainer .sticky-sidebar-col {
    width: 26%;
  }

  .pagecontainer .sticky-sidebar-col .right-sidebar {
    width: 96%;
    margin-left: 4%;
  }

  .pagecontainer .sticky-sidebar-col .sticky-sidebar-logo {
    width: 82%;
    max-width: 170px;
  }
}


/*cookies */


.rankbox.mobile,
#topoffer_popup .topoffer-card {
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.rankbox.mobile.touch-glow-card,
#topoffer_popup .topoffer-card.touch-glow-card {
  box-shadow:
    0 0 0 2px rgba(255, 74, 100, 0.45),
    0 0 0 10px rgba(255, 74, 100, 0.28),
    0 0 0 18px rgba(255, 74, 100, 0.16);
}

.mobile-ranking-group.is-hidden,
.mobile-featured-group.is-hidden {
  display: none;
}

.desktop-ranking-group.is-hidden,
.desktop-featured-group.is-hidden {
  display: none;
}

.mobile-intent-overlay {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 12000;
  background: #0d1024;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.mobile-intent-overlay.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mobile-intent-shell,
.mobile-intent-visuals {
  height: 100%;
}

.mobile-intent-shell {
  position: relative;
}

.mobile-intent-visuals {
  position: relative;
  height: calc(100% - 20px);
  margin: 10px;
  border-radius: 26px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.68);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.mobile-intent-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
}

.mobile-intent-overlay-layer {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(14, 16, 36, 0.82) 0%,
    rgba(14, 16, 36, 0.45) 38%,
    rgba(14, 16, 36, 0.2) 100%
  );
  pointer-events: none;
}

.mobile-intent-question {
  text-align: center;
  margin-bottom: 4px;
  background: rgba(11, 14, 30, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 14px;
  padding: 11px 12px 12px;
  backdrop-filter: blur(6px);
}

.mobile-intent-question p {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
}

.mobile-intent-actions,
.mobile-intent-loading {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 2;
}

.mobile-intent-actions {
  display: block;
}

.mobile-intent-question-buttons {
  margin-top: 12px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mobile-intent-btn {
  border: 0;
  color: #fff;
  border-radius: 12px;
  padding: 13px 12px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.1px;
  background: rgba(13, 16, 36, 0.5);
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 28px rgba(2, 6, 23, 0.34);
  transition: transform 0.2s ease, background 0.2s ease;
  min-height: 58px;
}

.mobile-intent-btn:active {
  transform: translateY(1px) scale(0.99);
}

.mobile-intent-btn.is-serious {
  background: linear-gradient(135deg, rgba(108, 99, 255, 0.94), rgba(142, 88, 255, 0.94));
}

.mobile-intent-btn.is-casual {
  background: linear-gradient(135deg, rgba(255, 62, 117, 0.94), rgba(255, 89, 153, 0.94));
}

.mobile-intent-btn.is-both {
  grid-column: 1 / -1;
  min-height: 62px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ff546c, #ff7f57);
  font-size: 17px;
}

.mobile-intent-loading {
  display: none;
  text-align: center;
  color: #fff;
  padding: 24px 16px 16px;
  border-radius: 22px;
  background: rgba(11, 14, 30, 0.62);
  backdrop-filter: blur(8px);
  box-shadow: 0 14px 42px rgba(2, 6, 23, 0.4);
}

.mobile-intent-loading p {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.mobile-intent-spinner {
  width: 46px;
  height: 46px;
  margin: 0 auto 14px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.22);
  border-top-color: #ff6f7d;
  animation: mobileIntentSpin 0.95s linear infinite;
}

@keyframes mobileIntentSpin {
  to {
    transform: rotate(360deg);
  }
}

body.mobile-intent-open {
  overflow: hidden;
  touch-action: none;
}

@media (min-width: 768px) {
  .mobile-intent-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
  }

  .mobile-intent-visuals {
    width: min(92vw, calc((100vh - 48px) * 9 / 16));
    max-height: calc(100vh - 48px);
    height: auto;
    aspect-ratio: 9 / 16;
    margin: 0;
  }

  .mobile-intent-actions,
  .mobile-intent-loading {
    left: 22px;
    right: 22px;
    bottom: 24px;
  }

}

/* === 2026 design (formerly static/css/v2026.css) === */
/* =========================================================
   Simple comparator — Navy + Amber palette
   ========================================================= */

:root {
  --c-primary:       #2C3E66;
  --c-primary-dark:  #1E2D4A;
  --c-accent:        #D4A24C;
  --c-accent-dark:   #B8862F;
  --c-text:          #1A1A1A;
  --c-text-muted:    #5C6470;
  --c-border:        #E5E7EB;
  --c-bg:            #FFFFFF;
  --c-bg-soft:       #FFFFFF;
  --c-star:          #F3B43A;
  --c-check-bg:      #E4E8F1;
}

.fb-page-root {
  background: var(--c-bg-soft);
  color: var(--c-text);
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* ---------- Banner ---------- */
.fb-banner {
  background: var(--c-bg);
  padding: 16px 0 26px;
}
.fb-banner h1 {
  font-size: 38px;
  font-weight: 800;
  color: var(--c-text);
  margin: 0 0 8px;
  line-height: 1.15;
  letter-spacing: -0.5px;
}
.fb-banner p {
  font-size: 16px;
  color: var(--c-text-muted);
  margin: 0;
}

/* ---------- Disclosure ---------- */
.fb-disclosure {
  background: #EEF0F4;
  color: #555;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 11px;
  line-height: 1.4;
  margin: 0 0 14px;
}
.fb-disclosure a {
  color: var(--c-primary);
  text-decoration: underline;
}

/* ---------- Layout ---------- */
.fb-wrap {
  background: var(--c-bg-soft);
  padding: 0 0 20px;
}
.fb-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: flex-start;
}
.fb-grid > div:last-child { display: none; }
@media (max-width: 899px) {
  .fb-grid { grid-template-columns: 1fr; }
  .fb-grid > div:last-child { display: none; }
}
@media (min-width: 900px) and (max-width: 1023px) {
  .fb-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .fb-grid { grid-template-columns: 1fr; gap: 24px; }
}
/* Review pages: hide the Top-sites mini-rank sidebar below 1025px.
   The home sidebar (no .fb-review-aside) keeps its own breakpoints. */
@media (max-width: 1024px) {
  .fb-grid:has(.fb-review-aside) { grid-template-columns: 1fr; }
  .fb-grid:has(.fb-review-aside) > div:last-child { display: none; }
}
@media (max-width: 991px) {
  .fb-banner h1 { font-size: 26px; }
}

/* ---------- Card (desktop) ---------- */
.fb-card-link {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
}
.fb-card-link:hover .fb-card {
  border-color: var(--c-primary);
  box-shadow: 0 6px 18px rgba(44, 62, 102, 0.12);
  transform: translateY(-1px);
}
.fb-card-link:hover .fb-cta {
  background: var(--c-primary-dark);
}

/* #1 card and Featured #1 keep gold theme on hover with a richer glow */
.fb-card-link:hover .fb-card.fb-top,
.fb-featured .fb-card-link:hover .fb-card {
  border-color: var(--c-accent-dark);
  box-shadow:
    0 0 0 4px rgba(212, 162, 76, 0.18),
    0 12px 28px rgba(184, 134, 47, 0.28);
}
.fb-card-link:hover .fb-card.fb-top .fb-top-tag,
.fb-featured .fb-card-link:hover .fb-card .fb-top-tag {
  background: var(--c-accent-dark);
}

.fb-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: 24px 24px;
  margin-bottom: 18px;
  position: relative;
  display: grid;
  grid-template-columns: 72px 240px minmax(0, 1fr) 170px;
  grid-template-areas:
    "rank logo content score"
    "rank logo content cta";
  column-gap: 20px;
  row-gap: 10px;
  align-items: center;
  box-shadow: 0 1px 2px rgba(28, 36, 60, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.fb-card.fb-top {
  border-color: var(--c-accent);
  border-width: 2px;
  padding-top: 30px;
  box-shadow: 0 4px 14px rgba(212, 162, 76, 0.18);
}

.fb-rank {
  grid-area: rank;
  font-size: 64px;
  font-weight: 800;
  color: var(--c-primary);
  opacity: 1;
  line-height: 1;
  text-align: center;
  letter-spacing: -2px;
}
.fb-logo {
  grid-area: logo;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fb-logo img {
  max-width: 100%;
  max-height: 200px;
  height: auto;
  width: auto;
  object-fit: contain;
}
.fb-content {
  grid-area: content;
  min-width: 0;
}
.fb-score-box {
  grid-area: score;
  align-self: end;
}
.fb-cta-wrap {
  grid-area: cta;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Top tag */
.fb-top-tag {
  position: absolute;
  top: -14px;
  left: 24px;
  background: var(--c-accent);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px 6px 32px;
  border-radius: 4px;
  letter-spacing: 0.3px;
  display: inline-flex;
  align-items: center;
}
.fb-top-tag::before {
  content: "🏆";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}

/* Title + features */
.fb-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-text);
  margin: 0 0 8px;
}
.fb-features {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fb-features li {
  position: relative;
  padding-left: 28px;
  margin: 6px 0;
  font-size: 15px;
  color: #2A2A2A;
  line-height: 1.45;
}
.fb-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--c-check-bg);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C3E66' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

/* Score box */
.fb-score-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: 8px 10px 10px;
  width: 100%;
  max-width: 150px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  gap: 4px;
}
.fb-score-num {
  font-size: 28px;
  font-weight: 800;
  color: var(--c-primary);
  line-height: 1;
}
.fb-score-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  width: 100%;
}
.fb-score-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: var(--c-text-muted);
  text-transform: uppercase;
}

/* Subtle gold accent for the #1 card */
.fb-card.fb-top .fb-score-box {
  background: #fff;
  border-color: var(--c-accent);
  border-width: 2px;
  padding: 7px 9px 9px;
}
.fb-card.fb-top .fb-score-num { color: var(--c-accent-dark); }
.fb-card.fb-top .fb-score-label { color: var(--c-accent-dark); }
.fb-stars {
  display: inline-flex;
  gap: 1px;
}
.fb-stars svg {
  width: 15px;
  height: 15px;
}

/* CTA */
.fb-cta-wrap { width: 100%; max-width: 170px; margin-left: auto; margin-right: auto; }
.fb-cta {
  background: var(--c-primary);
  color: #fff !important;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 14px;
  border-radius: 6px;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  transition: background 0.15s ease;
}
.fb-cta-arrow { font-weight: 700; }
.fb-cta-note { text-align: center; font-size: 12px; color: var(--c-text-muted); }

/* ---------- Card narrow desktop (sidebar squeezes content) ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  .fb-card {
    grid-template-columns: 56px 170px minmax(0, 1fr) 150px;
    column-gap: 14px;
    padding: 20px 18px;
  }
  .fb-rank { font-size: 48px; letter-spacing: -1px; }
  .fb-logo img { max-height: 150px; }
  .fb-cta-wrap { max-width: 150px; }
  .fb-cta { padding: 10px 10px; font-size: 14px; }
}

/* ---------- Card mobile layout ---------- */
@media (max-width: 767px) {
  .fb-card {
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "rank logo score"
      "content content content"
      "cta cta cta";
    column-gap: 10px;
    row-gap: 14px;
    padding: 16px;
  }
  .fb-card.fb-top { padding-top: 24px; }
  .fb-rank {
    position: static;
    transform: none;
    width: auto;
    grid-area: rank;
    font-size: 38px;
    color: var(--c-primary);
    opacity: 1;
    text-align: left;
    letter-spacing: normal;
    z-index: auto;
    pointer-events: auto;
  }
  .fb-logo { justify-content: center; padding-right: 0; }
  .fb-logo img { max-height: 140px; max-width: 100%; width: auto; }
  .fb-title { padding-bottom: 0; margin-bottom: 5px; }
  .fb-score-box {
    max-width: 96px;
    padding: 6px 6px 8px;
    border-radius: 8px;
    gap: 3px;
  }
  .fb-score-num { font-size: 22px; }
  .fb-score-label { font-size: 9px; letter-spacing: 0.3px; }
  .fb-stars svg { width: 11px; height: 11px; }
  .fb-cta-wrap { max-width: none; }
}

/* ---------- Sidebar ---------- */
.fb-sidebar-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 10px;
  margin-bottom: 18px;
  overflow: hidden;
}
.fb-sidebar-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--c-text);
  margin: 0;
  background: var(--c-bg-soft);
  padding: 14px 20px;
  border-bottom: 1px solid var(--c-border);
}
.fb-sidebar-body { padding: 8px 20px 14px; }
.fb-sidebar-link {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-border);
  text-decoration: none;
  color: var(--c-text);
  font-size: 14px;
  font-weight: 600;
}
.fb-sidebar-link:last-child { border-bottom: none; }
.fb-sidebar-link:hover,
.fb-sidebar-review:hover { color: var(--c-text); background: #FAFBFD; }
.fb-sidebar-link span {
  display: block;
  font-size: 12px;
  color: var(--c-primary);
  font-weight: 600;
  margin-top: 2px;
}
.fb-sidebar-review {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-border);
  text-decoration: none;
  color: var(--c-text);
}
.fb-sidebar-review:last-child { border-bottom: none; }
.fb-sidebar-review img { width: 60px; height: auto; flex-shrink: 0; }
.fb-sidebar-review-text { font-size: 14px; font-weight: 700; }
.fb-sidebar-review-text span {
  display: block;
  color: var(--c-primary);
  font-size: 12px;
  font-weight: 600;
  margin-top: 2px;
}

/* ---------- Article content ---------- */
.fb-article {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: 24px 30px;
  margin-top: 0;
}
.fb-article > .fb-overview { margin-top: 0; }
.fb-article > .fb-overview .fb-overview-title { margin-top: 0; }
.fb-article h1, .fb-article h2 {
  color: var(--c-text);
  font-weight: 700;
  margin-top: 1.4em;
}
.fb-article h2 { font-size: 22px; }
.fb-article p { color: #2A2A2A; line-height: 1.65; }
.fb-article a { color: var(--c-primary); }
.fb-article blockquote {
  border-left: 4px solid var(--c-primary);
  padding: 6px 16px;
  background: var(--c-bg-soft);
  margin: 16px 0;
  font-style: italic;
}
@media (max-width: 991px) {
  .fb-article { padding: 20px; }
}

/* ---------- Featured highlight after ranking ---------- */
.fb-featured {
  margin: 28px 0 24px;
  padding: 22px 24px 6px;
  background: linear-gradient(180deg, #FBF6EA 0%, #FFFFFF 100%);
  border: 1px solid #EAD9B0;
  border-radius: 12px;
}
.fb-featured-head {
  text-align: center;
  margin-bottom: 18px;
}
.fb-featured-medal {
  font-size: 32px;
  display: inline-block;
  margin-bottom: 4px;
}
.fb-featured-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--c-primary);
  margin: 0 0 6px;
  letter-spacing: -0.3px;
}
.fb-featured-sub {
  font-size: 14px;
  color: var(--c-text-muted);
  margin: 0 auto;
  max-width: 620px;
  line-height: 1.45;
}
.fb-featured .fb-card-link { display: block; }
.fb-featured .fb-card { margin-bottom: 0; }
@media (max-width: 991px) {
  .fb-featured { padding: 18px 14px 4px; }
  .fb-featured-title { font-size: 19px; }
}

/* ---------- Review page (banner + sidebar author + hero + sidebar mini-rank) ---------- */
.fb-review-banner {
  padding-top: 16px;
  padding-bottom: 14px;
}
.fb-review-banner h1 {
  font-size: 28px;
  margin-bottom: 0;
}
.fb-review-meta {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(28, 36, 60, 0.04);
  overflow: hidden;
}
.fb-review-meta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, var(--c-primary) 0%, var(--c-accent) 100%);
}
.fb-review-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--c-primary);
  flex-shrink: 0;
}
.fb-review-meta > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.fb-review-author {
  font-weight: 700;
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.2;
}
.fb-review-byline {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--c-primary);
  margin-bottom: 2px;
}
.fb-review-date {
  font-size: 12px;
  color: var(--c-text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
}
.fb-review-date::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C6470' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>") center / contain no-repeat;
}
.fb-review-hero {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin: 0 auto 24px;
}

.fb-review-aside { position: sticky; top: 16px; }
.fb-mini-rank {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 10px;
  overflow: hidden;
}
.fb-mini-rank h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #fff;
  background: var(--c-primary);
  padding: 12px 16px;
}
.fb-mini-rank ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fb-mini-rank li { border-bottom: 1px solid var(--c-border); }
.fb-mini-rank li:last-child { border-bottom: none; }

.fb-mini-card {
  display: grid;
  grid-template-columns: 22px 56px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  text-decoration: none !important;
  color: var(--c-text) !important;
  transition: background 0.15s ease;
}
.fb-mini-card:hover { background: #FAFBFD; }
.fb-mini-rank-num {
  font-size: 18px;
  font-weight: 800;
  color: var(--c-primary);
  text-align: center;
}
.fb-mini-logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fb-mini-logo img { max-width: 100%; max-height: 32px; height: auto; }
.fb-mini-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fb-mini-title { font-size: 13px; font-weight: 700; color: var(--c-text); }
.fb-mini-score {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  font-weight: 700;
  color: var(--c-primary);
}
.fb-mini-score-num { font-size: 13px; }
.fb-mini-score-out { font-size: 10px; color: var(--c-text-muted); font-weight: 600; }
.fb-mini-cta {
  background: var(--c-primary);
  color: #fff;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.2px;
  padding: 5px 8px;
  border-radius: 4px;
  white-space: nowrap;
}

/* On narrow desktop (1025-1199), the sidebar is only 280px wide and the
   4-col mini-card row gets cramped: the CTA label crowds the title.
   Hide the label in this range and keep just the arrow as a discreet
   pill. */
@media (min-width: 1025px) and (max-width: 1199px) {
  .fb-mini-cta-label { display: none; }
  .fb-mini-cta { padding: 5px 9px; font-size: 12px; }
}

/* On mobile, mini-rank moves above sidebar */
@media (max-width: 991px) {
  .fb-review-aside { position: static; }
  .fb-review-banner h1 { font-size: 22px; }
}

/* ---------- Sticky scroll popup (mobile / tablet only) ---------- */
@media (min-width: 992px) {
  .fb-popup { display: none !important; }
}
.fb-popup {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #fff;
  border-top: 1px solid var(--c-border);
  box-shadow: 0 -6px 24px rgba(28, 36, 60, 0.14);
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.35s ease;
}
.fb-popup.fb-popup-visible {
  transform: translateY(0);
}
.fb-popup-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 16px;
}
.fb-popup-logo {
  flex-shrink: 0;
  width: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fb-popup-logo img {
  max-width: 100%;
  max-height: 36px;
  width: auto;
  height: auto;
}
.fb-popup-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}
.fb-popup-text strong {
  font-size: 15px;
  color: var(--c-text);
  font-weight: 700;
}
.fb-popup-text span {
  font-size: 12px;
  color: var(--c-text-muted);
}
.fb-popup-cta {
  flex-shrink: 0;
  background: var(--c-primary);
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  padding: 11px 22px;
  border-radius: 6px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.15s ease;
}
.fb-popup-cta:hover { background: var(--c-primary-dark); color: #fff !important; }
.fb-popup-close {
  flex-shrink: 0;
  background: transparent;
  border: none;
  color: var(--c-text-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
}
.fb-popup-close:hover { color: var(--c-text); }
@media (max-width: 575px) {
  .fb-popup-logo { width: 56px; }
  .fb-popup-logo img { max-height: 44px; }
  .fb-popup-text strong { font-size: 13px; }
  .fb-popup-text span { font-size: 11px; }
  .fb-popup-cta { padding: 11px 14px; font-size: 13px; }
  .fb-popup-inner { gap: 10px; padding: 14px 12px; }
}

/* ---------- Disclosure modal ---------- */
.fb-disclosure a.fb-disclosure-trigger {
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.fb-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
body.fb-modal-open { overflow: hidden; }
.fb-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 28, 50, 0.55);
}
.fb-modal-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  max-width: 640px;
  width: 100%;
  max-height: 80vh;
  overflow: auto;
  padding: 28px 32px 24px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}
.fb-modal-card h3 {
  font-size: 18px;
  font-weight: 800;
  color: var(--c-primary);
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.fb-modal-body p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-text);
  margin: 0 0 16px;
}
.fb-modal-close {
  background: var(--c-primary);
  color: #fff;
  border: none;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.fb-modal-close:hover { background: var(--c-primary-dark); }
@media (max-width: 575px) {
  .fb-modal-card { padding: 22px 20px; }
}

/* Hide legacy disclaimer / ranking-disc container above footer everywhere */
.ranking_disc_container,
.disclaimer_trigger {
  display: none !important;
}

/* ---------- Review article overrides ---------- */
/* Switch legacy review buttons from pink to navy */
.fb-page-root .btn-bordered,
.fb-article .btn-bordered {
  border: 1px solid var(--c-primary) !important;
  color: var(--c-primary) !important;
  background: transparent !important;
}
.fb-page-root .btn-bordered:hover,
.fb-article .btn-bordered:hover {
  background: var(--c-primary) !important;
  color: #fff !important;
}

/* ---------- Review Overview block ---------- */
.fb-overview {
  margin: 0 0 28px;
}
.fb-overview-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--c-text);
  margin: 0 0 12px;
  letter-spacing: -0.4px;
}
.fb-overview-intro {
  font-size: 15px;
  color: #2A2A2A;
  line-height: 1.55;
  margin: 0 0 18px;
}
.fb-overview-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 28px;
  background: #F4F5F7;
  border-radius: 12px;
  padding: 24px 26px;
  align-items: start;
}
.fb-overview-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.fb-overview-col h4 {
  font-size: 15px;
  font-weight: 800;
  color: var(--c-text);
  margin: 0 0 10px;
}
.fb-overview-pros, .fb-overview-cons {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fb-overview-pros li, .fb-overview-cons li {
  position: relative;
  padding-left: 30px;
  font-size: 14px;
  line-height: 1.45;
  color: #2A2A2A;
  margin: 8px 0;
}
.fb-pros-sub {
  font-weight: 400;
  color: var(--c-text-muted);
  font-size: 13px;
}
.fb-overview-pros li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #DCEBDF;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23227043' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}
.fb-overview-cons li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #FBE4E4;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5343A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}
.fb-overview-side {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.fb-overview-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  min-height: 90px;
}
.fb-overview-logo img {
  max-width: 100%;
  max-height: 70px;
  height: auto;
  width: auto;
}
.fb-overview-score {
  margin: 0;
  max-width: none;
}
.fb-overview-cta {
  margin: 0;
}
@media (max-width: 767px) {
  .fb-overview-card {
    grid-template-columns: 1fr;
    padding: 16px;
    gap: 16px;
  }
  .fb-overview-cols { grid-template-columns: 1fr; gap: 14px; }
  .fb-overview-title { font-size: 22px; }

  /* Move side block above pros/cons and lay it out compactly inline */
  .fb-overview-side {
    order: -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px;
    background: #fff;
    border-radius: 8px;
  }
  .fb-overview-logo {
    flex: 2 1 0;
    width: auto;
    min-height: 0;
    padding: 0;
    background: transparent;
  }
  .fb-overview-logo img { max-height: 44px; }
  .fb-overview-score {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    margin: 0;
  }
  .fb-overview-score .fb-score-num { font-size: 18px; padding: 8px 0; }
  .fb-overview-cta {
    flex: 1 1 100%;
    margin: 4px 0 0;
  }
  .fb-overview-side .fb-cta-note { flex: 1 1 100%; margin: 0; }
}

/* ---------- Header / nav redesign ---------- */
.navbar.navbar-expand-md {
  border-bottom: none;
  padding-top: 8px;
  padding-bottom: 8px;
}
.navbar.navbar-expand-md .nav-link {
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  color: var(--c-text) !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  transition: background 0.15s ease, color 0.15s ease;
  line-height: 1 !important;
}
.navbar.navbar-expand-md .nav-link:hover,
.navbar.navbar-expand-md .nav-link.show {
  background: #F4F5F8;
  color: var(--c-primary) !important;
}
.navbar.navbar-expand-md .nav-link.dropdown-toggle::after {
  display: inline-block !important;
  content: '' !important;
  width: 8px;
  height: 8px;
  border: solid var(--c-primary);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-left: 4px;
  transition: transform 0.2s ease;
  vertical-align: middle;
  background: none;
}
.navbar.navbar-expand-md .nav-link.dropdown-toggle.show::after {
  transform: rotate(-135deg);
}
ul.navbar-nav li.nav-item:last-child { margin-left: 0 !important; }

/* Dropdown panel */
.navbar.navbar-expand-md .dropdown-menu.megamenu {
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(28, 36, 60, 0.14) !important;
  border-radius: 12px !important;
  border: 1px solid var(--c-border) !important;
  padding: 8px !important;
  margin-top: 6px !important;
  min-width: 280px;
}
.navbar.navbar-expand-md .megamenu .container {
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}
.navbar.navbar-expand-md .megamenu .nav-close { display: none !important; }
.navbar.navbar-expand-md .megamenu h4 {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--c-text-muted) !important;
  padding: 8px 12px 4px !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.navbar.navbar-expand-md .megamenu h4::after { display: none !important; }
.navbar.navbar-expand-md .megamenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.navbar.navbar-expand-md .megamenu ul li {
  padding: 0 !important;
  font-size: 14px !important;
}
.navbar.navbar-expand-md .megamenu ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--c-text) !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 14px;
  transition: background 0.12s ease, color 0.12s ease, transform 0.12s ease;
}
.navbar.navbar-expand-md .megamenu ul li a:hover {
  background: #F4F5F8;
  color: var(--c-primary) !important;
}
.navbar.navbar-expand-md .megamenu ul li a::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C3E66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") center / contain no-repeat;
  opacity: 0.55;
  transition: transform 0.15s ease, opacity 0.15s ease;
}
.navbar.navbar-expand-md .megamenu ul li a:hover::before {
  transform: translateX(3px);
  opacity: 1;
}

/* ---------- Header frame redesign (last-updated bar) ---------- */
.header-frame {
  background: var(--c-primary) !important;
  height: auto !important;
  position: relative;
}
.header-frame .top-frame,
.header-frame .bottom-frame { display: none !important; }
.header-frame > .container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 8px;
  padding-bottom: 8px;
}
.header-frame .update {
  margin: 0 !important;
  top: 0 !important;
  height: auto !important;
  text-align: left;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 500;
  letter-spacing: 0.2px;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.header-frame .update b {
  font-weight: 700;
  color: #fff;
}
.header-frame .update::before {
  content: '' !important;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>") center / contain no-repeat !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .header-frame > .container {
    justify-content: center;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .header-frame .update { font-size: 11px !important; }
}

/* ---------- Terms / legal pages (2026) ---------- */
.fb-terms-banner {
  padding: 22px 0 18px;
}
.fb-terms-banner h1 {
  font-size: 30px;
  margin: 0;
}
.fb-terms-back {
  display: inline-block;
  font-size: 14px;
  color: var(--c-text-muted);
  text-decoration: none;
  margin-bottom: 8px;
}
.fb-terms-back:hover {
  color: var(--c-primary);
  text-decoration: underline;
}
.fb-article.fb-terms {
  max-width: 820px;
  margin: 0 auto;
  padding: 28px 32px;
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 10px;
  line-height: 1.75;
}
.fb-article.fb-terms h1 {
  font-size: 28px;
  margin: 0 0 18px;
}
.fb-article.fb-terms h2 {
  font-size: 22px;
  margin: 28px 0 12px;
}
.fb-article.fb-terms h3 {
  font-size: 18px;
  margin: 22px 0 10px;
}
.fb-article.fb-terms ul,
.fb-article.fb-terms ol {
  padding-left: 22px;
}
.fb-article.fb-terms li {
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .fb-terms-banner h1 { font-size: 22px; }
  .fb-article.fb-terms { padding: 18px 16px; }
}

/* ============================================================
   2026 polish: footer hover, tighter navbar, loading effects
   ============================================================ */

/* ---------- Footer link hover (was inheriting global pink) ---------- */
footer ul li a {
  position: relative;
  transition: color 0.15s ease, opacity 0.15s ease;
}
footer ul li a:hover,
footer ul li a:focus {
  color: var(--c-accent) !important;
  text-decoration: none;
}
footer ul li a:hover::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: var(--c-accent);
}

/* ---------- Navbar layout: brand left, menu right, aligned with page container ---------- */
@media (min-width: 768px) {
  .navbar.navbar-expand-md > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }
  .navbar.navbar-expand-md .navbar-brand {
    margin-right: 0;
    flex: 0 0 auto;
  }
  .navbar.navbar-expand-md .navbar-collapse {
    flex: 0 0 auto;
    flex-grow: 0 !important;
    width: auto;
  }
  .navbar.navbar-expand-md .navbar-nav {
    margin-left: 0 !important;
    gap: 4px;
    align-items: center;
  }
  /* Tighter dropdown panel for short menus */
  .navbar.navbar-expand-md .dropdown-menu.megamenu {
    min-width: 240px;
  }
}

/* ---------- Loading effects ---------- */

/* Top progress bar that animates on every navigation */
.fb-page-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
  z-index: 9999;
  pointer-events: none;
  transition: width 0.3s ease, opacity 0.3s ease 0.2s;
  box-shadow: 0 0 8px rgba(212, 162, 76, 0.5);
}
.fb-page-progress.is-loading { width: 80%; opacity: 1; }
.fb-page-progress.is-done { width: 100%; opacity: 0; }

/* Page-content fade-in once parsed */
/* Page-content fade-in once parsed.
   Note: do NOT use transform here. A non-none transform on
   .fb-page-root creates a containing block that breaks position:fixed
   children (the sticky scroll popup ends up anchored to the page
   bottom instead of the viewport bottom, and the disclosure modal
   anchors to .fb-page-root instead of the viewport). */
body.fb-loading .fb-page-root {
  opacity: 0;
}
.fb-page-root {
  opacity: 1;
  transition: opacity 0.35s ease;
}

/* Stagger the ranking cards on first paint so they slide in */
.fb-card-link {
  opacity: 0;
  transform: translateY(8px);
  animation: fbCardIn 0.45s ease forwards;
}
.fb-card-link:nth-child(1) { animation-delay: 0.05s; }
.fb-card-link:nth-child(2) { animation-delay: 0.10s; }
.fb-card-link:nth-child(3) { animation-delay: 0.15s; }
.fb-card-link:nth-child(4) { animation-delay: 0.20s; }
.fb-card-link:nth-child(5) { animation-delay: 0.25s; }
.fb-card-link:nth-child(n+6) { animation-delay: 0.30s; }
.fb-featured .fb-card-link { animation-delay: 0s; }
@keyframes fbCardIn {
  to { opacity: 1; transform: translateY(0); }
}

/* Skeleton shimmer for any element marked .fb-skeleton or .is-loading-skeleton */
.fb-skeleton,
.is-loading-skeleton {
  position: relative;
  background: #ECEEF2;
  color: transparent !important;
  border-radius: 6px;
  overflow: hidden;
}
.fb-skeleton::after,
.is-loading-skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.55) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: translateX(-100%);
  animation: fbShimmer 1.2s infinite;
}
@keyframes fbShimmer {
  to { transform: translateX(100%); }
}

/* ---------- Inline top-offer CTA (used inside listing markdown) ---------- */
.fb-inline-cta {
  position: relative;
  display: block;
  background: var(--c-bg);
  border: 1px solid var(--c-accent);
  border-radius: 10px;
  padding: 18px 22px;
  margin: 28px 0;
  box-shadow: 0 2px 10px rgba(184, 134, 47, 0.10);
}
.fb-inline-cta-badge {
  display: inline-block;
  background: var(--c-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.fb-inline-cta-body {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}
.fb-inline-cta-logo img {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
}
.fb-inline-cta-text h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-text);
  margin: 0 0 4px;
}
.fb-inline-cta-text p {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.4;
  margin: 0;
}
.fb-inline-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--c-primary);
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 16px;
  border-radius: 6px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.fb-inline-cta-btn:hover { background: var(--c-primary-dark); color: #fff !important; }

@media (max-width: 575px) {
  .fb-inline-cta { padding: 16px; }
  .fb-inline-cta-body {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas:
      "logo text"
      "cta  cta";
    row-gap: 14px;
  }
  .fb-inline-cta-logo { grid-area: logo; }
  .fb-inline-cta-text { grid-area: text; }
  .fb-inline-cta-btn { grid-area: cta; justify-self: stretch; justify-content: center; }
  .fb-inline-cta-logo img { max-height: 38px; }
}

/* CTA buttons get a subtle "click pulse" while their target is loading */
.fb-cta.is-loading,
.fb-popup-cta.is-loading,
.fb-overview-cta.is-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.85;
}
.fb-cta.is-loading::after,
.fb-popup-cta.is-loading::after,
.fb-overview-cta.is-loading::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: fbSpin 0.7s linear infinite;
}
@keyframes fbSpin {
  to { transform: rotate(360deg); }
}

/* Lazy images fade in when loaded */
img.fb-lazy {
  opacity: 0;
  transition: opacity 0.4s ease;
}
img.fb-lazy.is-loaded {
  opacity: 1;
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .fb-page-progress,
  .fb-page-root,
  .fb-card-link,
  .fb-skeleton::after,
  .is-loading-skeleton::after,
  img.fb-lazy {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
