/* ILPCMR components — colors and fonts from the logo (teal + charcoal), RTL Hebrew. */
:root {
  --ilp-bg: #f2f4f5;
  --ilp-surface: #ffffff;
  --ilp-ink: #1c1f22;
  --ilp-ink-2: #5a6269;
  --ilp-line: #dce1e4;
  --ilp-accent: #0a7c86;
  --ilp-accent-soft: #e0f4f6;
  --ilp-brand: #13bcca;
  --ilp-brand-ink: #10171a;
  --ilp-chrome: #222529;
  --ilp-ring-track: #e3e8ea;
  --ilp-good: #1d7a43; --ilp-good-soft: #dcf2e4;
  --ilp-bad: #b3372b; --ilp-bad-soft: #f8e1de;
  --ilp-display: "Rubik", "Assistant", system-ui, sans-serif;
  --ilp-body: "Assistant", "Rubik", system-ui, sans-serif;
  --ilp-radius: 6px;
}

[class^="ilp-"], [class*=" ilp-"] { box-sizing: border-box; }
.ilp-hero h2, .ilp-feed h2, .ilp-feed h3, .ilp-rcard h3, .ilp-side h2, .ilp-scorebox h3,
.ilp-verdict h2, .ilp-section-title { font-family: var(--ilp-display); line-height: 1.2; margin: 0; text-wrap: balance; }
.ilp-hero a, .ilp-feed a, .ilp-review-strip a, .ilp-side a { color: inherit; }

