/* ocryptocanada.com site-wide upgrades (Oleg 2026-09-29). Loaded on every page after the theme.
   The theme sets html{font-size:10px}, so 1.8rem = 18px here. Header untouched on purpose. */
:root{--header-height:85px;--occ-ink:#0b1020;--occ-body:#262b3b;--occ-muted:#5b6275;--occ-line:#e6e8ef;--occ-bg2:#f5f7fb;--occ-accent:#fb5241;--occ-accent2:#e0412f;--occ-navy:#060026}

/* ---------- reading comfort: articles, reviews, best-of, comparisons ---------- */
.text-content p,.text-content li,.text-content td{line-height:1.65!important;color:var(--occ-body)}
.text-content p{margin-bottom:1.1em!important}
.text-content li{margin-bottom:.45em}
.text-content ul,.text-content ol{margin-bottom:1.2em}
.blog__title,.text-content h2,.text-content h3,.text-content h4,.author-post__title,.blog-related__title,
.vs-single-home__title,.vs-single h2,.featured h1,.featured h2,.page-main h1,.page-main h2,.category h1{
  font-family:Karla,system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:-.01em!important}
.blog__title{font-size:clamp(2.8rem,2.2rem + 1.6vw,4.2rem)!important;line-height:1.18!important;color:var(--occ-ink)!important;font-weight:800!important;margin-bottom:1.4rem!important}
.text-content h2{font-size:clamp(2.3rem,2rem + .8vw,2.9rem)!important;line-height:1.25!important;color:var(--occ-ink)!important;font-weight:800!important;margin:2.2em 0 .7em!important;scroll-margin-top:100px}
.text-content h3{font-size:clamp(1.95rem,1.8rem + .4vw,2.2rem)!important;line-height:1.3!important;color:var(--occ-ink)!important;font-weight:700!important;margin:1.6em 0 .5em!important}
.text-content a{color:var(--occ-accent2)}
.vs-single-home__title,.featured h1{font-weight:800!important;line-height:1.15!important}
.blog__when{color:var(--occ-muted)!important}

/* compact comparison + best-of heroes: the table/answer comes into view sooner */
.vs-single-home{padding-bottom:36px!important;min-height:0!important}
.vs-single-home__container{padding-bottom:0!important}
.vs-single-home__title{font-size:clamp(2.8rem,2rem + 2vw,4.4rem)!important;margin:0!important}

/* ---------- one-line trust + disclosure (replaces the two boxes) ---------- */
.occ-trust{font-size:1.4rem;line-height:1.45;color:var(--occ-muted);margin:0 0 1.6rem;padding:.8rem 1.2rem;background:var(--occ-bg2);border-radius:8px;border-left:3px solid #00cb87}
.occ-trust a{color:inherit;text-decoration:underline}
.vs-single-home .occ-trust{background:rgba(255,255,255,.08);color:#c9cde0;border-left-color:#00cb87;max-width:760px}

/* ---------- first-screen pick bar ---------- */
.occ-quick{display:flex;align-items:center;gap:1rem 1.4rem;flex-wrap:wrap;margin:0 0 2.2rem;padding:1.2rem 1.4rem;background:#fff4f2;border:1px solid #ffd9d3;border-radius:12px;font-size:1.6rem;color:var(--occ-ink);font-family:Karla,system-ui,sans-serif}
.occ-quick span{flex:1 1 220px}
.occ-quick-cta,.occ-pk-cta,.occ-v-cta,.occ-bonus-cta,.occ-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--occ-accent);color:#fff!important;border-radius:10px;padding:1rem 1.8rem;font-weight:700;font-size:1.55rem;text-decoration:none!important;border:0;cursor:pointer;font-family:Karla,system-ui,sans-serif;line-height:1.1;white-space:nowrap}
.occ-quick-cta:hover,.occ-pk-cta:hover,.occ-v-cta:hover,.occ-bonus-cta:hover,.occ-btn:hover{background:var(--occ-accent2)}
.occ-quick-quiz,.occ-pick-quiz,.occ-v-s button{background:none;border:0;color:var(--occ-accent2);font-weight:700;cursor:pointer;font-size:1.5rem;font-family:Karla,system-ui,sans-serif;text-decoration:underline;padding:0}
.occ-btn-ghost{background:transparent;color:var(--occ-accent2)!important;border:2px solid var(--occ-accent)}

/* ---------- sidebar pick card (replaces "Latest Crypto News") ---------- */
.occ-aside{position:sticky;top:100px;align-self:flex-start}
.occ-pick{background:#fff;border:1px solid var(--occ-line);border-radius:14px;padding:1.8rem;box-shadow:0 6px 24px rgba(11,16,32,.06);font-family:Karla,system-ui,sans-serif}
.occ-pick-t{font-weight:800;font-size:1.8rem;color:var(--occ-ink);margin:0 0 1.2rem;line-height:1.25}
.occ-pick ol{list-style:none;margin:0 0 1.2rem;padding:0}
.occ-pick li{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--occ-line)}
.occ-pk-n{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--occ-bg2);font-weight:800;font-size:1.3rem;flex:none}
.occ-pk-b{flex:1;display:flex;flex-direction:column;font-size:1.6rem;color:var(--occ-ink)}
.occ-pk-b small{font-size:1.15rem;color:#0a3d91}
.occ-pk-b small.off{color:#8a4b00}
.occ-pk-cta{padding:.8rem 1.2rem;font-size:1.35rem}
.occ-pick-quiz{display:block;width:100%;text-align:center;margin:.4rem 0 1rem;padding:1rem;border:2px solid var(--occ-accent)!important;border-radius:10px;text-decoration:none!important}
.occ-pick-more{font-size:1.35rem;color:var(--occ-accent2)}

/* ---------- table of contents ---------- */
.occ-toc{background:var(--occ-bg2);border:1px solid var(--occ-line);border-radius:12px;padding:1.2rem 1.8rem;margin:0 0 2.4rem;font-family:Karla,system-ui,sans-serif}
.occ-toc summary{cursor:pointer;font-weight:800;font-size:1.7rem;color:var(--occ-ink);padding:.4rem 0}
.occ-toc ol{margin:.8rem 0 .4rem 1.8rem;padding:0;columns:2;column-gap:3rem}
.occ-toc li{font-size:1.5rem!important;line-height:1.4!important;margin:0 0 .6rem!important;break-inside:avoid}
.occ-toc a{color:var(--occ-accent2);text-decoration:none}

/* ---------- comparison: ready to choose ---------- */
.occ-verdict{max-width:1170px;margin:3rem auto;padding:2.4rem;background:#fff4f2;border:1px solid #ffd9d3;border-radius:16px;text-align:center;font-family:Karla,system-ui,sans-serif}
.occ-v-t{font-size:2.4rem;font-weight:800;color:var(--occ-ink);margin:0 0 1.4rem}
.occ-v-btns{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.occ-v-s{margin:1.4rem 0 0;font-size:1.5rem;color:var(--occ-muted)}

/* ---------- author box ---------- */
.author-post{background:var(--occ-bg2)!important;border:1px solid var(--occ-line);border-radius:16px;padding:2.4rem!important;margin-top:3rem!important}
.author-post__avatar img{border-radius:50%!important;object-fit:cover}
.author-post__content p{line-height:1.6!important}

/* ---------- category pages: light cards ---------- */
main.category{background:var(--occ-bg2)!important}
main.category h1,main.category .category__title{color:var(--occ-ink)!important;font-family:Karla,system-ui,sans-serif!important;font-weight:800!important}
main.category .blog-list__item{background:#fff!important;border:1px solid var(--occ-line)!important;border-radius:14px!important;overflow:hidden;box-shadow:none!important}
main.category .blog-list__item{display:flex!important;flex-direction:column;height:auto!important;min-height:0!important;padding:0!important}
main.category .blog-list__item img{position:static!important;display:block;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover;inset:auto!important}
main.category .blog-list__link{position:static!important;display:flex!important;flex-direction:column;flex:1;height:auto!important;padding:1.4rem 1.6rem!important;text-decoration:none}
main.category .blog-list__content{padding:0!important;min-height:0!important;height:auto!important;display:block!important}
main.category .blog-list__top{margin:0 0 .8rem!important;padding:0!important}
main.category .blog-list__subtitle{margin:0!important;padding:0!important}
main.category .blog-list__date{margin-top:auto!important;padding:1rem 0 0!important;border:0!important}
main.category .blog-list__link,main.category .blog-list__content,main.category .blog-list__date{background:#fff!important;color:var(--occ-ink)!important}
main.category .blog-list__subtitle,main.category .blog-list__subtitle span{color:var(--occ-ink)!important;font-family:Karla,system-ui,sans-serif!important;font-weight:700!important;font-size:1.7rem!important;line-height:1.35!important}
main.category .blog-list__tag{background:#fff0ee!important;color:var(--occ-accent2)!important;font-weight:700;border-radius:6px;padding:.3rem .8rem}
main.category .blog-list__date span{color:var(--occ-muted)!important}
main.category::before,main.category::after,main.category .blog-list__link::before,main.category .blog-list__subtitle::before,main.category .blog-list__date::before{display:none!important}

/* ---------- rebuilt pages: comparison hub, 404 ---------- */
.occ-page{background:#fff;padding:120px 0 60px;font-family:Karla,system-ui,sans-serif;color:var(--occ-ink)}
.occ-wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.occ-page h1,.occ-page h2{font-family:Karla,system-ui,sans-serif!important;letter-spacing:-.01em}
.occ-page h1{font-size:clamp(3rem,2.2rem + 2vw,4.6rem);font-weight:800;line-height:1.15;margin:0 0 1.2rem;color:var(--occ-ink)}
.occ-lead{font-size:1.9rem;line-height:1.55;color:var(--occ-muted);max-width:760px;margin:0 0 2.4rem}
.occ-cmp{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:0 0 2.4rem;padding:1.8rem;background:var(--occ-bg2);border-radius:14px}
.occ-cmp select{flex:1 1 200px;padding:1.2rem;border:1px solid #cfd3de;border-radius:10px;font-size:1.6rem;font-family:inherit;background:#fff}
.occ-cmp button{background:var(--occ-accent);color:#fff;border:0;border-radius:10px;padding:1.2rem 2.4rem;font-weight:700;font-size:1.6rem;cursor:pointer;font-family:inherit}
.occ-cmp span{font-weight:800;color:var(--occ-muted)}
.occ-cmp-msg{flex-basis:100%;margin:0;font-size:1.4rem;color:#d93a2b;min-height:1.2em}
.occ-hub-jump{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:0 0 3rem;font-size:1.5rem}
.occ-hub-jump a,.occ-hub a{color:var(--occ-accent2);text-decoration:none}
.occ-hub-g{border-top:1px solid var(--occ-line);padding:2rem 0}
.occ-hub-g h2{font-size:2.2rem;font-weight:800;margin:0 0 1rem;color:var(--occ-ink)}
.occ-hub-g ul{list-style:none;padding:0;margin:0;columns:3;column-gap:2.4rem}
.occ-hub-g li{font-size:1.55rem;line-height:1.5;margin:0 0 .5rem;break-inside:avoid}
.occ-404-links{font-size:1.8rem;line-height:1.9;margin:0 0 2.4rem;padding-left:2rem}
.occ-404-links a{color:var(--occ-accent2)}

/* ---------- bonus table ---------- */
.occ-table-wrap{overflow-x:auto;border:1px solid var(--occ-line);border-radius:12px;margin:0 0 2rem}
.occ-table{width:100%;border-collapse:collapse;font-size:1.6rem}
.occ-table th{text-align:left;background:var(--occ-bg2);padding:1.2rem 1.4rem;font-size:1.3rem;text-transform:uppercase;letter-spacing:.04em;color:var(--occ-muted)}
.occ-table td{padding:1.4rem;border-top:1px solid var(--occ-line);vertical-align:middle;line-height:1.45!important}
.occ-table .occ-rev{font-size:1.3rem;margin-left:.6rem}
.occ-bonus-cta{padding:.9rem 1.4rem;font-size:1.4rem}

.blog-aside-reviews__title,.blog-aside-reviews__head,.blog-aside-reviews__head *{font-family:Karla,system-ui,sans-serif!important;letter-spacing:0!important}
@media (max-width:767px){
  .occ-table thead{display:none}
  .occ-table,.occ-table tbody,.occ-table tr,.occ-table td{display:block;width:100%}
  .occ-table tr{padding:1.4rem;border-top:1px solid var(--occ-line)}
  .occ-table td{border:0;padding:.3rem 0}
  .occ-bonus-cta{width:100%;margin-top:.8rem;white-space:normal}
}

/* ---------- footer ---------- */
.occ-footer{background:var(--occ-navy);color:#c9cde0;padding:5rem 0 2.4rem;font-family:Karla,system-ui,sans-serif}
.occ-f-wrap{max-width:1170px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:3rem}
.occ-f-brand p{font-size:1.5rem;line-height:1.55;margin:1.4rem 0}
.occ-f-logo img{height:auto;max-width:208px}
.occ-f-col p{color:#fff;font-weight:800;font-size:1.5rem;margin:0 0 1.2rem;text-transform:uppercase;letter-spacing:.05em}
.occ-f-col ul,.occ-f-social{list-style:none;margin:0;padding:0}
.occ-f-col li{margin:0 0 .9rem}
.occ-f-col a{color:#c9cde0;text-decoration:none;font-size:1.5rem}
.occ-f-col a:hover{color:#fff}
.occ-f-social{display:flex;gap:1.2rem}
.occ-f-social a{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:rgba(255,255,255,.08)}
.occ-f-social svg{width:1.8rem;height:1.8rem;fill:#fff}
.occ-f-legal{max-width:1170px;margin:3.6rem auto 0;padding:2rem 20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:1.3rem;line-height:1.55}
.occ-f-legal a{color:#c9cde0}

/* ---------- mobile ---------- */
/* the theme only sets --header-height from JS after load; a CSS default stops the page jumping */
@media (max-width:1023px){:root{--header-height:70px}}
@media (max-width:767px){
  .blog__info{margin-bottom:1rem!important}
  .occ-trust{font-size:1.25rem;padding:.6rem 1rem;margin-bottom:1.2rem}
  .blog__title{font-size:2.8rem!important;margin-bottom:1rem!important}
  .text-content p,.text-content li{font-size:1.75rem!important}
  .occ-quick{font-size:1.5rem;padding:1rem 1.2rem}
  .occ-quick-cta{flex:1 1 auto}
  .occ-toc ol{columns:1}
  .occ-aside{position:static}
  .vs-single-home{padding-bottom:24px!important}
  .occ-hub-g ul{columns:1}
  .occ-f-wrap{grid-template-columns:1fr 1fr;gap:2.4rem}
  .occ-f-brand{grid-column:1/-1}
  .occ-page{padding-top:96px}
}

/* ---------- WCAG AA contrast, sitewide (Oleg 2026-10-01). The brand reds #fb5241/#e0412f measure 3.3-4.2:1
   on white; these darker shades of the same red pass 4.5:1 for text and for white-on-red buttons. ---------- */
:root{--occ-accent:#c9311d;--occ-accent2:#b42d1c;--occ-up:#0b7a3d}
.text-content a,.oh-faq a,.oh-sec .oh-wrap p>a:not([class]),.oh-link,.oh-card-more,.oh-more a,.oh-act a,.author-bio a,.occ-pick-more,.occ-pick-quiz,.occ-quick-quiz,
.blog-aside-reviews-banner__link{color:var(--occ-accent2)!important}
.header-nav-sub__title,.quiz-question__title,.author-post__name,.blog__name,.blog-aside-reviews__title,.oh-tag{color:var(--occ-accent2)!important}
.btn--red,.oh-btn,.occ-quick-cta,.occ-pk-cta,.occ-v-cta,.occ-bonus-cta,.occ-btn,.popup-quiz__button{background:var(--occ-accent)!important;border-color:var(--occ-accent)!important;color:#fff!important}
.btn--red:hover,.oh-btn:hover,.occ-quick-cta:hover,.occ-pk-cta:hover,.occ-btn:hover,.popup-quiz__button:hover{background:#a82716!important}
.popup-quiz__head{background:var(--occ-accent)!important}
.quiz__button{background:var(--occ-accent)!important;color:#fff!important}
.quiz__button:disabled,.quiz__button[disabled]{background:#8b8f9c!important}
.blog__tag{background:#8f2416!important;color:#fff!important}
a.oh-btn,.oh-act a.oh-btn,.oh-actw a.oh-btn,a.btn--red,a.occ-btn{color:#fff!important}

/* ---------- trust line, quiet (Oleg 2026-10-02: the boxed version looked heavy) ---------- */
.occ-trust,.vs-single-home .occ-trust{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 0;background:none!important;border:0!important;padding:0!important;
  margin:.4rem 0 1.8rem!important;max-width:none!important;font-size:1.55rem!important;line-height:1.5;color:var(--occ-muted)!important;font-family:Karla,system-ui,sans-serif}
.occ-trust__ok{display:inline-flex;align-items:center;gap:.6rem}
.occ-trust__ok::before{content:"";width:1.7rem;height:1.7rem;flex:none;border-radius:50%;background:#05744d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.occ-trust a{color:inherit!important;text-decoration:underline;text-underline-offset:3px}
.occ-trust>*+*::before{content:"\00B7";margin:0 .8rem;text-decoration:none;display:inline-block}
.featured-home .occ-trust,.vs-single-home .occ-trust{color:#c9cde0!important}
.featured-home .occ-trust__ok::before,.vs-single-home .occ-trust__ok::before{background-color:#00a06b}

/* ---------- readable type, sitewide (Oleg 2026-10-02). Theme sets html{font-size:10px}: 1.9rem = 19px.
   Long-form guidance: 18-20px body, 1.6-1.75 line height, 60-75 characters per line, secondary text 16px+,
   labels 13px+. Karla has a small x-height, so body sits at the top of that range. ---------- */
:root{--occ-fs:clamp(1.8rem,1.62rem + .5vw,2rem);--occ-fs2:clamp(1.65rem,1.55rem + .25vw,1.75rem);--occ-fs-t:1.65rem;--occ-lh:1.72}
.text-content p,.text-content li,.text-content dd,.vs-single p,.vs-single li,.vs-single-compare__content p,
.author-post__content p,.occ-ov p,.occ-ov li,.featured-post__content p,.featured-post__content li,.page-main p,.page-main li{
  font-size:var(--occ-fs)!important;line-height:var(--occ-lh)!important}
.text-content p,.vs-single p,.occ-ov p{margin-bottom:1.15em!important}
.text-content li,.occ-ov li{margin-bottom:.5em}
.text-content>p,.text-content>ul,.text-content>ol,.occ-ov>p,.occ-ov>ul,.occ-ov>ol{max-width:72ch}
/* secondary text: cards, pros/cons, facts, FAQ answers, captions, list blurbs */
.occ-ov-pick__facts li,.occ-ov-pc li,.occ-ov-pick__best,.occ-ov-offshore,.occ-ov-faq details>div p,.occ-ov-fresh li,
.occ-pick li,.occ-quick,.blog-list__subtitle,.vs-single-compare-table__col li,.vs-single-compare-table__col p,
.oh-note,.oh-tool,.occ-bx-author p,.occ-bx-need p{font-size:var(--occ-fs2)!important;line-height:1.6!important}
/* tables */
.occ-ov-table,.text-content table,.text-content td,.text-content th{font-size:var(--occ-fs-t)!important;line-height:1.55!important}
/* labels and meta: never below 13px */
.occ-ov-pick__facts b,.occ-ov-flag,.blog-list__date,.oh-badge,.occ-ov-score small{font-size:1.35rem!important}
/* headings: one scale */
.text-content h2,.occ-ov h2,.vs-single h2,.featured-post__content h2{font-size:clamp(2.5rem,2.1rem + 1vw,3.2rem)!important;line-height:1.22!important}
.text-content h3,.occ-ov h3,.vs-single h3{font-size:clamp(2.05rem,1.9rem + .45vw,2.4rem)!important;line-height:1.3!important}
.occ-ov-faq summary{font-size:clamp(1.75rem,1.65rem + .3vw,1.95rem)}
@media (max-width:640px){.text-content>p,.occ-ov>p{max-width:none}}
/* trust line: no dot separators (they strand at line starts when it wraps); spacing does the job */
.occ-trust>*+*::before{content:none!important}
.occ-trust{gap:.4rem 1.8rem!important}
/* remaining theme reds and small labels (2026-10-02 sweep) */
.vs-single-compare-table__name,.vs-single-compare__name,.vs-single-compare__when,.text-content h4,.vs-single h4,
.vs-single__dark-content h4,.blog-aside-reviews-banner__content span,.comment-author .fn,cite.fn{color:var(--occ-accent2)!important}
.comment-reply-link{background:var(--occ-accent)!important;color:#fff!important}
.blog-list__tag,.author-post__type,.oh-tag,.btn--red{font-size:1.35rem!important}
.occ-pk-b small{font-size:1.35rem!important}
.blog-aside-reviews-fixed__text [style*="fb5241"],.text-content [style*="fb5241"]{color:var(--occ-accent2)!important}
.blog__tag{font-size:1.35rem!important}

/* ---------- auto links + glossary definitions (build/enhance.py, 2026-10-02) ---------- */
a.occ-al{color:var(--occ-accent2)!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.occ-term{position:relative;border-bottom:2px dotted #6b7385;cursor:help;outline:none}
.occ-term::after{content:attr(data-def);position:absolute;left:0;bottom:calc(100% + 8px);z-index:50;width:max-content;max-width:min(32rem,80vw);
  padding:1rem 1.2rem;border-radius:10px;background:var(--occ-ink);color:#fff;font:400 1.5rem/1.45 Karla,system-ui,sans-serif;
  box-shadow:0 8px 24px rgba(11,16,32,.25);opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none;white-space:normal;text-align:left}
.occ-term:hover::after,.occ-term:focus::after{opacity:1;visibility:visible}
.occ-term:focus-visible{border-bottom-color:var(--occ-accent2)}
@media (max-width:640px),(hover:none){
  .occ-term::after{position:fixed;left:16px;right:16px;bottom:16px;top:auto;width:auto;max-width:none;font-size:1.6rem;z-index:100}
}
