/* EmberCrit visual system — designed to sit on top of the free Kadence theme. */
:root {
  --ec-orange: #FF641F;
  --ec-orange-hover: #FF823F;
  --ec-orange-deep: #E65317;
  --ec-text: #F4F4F5;
  --ec-text-2: #E4E4E7;
  --ec-muted: #A1A1AA;
  --ec-muted-2: #8B8B95;
  --ec-border: #24262D;
  --ec-surface: #181A1F;
  --ec-bg: #0E0F12;
  --ec-header: #090A0C;
  --ec-radius: 14px;
  --ec-shadow: 0 18px 50px rgba(0,0,0,.24);
  --ec-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ec-display: "Arial Narrow", "Roboto Condensed", Impact, var(--ec-font);
}

html { background: var(--ec-bg); }
body,
body.content-style-unboxed,
#inner-wrap,
#main-header,
.site,
.site-content,
.content-area { background: var(--ec-bg) !important; color: var(--ec-text-2); font-family: var(--ec-font); }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

/* Front page: remove Kadence's generic page-title hero and boxed page surface. */
.ec-front-page .entry-hero.page-hero-section,
.ec-front-page .entry-hero-container-inner { display: none !important; }
.ec-front-page .content-bg,
.ec-front-page .entry-content-wrap,
.ec-front-page .single-content { background: transparent !important; }
.ec-front-page .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
.ec-front-page .site-main { padding-top: 0 !important; padding-bottom: 0 !important; }
.ec-front-page .entry-content { margin: 0 !important; }

/* Header */
#masthead,
.site-header-wrap,
.site-main-header-wrap,
.site-main-header-wrap .site-header-row-container-inner,
.site-header-row-container-inner {
  background: var(--ec-header) !important;
}
.site-main-header-wrap { border-bottom: 1px solid var(--ec-border) !important; }
.site-branding .site-title,
.site-branding .site-title a,
.site-branding a.brand,
.site-branding .site-title-wrap a { color: var(--ec-text) !important; font-weight: 800; letter-spacing: -0.035em; }
.site-branding .site-title a:hover,
.site-branding a.brand:hover { color: var(--ec-orange) !important; }
.site-branding .site-description { color: var(--ec-muted) !important; }

.header-navigation .header-menu-container > ul > li.menu-item > a,
.main-navigation .primary-menu-container > ul > li.menu-item > a,
.primary-menu-container > ul > li.menu-item > a {
  color: var(--ec-text-2) !important;
  font-weight: 650;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
}
.header-navigation .header-menu-container > ul > li.menu-item > a:hover,
.header-navigation .header-menu-container > ul > li.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.current-menu-ancestor > a,
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a {
  color: var(--ec-orange) !important;
}
.header-navigation .header-menu-container ul ul.sub-menu,
.main-navigation .primary-menu-container ul ul.sub-menu,
ul.sub-menu {
  background: var(--ec-surface) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: 10px;
  box-shadow: var(--ec-shadow);
  overflow: hidden;
}
.header-navigation .header-menu-container ul ul.sub-menu a,
.main-navigation .primary-menu-container ul ul.sub-menu a {
  color: var(--ec-text-2) !important;
  background: transparent !important;
}
.header-navigation .header-menu-container ul ul.sub-menu a:hover,
.header-navigation .header-menu-container ul ul.sub-menu .current-menu-item > a,
.main-navigation .primary-menu-container ul ul.sub-menu a:hover,
.main-navigation .primary-menu-container ul ul.sub-menu .current-menu-item > a {
  color: var(--ec-orange) !important;
  background: #202229 !important;
}

/* Mobile navigation */
.popup-drawer .drawer-inner,
.popup-drawer .drawer-content,
.mobile-navigation,
#mobile-drawer .drawer-inner { background: var(--ec-header) !important; color: var(--ec-text); }
.mobile-navigation a,
.popup-drawer .drawer-content a { color: var(--ec-text-2) !important; }
.mobile-navigation a:hover,
.mobile-navigation .current-menu-item > a,
.popup-drawer .drawer-content a:hover { color: var(--ec-orange) !important; }
.menu-toggle-open,
.menu-toggle-close { color: var(--ec-text) !important; }