/* chips, meta, buttons */
.ilp-chip { display: inline-block; font: 600 13px/1 var(--ilp-display); text-decoration: none; padding: 5px 9px; border-radius: 3px; background: var(--ilp-accent-soft); color: var(--ilp-accent) !important; }
.ilp-chip-review { background: var(--ilp-chrome); color: var(--ilp-brand) !important; }
.ilp-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; color: var(--ilp-ink-2); font-variant-numeric: tabular-nums; }
.ilp-meta span::before { content: "·"; margin-inline-end: 14px; }
.ilp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: 600 15px/1 var(--ilp-display); text-decoration: none !important; padding: 13px 20px; border-radius: var(--ilp-radius); border: 0; cursor: pointer; }
.ilp-btn-dark { background: var(--ilp-brand-ink); color: #fff !important; }
.ilp-btn-dark:hover { background: #000; }
.ilp-btn-line { border: 1.5px solid var(--ilp-line); color: var(--ilp-ink) !important; background: transparent; }
.ilp-btn-line:hover { border-color: var(--ilp-accent); color: var(--ilp-accent) !important; }
.ilp-more { color: var(--ilp-accent) !important; font-weight: 700; text-decoration: none; }
.ilp-empty { color: var(--ilp-ink-2); padding-block: 24px; }
.ilp-section-title { font-size: 20px; font-weight: 700; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 2px solid var(--ilp-ink); display: flex; align-items: center; gap: 10px; }
.ilp-section-title::before { content: ""; width: 10px; height: 10px; background: var(--ilp-brand); border-radius: 2px; flex: none; }

/* covers + placeholders */
.ilp-cover { overflow: hidden; }
.ilp-cover img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.ilp-ph { background-color: var(--ilp-chrome); --g: rgba(19, 188, 202, .12);
  background-image: linear-gradient(var(--g) 1px, transparent 1px), linear-gradient(90deg, var(--g) 1px, transparent 1px);
  background-size: 28px 28px; display: grid; place-items: center; position: relative; }
.ilp-ph.v1 { background-color: #13bcca; --g: rgba(16, 23, 26, .12); }
.ilp-ph.v2 { background-color: #0b5d66; --g: rgba(233, 237, 239, .1); }
.ilp-ph-word { font: 800 clamp(26px, 4vw, 48px)/1 var(--ilp-display); color: #13bcca; text-align: center; padding: 0 12px; }
.ilp-ph.v1 .ilp-ph-word { color: #1c1f22; }
.ilp-ph.v2 .ilp-ph-word { color: #e9edef; }
.ilp-ph-mark { position: absolute; top: 12px; left: 14px; direction: ltr; font: 700 12px/1 var(--ilp-display); letter-spacing: .12em; color: rgba(233, 237, 239, .55); }
.ilp-ph-mark b { color: #13bcca; }
.ilp-ph.v1 .ilp-ph-mark { color: rgba(16, 23, 26, .6); }
.ilp-ph.v1 .ilp-ph-mark b { color: #fff; }

/* score ring */
.ilp-score { --size: 52px; --ring: 5px; --sbg: var(--ilp-surface); --sink: var(--ilp-ink); --track: var(--ilp-ring-track);
  position: relative; display: inline-grid; place-items: center; flex: none; width: var(--size); height: var(--size); border-radius: 50%;
  background: conic-gradient(var(--ilp-brand) var(--pct), var(--track) 0); font: 800 calc(var(--size) * .36)/1 var(--ilp-display); font-variant-numeric: tabular-nums; }
.ilp-score::before { content: ""; position: absolute; inset: var(--ring); border-radius: 50%; background: var(--sbg); }
.ilp-score b { position: relative; color: var(--sink); }
.ilp-score.on-image { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; --sbg: #16191c; --sink: #fff; --track: rgba(255,255,255,.18); }
.ilp-score.sm { --size: 42px; --ring: 4px; }
.ilp-score.on-image.sm { top: 8px; inset-inline-start: 8px; }
.ilp-score.xs { --size: 36px; --ring: 3px; }
.ilp-score.lg { --size: 84px; --ring: 7px; }
.ilp-award { display: inline-block; font: 700 12px/1 var(--ilp-display); padding: 5px 8px; border-radius: 3px; background: var(--ilp-brand); color: var(--ilp-brand-ink); vertical-align: middle; }

/* hero */
.ilp-hero { display: grid; grid-template-columns: 1.65fr 1fr; gap: 12px; }
.ilp-hero-side { display: grid; grid-template-rows: 1fr 1fr; gap: 12px; }
.ilp-hero-card { position: relative; border-radius: var(--ilp-radius); overflow: hidden; min-height: 220px; background: var(--ilp-chrome); }
.ilp-hero-card.big { min-height: 460px; }
.ilp-hero-card .ilp-cover { position: absolute; inset: 0; }
.ilp-hero-card .ilp-ph { place-items: start center; }
.ilp-hero-card .ilp-ph-word { margin-top: 44px; font-size: clamp(40px, 6vw, 84px); }
.ilp-hero-card:not(.big) .ilp-ph-word { font-size: clamp(30px, 4vw, 56px); margin-top: 30px; }
.ilp-hero-card .ilp-cover img { transition: transform .4s ease; }
.ilp-hero-card:hover .ilp-cover img { transform: scale(1.03); }
.ilp-hero-text { position: absolute; inset: auto 0 0 0; padding: 48px 22px 20px; color: #fff; background: linear-gradient(to top, rgba(10,12,14,.85) 30%, transparent); display: grid; gap: 8px; justify-items: start; }
.ilp-hero-text h2 { font-size: 21px; font-weight: 700; color: #fff; }
.ilp-hero-card.big .ilp-hero-text h2 { font-size: clamp(26px, 3.2vw, 38px); font-weight: 800; }
.ilp-hero-text h2 a { text-decoration: none; color: #fff !important; }
.ilp-hero-text h2 a::after { content: ""; position: absolute; inset: 0; }
.ilp-hero-text .ilp-excerpt { margin: 0; max-width: 60ch; opacity: .9; }
.ilp-hero-text .ilp-meta { color: rgba(255,255,255,.75); }
.ilp-hero-text .ilp-chip { position: relative; z-index: 1; background: var(--ilp-brand); color: var(--ilp-brand-ink) !important; }

/* list cards */
.ilp-feed { display: grid; min-width: 0; }
.ilp-card { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; padding-block: 20px; border-bottom: 1px solid var(--ilp-line); }
.ilp-card-img { position: relative; display: block; text-decoration: none; }
.ilp-card-img .ilp-cover { aspect-ratio: 16 / 10; border-radius: var(--ilp-radius); }
.ilp-card-body { display: grid; gap: 6px; align-content: start; justify-items: start; min-width: 0; }
.ilp-card h3 { font-size: 21px; font-weight: 700; }
.ilp-card h3 a { text-decoration: none; }
.ilp-card h3 a:hover { color: var(--ilp-accent); }
.ilp-card .ilp-excerpt, .ilp-rcard .ilp-excerpt { margin: 0; color: var(--ilp-ink-2); }
.ilp-feed > .ilp-btn { justify-self: start; margin-top: 24px; }

/* review cards */
.ilp-review-strip { display: grid; gap: 16px; }
.ilp-strip-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; border-bottom: 2px solid var(--ilp-ink); }
.ilp-strip-head .ilp-section-title { border: 0; margin: 0; }
.ilp-strip-head .ilp-more { padding-bottom: 10px; }
.ilp-rgrid { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 20px; }
.ilp-rcard { display: grid; gap: 10px; align-content: start; }
.ilp-rcard-img { position: relative; display: block; text-decoration: none; }
.ilp-rcard-img .ilp-cover { aspect-ratio: 4 / 3; border-radius: var(--ilp-radius); }
.ilp-rcard-body { display: grid; gap: 6px; }
.ilp-rcard-type { margin: 0; font: 600 13px/1.4 var(--ilp-display); color: var(--ilp-accent); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ilp-rcard h3 { font-size: 19px; font-weight: 700; }
.ilp-rcard h3 a { text-decoration: none; }
.ilp-rcard h3 a:hover { color: var(--ilp-accent); }
.ilp-rcard .ilp-excerpt { font-size: 15px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* sidebar */
.ilp-side { display: grid; gap: 24px; min-width: 0; }
.ilp-join { background: var(--ilp-brand); color: var(--ilp-brand-ink); padding: 24px; border-radius: var(--ilp-radius); display: grid; gap: 12px; justify-items: start; }
.ilp-join h2 { font: 800 24px/1.2 var(--ilp-display); color: var(--ilp-brand-ink); margin: 0; }
.ilp-join p { margin: 0; }
.ilp-join-more { display: flex; flex-wrap: wrap; gap: 8px 14px; font-weight: 600; }
.ilp-side-box { display: grid; gap: 12px; }
.ilp-side-title { font-size: 17px !important; font-weight: 700; padding-bottom: 8px; border-bottom: 2px solid var(--ilp-ink); }
.ilp-side-box p { margin: 0; color: var(--ilp-ink-2); }
.ilp-cat-list, .ilp-side-reviews { list-style: none; margin: 0; padding: 0; }
.ilp-cat-list a { display: flex; justify-content: space-between; padding-block: 9px; border-bottom: 1px solid var(--ilp-line); text-decoration: none; font-weight: 600; }
.ilp-cat-list a:hover { color: var(--ilp-accent); }
.ilp-count { font: 500 13px/1.6 var(--ilp-display); color: var(--ilp-ink-2); background: var(--ilp-surface); border: 1px solid var(--ilp-line); border-radius: 99px; padding: 0 9px; }
.ilp-side-reviews a { display: flex; gap: 12px; align-items: center; padding-block: 8px; border-bottom: 1px solid var(--ilp-line); text-decoration: none; font: 600 15px/1.35 var(--ilp-display); }
.ilp-side-reviews a:hover span { color: var(--ilp-accent); }

/* review page */
.ilp-scorebox { background: var(--ilp-surface); border: 1px solid var(--ilp-line); border-top: 4px solid var(--ilp-brand); border-radius: var(--ilp-radius); padding: 22px; display: grid; gap: 20px; margin-block: 0 28px; }
.ilp-scorebox-main { display: flex; gap: 18px; align-items: center; }
.ilp-scorebox-id { display: grid; gap: 4px; justify-items: start; min-width: 0; }
.ilp-sb-product { margin: 0; font: 700 21px/1.25 var(--ilp-display); }
.ilp-sb-facts { margin: 0; color: var(--ilp-ink-2); font-size: 15px; }
.ilp-subscores { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ilp-subscores li { display: grid; grid-template-columns: 8.5em minmax(0, 1fr) 2.5em; gap: 12px; align-items: center; font-weight: 600; margin: 0; }
.ilp-ss-bar { height: 8px; border-radius: 99px; background: var(--ilp-ring-track); overflow: hidden; }
.ilp-ss-bar i { display: block; height: 100%; background: var(--ilp-brand); border-radius: 99px; }
.ilp-ss-val { font: 700 15px/1 var(--ilp-display); text-align: end; }
.ilp-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ilp-proscons h3 { font-size: 16px; margin: 0 0 8px; }
.ilp-proscons ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ilp-proscons li { position: relative; padding-inline-start: 26px; line-height: 1.45; margin: 0; }
.ilp-proscons li::before { position: absolute; inset-inline-start: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font: 700 13px/1 var(--ilp-display); }
.ilp-pros li::before { content: "+"; background: var(--ilp-good-soft); color: var(--ilp-good); }
.ilp-cons li::before { content: "−"; background: var(--ilp-bad-soft); color: var(--ilp-bad); }
.ilp-pros h3 { color: var(--ilp-good); }
.ilp-cons h3 { color: var(--ilp-bad); }
.ilp-specs { display: grid; gap: 12px; margin-block: 32px; }
.ilp-table-wrap { overflow-x: auto; }
.ilp-specs table { width: 100%; border-collapse: collapse; margin: 0; }
.ilp-specs th, .ilp-specs td { text-align: start; padding: 11px 14px; border: 0; border-bottom: 1px solid var(--ilp-line); vertical-align: top; }
.ilp-specs th { width: 34%; font-weight: 700; color: var(--ilp-ink-2); }
.ilp-specs tr:nth-child(odd) { background: var(--ilp-bg); }
.ilp-verdict { display: flex; gap: 20px; align-items: center; background: var(--ilp-chrome); color: #e9edef; border-radius: var(--ilp-radius); padding: 22px; margin-block: 32px; }
.ilp-verdict .ilp-score { --sbg: var(--ilp-chrome); --sink: #fff; --track: rgba(255,255,255,.15); }
.ilp-verdict h2 { font-size: 20px; margin: 0 0 6px; color: #fff; }
.ilp-verdict p { margin: 0; font-size: 17px; }

/* ads */
.ilp-ad { display: grid; gap: 6px; margin-block: 24px; min-height: 120px; }
.ilp-ad-label { font-size: 12px; color: var(--ilp-ink-2); letter-spacing: .04em; }

@media (max-width: 960px) {
  .ilp-hero { grid-template-columns: minmax(0, 1fr); }
  .ilp-hero-side { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
  .ilp-hero-card.big { min-height: 400px; }
  .ilp-rgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ilp-hero-side { grid-template-columns: minmax(0, 1fr); }
  .ilp-hero-card.big { min-height: 340px; }
  .ilp-hero-card { min-height: 200px; }
  .ilp-card { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding-block: 16px; }
  .ilp-card .ilp-excerpt { display: none; }
  .ilp-card h3 { font-size: 17px; }
  .ilp-card .ilp-ph-word { font-size: 17px; }
  .ilp-card .ilp-ph-mark { display: none; }
  .ilp-card-img .ilp-cover { aspect-ratio: 1; }
  .ilp-rgrid { gap: 14px; }
  .ilp-rcard .ilp-excerpt { display: none; }
  .ilp-rcard h3 { font-size: 16px; }
  .ilp-proscons { grid-template-columns: minmax(0, 1fr); }
  .ilp-subscores li { grid-template-columns: 7em minmax(0, 1fr) 2.2em; }
  .ilp-scorebox-main, .ilp-verdict { align-items: flex-start; }
  .ilp-score.lg { --size: 68px; --ring: 6px; }
}
@media (prefers-reduced-motion: reduce) { .ilp-hero-card .ilp-cover img { transition: none; } }

/* ---------- v1.1: link colors (beat theme/kit link color) ---------- */
body .ilp-hero a, body .ilp-card h3 a, body .ilp-rcard h3 a, body .ilp-side a, body .ilp-cat-list a, body .ilp-mini { color: var(--ilp-ink); }
body .ilp-hero-text h2 a { color: #fff; }
body .ilp-card h3 a:hover, body .ilp-rcard h3 a:hover, body .ilp-cat-list a:hover, body .ilp-side-reviews a:hover span, body .ilp-mini:hover span { color: var(--ilp-accent); }
body .ilp-join a:not(.ilp-btn) { color: var(--ilp-brand-ink); }
body .ilp-btn-dark { color: #fff; }

/* single post header, share, related */
.ilp-post-head { display: grid; gap: 14px; justify-items: start; margin-bottom: 24px; }
.ilp-post-head h1 { font: 800 clamp(30px, 4.4vw, 46px)/1.2 var(--ilp-display); margin: 0; text-wrap: balance; color: var(--ilp-ink); }
.ilp-lede { margin: 0; font-size: 20px; color: var(--ilp-ink-2); max-width: 60ch; }
.ilp-byline { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; color: var(--ilp-ink-2); }
.ilp-byline > span { font-weight: 700; color: var(--ilp-ink); }
.ilp-byline .ilp-meta::before { content: "·"; }
.ilp-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-block: 16px; border-block: 1px solid var(--ilp-line); margin-block: 32px; }
.ilp-share-label { font: 600 14px/1 var(--ilp-display); color: var(--ilp-ink-2); margin-inline-end: 4px; }
.ilp-share-btn { font: 600 14px/1 var(--ilp-display); padding: 10px 14px; border-radius: 99px; border: 1.5px solid var(--ilp-line); background: var(--ilp-surface); color: var(--ilp-ink) !important; text-decoration: none; cursor: pointer; }
.ilp-share-btn:hover { border-color: var(--ilp-accent); color: var(--ilp-accent) !important; }
.ilp-share .ilp-btn { margin-inline-start: auto; padding: 11px 16px; }
.ilp-btn-accent { background: var(--ilp-brand); color: var(--ilp-brand-ink) !important; }
.ilp-related { display: grid; gap: 16px; margin-block: 32px; }
.ilp-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ilp-mini { position: relative; display: grid; gap: 8px; text-decoration: none; font: 700 16px/1.35 var(--ilp-display); }
.ilp-mini .ilp-cover { aspect-ratio: 16 / 10; border-radius: var(--ilp-radius); }
.ilp-mini .ilp-ph-word { font-size: clamp(20px, 3vw, 32px); }

/* archive pages */
.ilp-page-head { display: grid; gap: 8px; margin-bottom: 8px; }
.ilp-page-head h1 { font: 800 clamp(32px, 4.4vw, 48px)/1.15 var(--ilp-display); margin: 0; color: var(--ilp-ink); }
.ilp-eyebrow { margin: 0; font: 600 14px/1 var(--ilp-display); color: var(--ilp-accent); }
.ilp-rgrid-archive { --cols: 3; gap: 28px 24px; padding-top: 16px; }
.ilp-pager ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 28px 0 0; padding: 0; }
.ilp-pager a, .ilp-pager span { display: inline-block; min-width: 40px; padding: 10px 12px; text-align: center; border-radius: var(--ilp-radius); border: 1.5px solid var(--ilp-line); text-decoration: none; font: 600 15px/1 var(--ilp-display); color: var(--ilp-ink); }
.ilp-pager a:hover { border-color: var(--ilp-accent); color: var(--ilp-accent); }
.ilp-pager .current { background: var(--ilp-ink); color: #fff; border-color: var(--ilp-ink); }
@media (max-width: 960px) { .ilp-rgrid-archive { --cols: 2; } }
@media (max-width: 640px) { .ilp-related-grid { grid-template-columns: minmax(0, 1fr); } .ilp-rgrid-archive { --cols: 1; } .ilp-share .ilp-btn { margin-inline-start: 0; } }