/* Typography */
h1,h2,h3,h4,h5,h6,
.entry-title,
.page-title,
.archive-title { color: var(--ec-text) !important; font-family: var(--ec-font); letter-spacing: -0.035em; }
h1 { line-height: 1.04; }
h2 { line-height: 1.12; }
p, li, dd, dt { color: inherit; }
a { color: var(--ec-orange); text-underline-offset: .16em; }
a:hover { color: var(--ec-orange-hover); }
.entry-content { font-size: clamp(17px, 1.1vw, 19px); line-height: 1.75; }
.entry-content p { margin-bottom: 1.35em; }
.entry-content blockquote { border-left: 4px solid var(--ec-orange); background: var(--ec-surface); padding: 1rem 1.25rem; border-radius: 0 var(--ec-radius) var(--ec-radius) 0; }

/* Post/archive surfaces */
.content-bg,
.entry,
.loop-entry,
.entry-content-wrap,
.single-content,
.archive.content-style-boxed .site-container,
.page.content-style-boxed .site-container { background: var(--ec-surface); }
.loop-entry,
.entry.loop-entry,
.wp-site-blocks .wp-block-post {
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius);
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.16);
}
.loop-entry .entry-content-wrap { padding: clamp(20px, 3vw, 32px); }
.entry-title a { color: var(--ec-text) !important; }
.entry-title a:hover { color: var(--ec-orange) !important; }
.entry-meta,
.entry-meta a,
.posted-on,
.byline { color: var(--ec-muted) !important; }
.entry-taxonomies a,
.category-links a,
.cat-links a {
  color: var(--ec-orange) !important;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Images */
.entry-content img,
.post-thumbnail img,
.attachment-post-thumbnail { border-radius: 12px; }

/* Buttons and controls */
button,
.button,
.wp-element-button,
.wp-block-button__link,
input[type="submit"] {
  background: var(--ec-orange) !important;
  color: var(--ec-header) !important;
  border: 1px solid var(--ec-orange) !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
button:hover,
.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
  background: var(--ec-orange-hover) !important;
  border-color: var(--ec-orange-hover) !important;
}
input[type="text"],input[type="email"],input[type="url"],input[type="search"],input[type="password"],input[type="number"],textarea,select {
  background: #121419 !important;
  color: var(--ec-text) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: 8px !important;
}

/* Footer — hide the theme credit and use EmberCrit's publication footer. */
.site-footer-wrap,
#colophon { display: none !important; }
.ec-publication-footer { background: var(--ec-header); border-top: 1px solid var(--ec-border); color: var(--ec-muted); }
.ec-publication-footer-inner { max-width: 1240px; margin: 0 auto; padding: 30px 20px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px 28px; align-items: center; }
.ec-publication-footer strong { display:block; color:var(--ec-text); font-size:1.05rem; letter-spacing:-.02em; }
.ec-publication-footer span { display:block; margin-top:3px; color:var(--ec-muted); font-size:.9rem; }
.ec-publication-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 18px; }
.ec-publication-footer nav a { color:var(--ec-text-2); text-decoration:none; font-size:.9rem; font-weight:700; }
.ec-publication-footer nav a:hover { color:var(--ec-orange); }
.ec-publication-footer small { grid-column:1/-1; color:var(--ec-muted-2); font-size:.8rem; }

/* Homepage */
.ec-home { max-width: 1240px; margin: 0 auto; padding: clamp(22px,4vw,48px) 20px 72px; }
.ec-hero {
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(220px,.45fr);
  gap: clamp(28px,5vw,70px);
  align-items: center;
  min-height: 430px;
  padding: clamp(34px,6vw,78px);
  margin: 10px 0 58px;
  background: linear-gradient(135deg,#181A1F 0%,#111318 58%,#20130d 100%);
  border: 1px solid var(--ec-border);
  border-radius: 22px;
  overflow: hidden;
  position: relative;
}
.ec-hero:after { content:""; position:absolute; right:-140px; bottom:-200px; width:440px; height:440px; border-radius:50%; background:radial-gradient(circle,rgba(255,100,31,.18),transparent 67%); pointer-events:none; }
.ec-hero-copy { position: relative; z-index: 1; }
.ec-kicker,
.ec-card-kicker { display:block; color:var(--ec-orange); font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.ec-hero h1 { font-size: clamp(3rem,7vw,6.7rem); max-width: 820px; margin: 0 0 20px; letter-spacing:-.06em; }
.ec-hero p { color: var(--ec-muted); font-size: clamp(1.05rem,2vw,1.35rem); max-width: 650px; margin:0; }
.ec-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.ec-button { display:inline-flex; align-items:center; justify-content:center; padding:13px 19px; border-radius:10px; background:var(--ec-orange); color:var(--ec-header)!important; text-decoration:none; font-weight:850; border:1px solid var(--ec-orange); }
.ec-button:hover { background:var(--ec-orange-hover); color:var(--ec-header)!important; }
.ec-button-secondary { background:transparent; color:var(--ec-text)!important; border-color:var(--ec-border); }
.ec-button-secondary:hover { background:var(--ec-surface); color:var(--ec-orange)!important; border-color:var(--ec-orange); }
.ec-hero-mark { width:min(250px,100%); aspect-ratio:1; justify-self:end; border-radius:28%; border:1px solid rgba(255,100,31,.45); display:grid; place-items:center; background:linear-gradient(145deg,rgba(255,100,31,.14),rgba(255,100,31,.02)); transform:rotate(4deg); box-shadow:0 30px 80px rgba(0,0,0,.35); }
.ec-hero-mark span { color:var(--ec-orange); font-size:clamp(3.4rem,7vw,6.2rem); font-weight:950; letter-spacing:-.09em; transform:rotate(-4deg); }
.ec-platform-strip { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:-30px 0 58px; padding:14px 16px; border:1px solid var(--ec-border); border-radius:12px; background:#121419; }
.ec-platform-strip span { margin-right:auto; color:var(--ec-muted); font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ec-platform-strip a { color:var(--ec-text-2)!important; text-decoration:none; font-weight:800; padding:7px 11px; border-radius:8px; }
.ec-platform-strip a:hover { color:var(--ec-orange)!important; background:var(--ec-surface); }

.ec-home-section { margin: 0 0 64px; }
.ec-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--ec-border); }
.ec-section-head h2 { margin:0; font-size:clamp(1.8rem,3vw,2.7rem); }
.ec-section-head a { font-weight:800; text-decoration:none; white-space:nowrap; }
.ec-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ec-card { background:var(--ec-surface); border:1px solid var(--ec-border); border-radius:var(--ec-radius); overflow:hidden; transition:transform .18s ease,border-color .18s ease; }
.ec-card:hover { transform:translateY(-3px); border-color:#353942; }
.ec-card-media { display:block; position:relative; aspect-ratio:16/9; background:#111318; overflow:hidden; }
.ec-card-media img { width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .28s ease; }
.ec-card:hover .ec-card-media img { transform:scale(1.025); }
.ec-card-placeholder { width:100%; height:100%; display:grid; place-items:center; color:rgba(255,100,31,.78); font-size:3rem; font-weight:950; background:linear-gradient(135deg,#15171c,#20130d); }
.ec-card-score { position:absolute; right:12px; bottom:12px; min-width:48px; height:48px; padding:0 8px; display:grid; place-items:center; background:var(--ec-orange); color:var(--ec-header); font-size:1.05rem; font-weight:950; border-radius:9px; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.ec-card-body { padding:20px; }
.ec-card-body h3 { margin:3px 0 9px; font-size:1.25rem; line-height:1.16; }
.ec-card-body h3 a { color:var(--ec-text)!important; text-decoration:none; }
.ec-card-body h3 a:hover { color:var(--ec-orange)!important; }
.ec-card-body p { color:var(--ec-muted); margin:0 0 14px; line-height:1.55; }
.ec-card-meta { color:var(--ec-muted-2); font-size:.82rem; }
.ec-home-split { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.ec-home-split .ec-card-grid { grid-template-columns:1fr; }
.ec-empty { min-height:90px; display:flex; align-items:center; padding:24px; border:1px dashed var(--ec-border); border-radius:var(--ec-radius); color:var(--ec-muted); background:var(--ec-surface); }

/* Review summary */
.ec-review-box { margin:56px 0 16px; padding:clamp(22px,4vw,38px); background:linear-gradient(145deg,#17191e,#111318); border:1px solid var(--ec-border); border-top:4px solid var(--ec-orange); border-radius:var(--ec-radius); box-shadow:var(--ec-shadow); }
.ec-review-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:start; }
.ec-review-heading h2 { margin:0; font-size:clamp(1.8rem,3vw,2.7rem); }
.ec-score { min-width:118px; display:grid; grid-template-columns:auto auto; justify-content:center; align-items:end; gap:4px; padding:15px 18px; background:var(--ec-orange); color:var(--ec-header); border-radius:12px; text-align:center; }
.ec-score strong { font-size:2.65rem; line-height:.9; letter-spacing:-.06em; }
.ec-score span { font-weight:800; font-size:.92rem; }
.ec-score em { grid-column:1/-1; font-style:normal; font-size:.78rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; margin-top:5px; }
.ec-review-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--ec-border); border:1px solid var(--ec-border); border-radius:10px; overflow:hidden; margin:26px 0; }
.ec-review-facts div { background:var(--ec-surface); padding:15px; }
.ec-review-facts dt { color:var(--ec-muted); font-size:.76rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.ec-review-facts dd { color:var(--ec-text); margin:4px 0 0; font-weight:700; }
.ec-verdict-copy { color:var(--ec-text-2); font-size:1.08rem; line-height:1.7; }
.ec-procon-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
.ec-procon-grid > div,.ec-who-for { background:var(--ec-surface); border:1px solid var(--ec-border); border-radius:10px; padding:20px; }
.ec-procon-grid h3,.ec-who-for h3 { margin:0 0 12px; font-size:1.05rem; }
.ec-procon-grid ul { margin:0; padding-left:1.2rem; }
.ec-procon-grid li + li { margin-top:7px; }
.ec-who-for { margin-top:20px; }
.ec-who-for p { margin:0; }

/* Accessibility */
*:focus-visible { outline:3px solid var(--ec-orange-hover) !important; outline-offset:3px; }
::selection { background:var(--ec-orange); color:var(--ec-header); }

@media (max-width: 1024px) {
  .ec-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ec-home-split { grid-template-columns:1fr; }
  .ec-review-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .ec-home { padding-left:14px; padding-right:14px; }
  .ec-hero { grid-template-columns:1fr; min-height:0; padding:34px 24px; margin-bottom:40px; }
  .ec-hero-mark { display:none; }
  .ec-hero h1 { font-size:clamp(2.7rem,15vw,4.6rem); }
  .ec-card-grid { grid-template-columns:1fr; }
  .ec-section-head { align-items:start; flex-direction:column; gap:8px; }
  .ec-review-heading { grid-template-columns:1fr; }
  .ec-score { justify-self:start; }
  .ec-review-facts { grid-template-columns:1fr; }
  .ec-procon-grid { grid-template-columns:1fr; }
  .ec-platform-strip { margin-top:-18px; }
  .ec-platform-strip span { width:100%; margin-right:0; }
  .ec-publication-footer-inner { grid-template-columns:1fr; }
  .ec-publication-footer nav { justify-content:flex-start; }
  .ec-publication-footer small { grid-column:auto; }
}
