:root, html[data-theme="green"]{
  --ke-navy:#0d2b1f;
  --ke-navy-dark:#081b13;
  --ke-gold:#2ea84a;
  --ke-gold-light:#5cd67e;
  --ke-green:#0f9d58;
  --ke-red:#d93025;
  --ke-bg:#f5f7fa;
  --ke-card:#ffffff;
  --ke-text-muted:#5b6b82;

  /* Generic theme-customizer variables (overridden live by js/settings.js) */
  --ke-primary:#0d2b1f;
  --ke-secondary:#2ea84a;
  --ke-accent:#e6c65c;
  --ke-header-bg:#0d2b1f;
  --ke-footer-bg:#081b13;
  --ke-card-bg:#ffffff;
  --ke-btn-bg:#2ea84a;
  --ke-hover-color:#5cd67e;
  --ke-font-family:'Segoe UI', Tahoma, Arial, sans-serif;
  --ke-radius:14px;
  --ke-shadow:0 4px 14px rgba(11,37,69,.08);
}

/* Alternate theme — Navy & Gold */
html[data-theme="navy"]{
  --ke-navy:#0b2545;
  --ke-navy-dark:#081a33;
  --ke-gold:#c9a227;
  --ke-gold-light:#e6c65c;
  --ke-green:#0f9d58;
  --ke-red:#d93025;
  --ke-bg:#f5f7fa;
  --ke-card:#ffffff;
  --ke-text-muted:#5b6b82;
}

/* Theme selector swatches */
.ke-theme-switch{display:flex;align-items:center;gap:6px;}
.ke-theme-dot{
  width:26px;height:26px;border-radius:50%;
  border:2px solid rgba(255,255,255,.4);
  cursor:pointer;
  padding:0;
}
.ke-theme-dot.active{border-color:#fff;box-shadow:0 0 0 2px var(--ke-gold);}
.ke-theme-dot.dot-green{background:linear-gradient(135deg,#0d2b1f,#2ea84a);}
.ke-theme-dot.dot-navy{background:linear-gradient(135deg,#0b2545,#c9a227);}

/* Ad blocks */
.ke-ad-block{
  background:#eef1f5;
  border:1px dashed #c3ccd6;
  border-radius:10px;
  color:#8a97a6;
  text-align:center;
  padding:14px;
  font-size:.8rem;
  letter-spacing:.5px;
}
.ke-navbar-logo{height:40px;width:40px;object-fit:cover;border-radius:50%;border:2px solid var(--ke-gold);}
.ke-company-logo-img{width:72px;height:72px;object-fit:cover;border-radius:50%;border:3px solid var(--ke-gold);}

/* EGP quick amount cards */
.ke-egp-card{
  border-top:3px solid var(--ke-gold);
  transition:transform .2s ease, box-shadow .2s ease;
}
.ke-egp-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(11,37,69,.1);}
.ke-egp-flag{font-size:1.8rem;margin-bottom:6px;}
.ke-egp-equals{color:var(--ke-text-muted);font-weight:700;margin:2px 0;}

/* Spotlight rotating cards */
@keyframes ke-spotlight-fade{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}
.ke-spotlight-fade{ animation:ke-spotlight-fade .5s ease; }
.ke-spotlight-card-flag{ font-size:2.4rem; line-height:1; margin-bottom:6px; }
.ke-spotlight-card-value{ font-size:1.7rem; color:var(--ke-primary, var(--ke-navy)); }

/* Direction toggle buttons */
#keDirToKwd.active, #keDirFromKwd.active{
  background:var(--ke-navy);
  color:#fff;
  border-color:var(--ke-navy);
}

/* Nav link flash / glow effect */
.ke-navbar .nav-link{
  position:relative;
  transition:color .2s ease;
}
.ke-navbar .nav-link::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-4px;
  height:2px;
  background:var(--ke-gold-light);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.ke-navbar .nav-link:hover::after,
.ke-navbar .nav-link.active::after{
  transform:scaleX(1);
}
.ke-navbar .nav-link:hover{
  animation:ke-nav-flash .6s ease;
}
@keyframes ke-nav-flash{
  0%{ text-shadow:0 0 0 rgba(230,198,92,0); }
  35%{ text-shadow:0 0 12px rgba(230,198,92,.85); color:var(--ke-gold-light); }
  100%{ text-shadow:0 0 0 rgba(230,198,92,0); }
}
.ke-lang-btn, .ke-theme-dot{
  transition:transform .15s ease;
}
.ke-lang-btn:hover, .ke-theme-dot:hover{
  transform:scale(1.08);
}

body{
  font-family:var(--ke-font-family, 'Segoe UI', Tahoma, Arial, sans-serif);
  background:var(--ke-bg);
  color:#1c2b3a;
}

html[dir="rtl"] body{
  font-family:'Tahoma','Segoe UI',Arial,sans-serif;
}

a{text-decoration:none;}

/* ===== Marquee ===== */
.ke-marquee-bar{
  background:var(--ke-navy-dark);
  color:#fff;
  overflow:hidden;
  white-space:nowrap;
  font-size:.85rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ke-marquee-track{
  display:inline-block;
  padding-left:100%;
  animation:ke-scroll 40s linear infinite;
}
html[dir="rtl"] .ke-marquee-track{
  padding-left:0;
  padding-right:100%;
  animation:ke-scroll-rtl 40s linear infinite;
}
@keyframes ke-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}
@keyframes ke-scroll-rtl{
  0%{transform:translateX(0);}
  100%{transform:translateX(100%);}
}
.ke-marquee-item{
  display:inline-block;
  padding:6px 22px;
}
.ke-marquee-item .up{color:#5ddc8a;}
.ke-marquee-item .down{color:#ff8a80;}

/* ===== Navbar ===== */
.ke-navbar{
  background:var(--ke-navy);
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.ke-navbar .navbar-brand{
  font-weight:800;
  color:#fff !important;
  letter-spacing:.5px;
}
.ke-navbar .navbar-brand span{color:var(--ke-gold-light);}
.ke-navbar .nav-link{
  color:#dfe6f0 !important;
  font-weight:500;
}
.ke-navbar .nav-link:hover, .ke-navbar .nav-link.active{
  color:var(--ke-gold-light) !important;
}
.ke-lang-btn{
  border:1px solid var(--ke-gold);
  color:var(--ke-gold-light);
  background:transparent;
  border-radius:20px;
  padding:4px 16px;
  font-size:.85rem;
  font-weight:600;
}
.ke-lang-btn:hover{background:var(--ke-gold);color:#0b2545;}

/* ===== Hero ===== */
.ke-hero{
  background:linear-gradient(135deg,var(--ke-navy) 0%,var(--ke-navy-dark) 100%);
  color:#fff;
  padding:70px 0 90px;
  position:relative;
  overflow:hidden;
}
.ke-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(201,162,39,.18), transparent 55%);
}
.ke-hero h1{
  font-weight:800;
  font-size:2.6rem;
}
.ke-hero p.lead{
  color:#c3cfe0;
}
.ke-hero .badge-live{
  background:var(--ke-gold);
  color:#0b2545;
  font-weight:700;
  padding:6px 14px;
  border-radius:20px;
}
.ke-hero .btn{transition:transform .2s ease, box-shadow .2s ease;}
.ke-hero .btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.25);}

/* ===== Cards / Sections ===== */
.ke-section-title{
  font-weight:800;
  color:var(--ke-navy);
  position:relative;
  padding-bottom:10px;
}
.ke-section-title::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:60px;
  height:4px;
  background:var(--ke-gold);
  border-radius:2px;
}
html[dir="rtl"] .ke-section-title::after{left:auto;right:0;}

.ke-card{
  background:var(--ke-card-bg, var(--ke-card));
  border-radius:var(--ke-radius, 14px);
  border:1px solid #e9edf3;
  box-shadow:var(--ke-shadow, 0 4px 14px rgba(11,37,69,.05));
}

/* ===== Mobile off-canvas menu ===== */
.ke-mobile-menu.offcanvas{
  width:300px;
  background:var(--ke-header-bg, var(--ke-navy));
  color:#fff;
  border-top-right-radius:var(--ke-radius,14px);
  border-bottom-right-radius:var(--ke-radius,14px);
}
html[dir="rtl"] .ke-mobile-menu.offcanvas{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  border-top-left-radius:var(--ke-radius,14px);
  border-bottom-left-radius:var(--ke-radius,14px);
}
.ke-mobile-menu .nav-link{
  color:#e5ecf5;
  padding:12px 8px;
  border-radius:10px;
  display:flex;
  align-items:center;
  gap:10px;
}
.ke-mobile-menu .nav-link:hover, .ke-mobile-menu .nav-link:focus{
  background:rgba(255,255,255,.08);
  color:var(--ke-hover-color, var(--ke-gold-light));
}
.offcanvas-backdrop.show{opacity:.6;}
.ke-mobile-menu .btn-close{filter:invert(1);}
.ke-top-bar{
  background:var(--ke-footer-bg, var(--ke-navy-dark));
  color:#cdd8e6;
  font-size:.78rem;
  padding:5px 0;
}

/* Rates table */
.ke-rates-table thead{
  background:var(--ke-navy);
  color:#fff;
}
.ke-rates-table tbody tr:hover{background:#f0f4fa;}
.ke-flag{font-size:1.4rem;margin-inline-end:8px;}
.ke-rate-up{color:var(--ke-green);font-weight:700;}
.ke-rate-down{color:var(--ke-red);font-weight:700;}
.ke-search-box{max-width:320px;}

/* Converter */
.ke-converter{
  background:var(--ke-card);
  border-radius:16px;
  padding:28px;
  box-shadow:0 8px 26px rgba(11,37,69,.08);
  border-top:4px solid var(--ke-gold);
}
.ke-converter .swap-btn{
  border-radius:50%;
  width:42px;height:42px;
  background:var(--ke-navy);
  color:#fff;
  border:none;
  display:flex;align-items:center;justify-content:center;
}
.ke-converter .swap-btn:hover{background:var(--ke-gold);color:#0b2545;}
.ke-result-box{
  background:#f0f4fa;
  border-radius:12px;
  padding:18px;
  font-size:1.4rem;
  font-weight:800;
  color:var(--ke-navy);
  text-align:center;
}

/* Company cards */
.ke-company-card{
  padding:22px;
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
  height:100%;
}
.ke-company-card:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 24px rgba(11,37,69,.12);
}
.ke-company-logo{
  width:64px;height:64px;
  border-radius:50%;
  background:var(--ke-navy);
  color:var(--ke-gold-light);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.4rem;
  margin:0 auto 14px;
}

/* News */
.ke-news-card img{
  height:180px;object-fit:cover;
  border-radius:14px 14px 0 0;
}
.ke-news-card{overflow:hidden;height:100%;}
.ke-news-date{color:var(--ke-text-muted);font-size:.85rem;}

/* Article body — figure/caption structure only.
   Image/table/embed sizing rules now live in ONE consolidated block below
   (see "Responsive content inside published articles") to avoid the
   duplicate/conflicting rules that caused the mobile overflow bug. */
/* Figure/figcaption sizing lives in the consolidated "RESPONSIVE ARTICLE
   CONTENT" block further down this file, alongside images/tables/embeds. */

/* Source-code view for article pages */
.ke-source-toggle{
  border:1px solid #e3e8ef;
  border-radius:20px;
  background:#fff;
  padding:6px 16px;
  font-size:.85rem;
  font-weight:600;
  color:var(--ke-primary, var(--ke-navy));
}
.ke-source-toggle:hover{ background:#f2f6fa; }
#keArticleSource{
  background:#0f1620;
  color:#c3e6d0;
  border-radius:12px;
  padding:18px;
  font-size:.82rem;
  white-space:pre-wrap;
  word-break:break-word;
  direction:ltr;
  text-align:left;
}

/* Charts */
.ke-chart-card{padding:20px;}

/* Footer */
.ke-footer{
  background:var(--ke-navy-dark);
  color:#c3cfe0;
  padding:50px 0 20px;
}
.ke-footer h5{color:#fff;font-weight:700;}
.ke-footer a{color:#c3cfe0;}
.ke-footer a:hover{color:var(--ke-gold-light);}
.ke-footer hr{border-color:rgba(255,255,255,.1);}

/* Utility */
.ke-badge-gold{background:var(--ke-gold);color:#0b2545;font-weight:700;}
.cursor-pointer{cursor:pointer;}

/* ===== Premium sticky header (logo + lang/dark-mode/hamburger only) ===== */
.ke-header{
  background:#ffffff;
  height:82px;
  position:sticky;
  top:0;
  z-index:1030;
  transition:box-shadow .25s ease;
}
.ke-header.ke-scrolled{ box-shadow:0 4px 18px rgba(11,37,69,.10); }
.ke-header-logo{
  width:46px;height:46px;object-fit:cover;border-radius:50%;
  border:2px solid var(--ke-accent, var(--ke-gold));
}
.ke-header .ke-brand-en{ color:var(--ke-primary, var(--ke-navy)); font-weight:800; font-size:1.05rem; }
.ke-header .ke-brand-ar{ color:var(--ke-text-muted); font-size:.78rem; }

.ke-icon-btn{
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid #e3e8ef;
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:var(--ke-primary, var(--ke-navy));
  transition:background .2s ease, transform .15s ease, color .2s ease;
}
.ke-icon-btn:hover{ background:var(--ke-accent, var(--ke-gold)); color:#fff; transform:translateY(-1px); }
.ke-header .ke-lang-btn{ border-radius:20px; }

/* Secondary desktop nav row */
.ke-nav-bar{
  background:#fff;
  border-top:1px solid #eef1f5;
  border-bottom:1px solid #eef1f5;
}
.ke-nav-bar .nav-link{
  color:#334156;
  font-weight:600;
  font-size:.92rem;
  padding:14px 18px;
  border-radius:20px;
  position:relative;
  transition:background .2s ease, color .2s ease;
}
.ke-nav-bar .nav-link:hover{ background:#f2f6fa; color:var(--ke-primary, var(--ke-navy)); }
.ke-nav-bar .nav-link::after{
  content:"";
  position:absolute;
  left:18px; right:18px; bottom:6px;
  height:2px;
  background:var(--ke-accent, var(--ke-gold));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.ke-nav-bar .nav-link:hover::after,
.ke-nav-bar .nav-link.active::after{ transform:scaleX(1); }
.ke-nav-bar .nav-link.active{ color:var(--ke-primary, var(--ke-navy)); }

/* Dark mode */
html[data-mode="dark"]{
  --ke-bg:#0f1620;
  --ke-card-bg:#182333;
  --ke-text-muted:#9fb0c3;
}
html[data-mode="dark"] body{ color:#e7edf5; }
html[data-mode="dark"] .ke-header,
html[data-mode="dark"] .ke-nav-bar{ background:#101826; border-color:#1f2a3c; }
html[data-mode="dark"] .ke-header .ke-brand-en{ color:#e7edf5; }
html[data-mode="dark"] .ke-nav-bar .nav-link{ color:#c3cede; }
html[data-mode="dark"] .ke-nav-bar .nav-link:hover{ background:#1c2738; }
html[data-mode="dark"] .ke-icon-btn{ background:#101826; border-color:#25324a; color:#e7edf5; }
html[data-mode="dark"] .ke-card{ background:var(--ke-card-bg); border-color:#25324a; color:#e7edf5; }
html[data-mode="dark"] .ke-rates-table thead{ background:#101826; }
html[data-mode="dark"] .ke-rates-table tbody tr:hover{ background:#182333; }
html[data-mode="dark"] .ke-mode-icon-sun{ display:none; }
html[data-mode="dark"] .ke-mode-icon-moon{ display:inline-block; }

/* Force light, readable text everywhere on a dark background */
html[data-mode="dark"] h1, html[data-mode="dark"] h2, html[data-mode="dark"] h3,
html[data-mode="dark"] h4, html[data-mode="dark"] h5, html[data-mode="dark"] h6,
html[data-mode="dark"] p, html[data-mode="dark"] span, html[data-mode="dark"] li,
html[data-mode="dark"] label, html[data-mode="dark"] td, html[data-mode="dark"] th,
html[data-mode="dark"] strong, html[data-mode="dark"] a:not(.btn){ color:#e7edf5; }
html[data-mode="dark"] .ke-section-title{ color:#f3f6fa; }
html[data-mode="dark"] .text-muted,
html[data-mode="dark"] .ke-news-date,
html[data-mode="dark"] .ke-egp-equals,
html[data-mode="dark"] .ke-brand-ar{ color:#93a3ba !important; }
html[data-mode="dark"] .ke-spotlight-card-value{ color:#f3f6fa; }
html[data-mode="dark"] .form-control, html[data-mode="dark"] .form-select{
  background:#182333; color:#e7edf5; border-color:#2c3a52;
}
html[data-mode="dark"] .form-control::placeholder{ color:#7c8ba0; }
html[data-mode="dark"] .table{ color:#e7edf5; }
html[data-mode="dark"] .table-light, html[data-mode="dark"] thead.table-light{
  background:#182333; color:#e7edf5;
}
html[data-mode="dark"] .ke-ad-block{ background:#182333; border-color:#2c3a52; color:#93a3ba; }
html[data-mode="dark"] .btn-outline-secondary{ color:#e7edf5; border-color:#3a4a63; }
html[data-mode="dark"] .btn-outline-secondary:hover{ background:#25324a; color:#fff; }
html[data-mode="dark"] #keArticleSourceBox{ background:#0f1620; color:#c3e6d0; border-color:#2c3a52 !important; }
html[data-mode="dark"] .accordion-item, html[data-mode="dark"] .accordion-button{
  background:#182333; color:#e7edf5; border-color:#2c3a52;
}
.ke-mode-icon-moon{ display:none; }

/* Off-canvas mobile menu extras: social + contact */
.ke-mobile-menu .ke-social-icons a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;margin-inline-end:8px;
}
.ke-mobile-menu .ke-social-icons a:hover{ background:var(--ke-accent, var(--ke-gold)); }
.ke-mobile-menu .ke-contact-info{ font-size:.85rem; color:#c3cede; }

/* Admin */
.ke-admin-sidebar{
  background:var(--ke-navy);
  color:#fff;
  min-height:100vh;
}
.ke-admin-sidebar .nav-link{color:#dfe6f0;}
.ke-admin-sidebar .nav-link.active{color:var(--ke-gold-light);font-weight:700;}

/* Rich text editor */
.ke-editor-area{
  min-height:220px;
  overflow-y:auto;
  border-top-left-radius:0;
  border-top-right-radius:0;
}
.ke-editor-area:focus{outline:2px solid var(--ke-gold);outline-offset:-2px;}
.ke-editor-area img{max-width:100%;height:auto;}

/* ==========================================================================
   RESPONSIVE ARTICLE CONTENT — single source of truth
   ==========================================================================
   Fixes: images/tables/embeds overflowing the viewport on mobile.

   ROOT CAUSE: the contenteditable rich-text editor lets authors drag-resize
   images natively in the browser. That writes a fixed inline style straight
   onto the <img> tag (e.g. style="width:812px"), which — because inline
   styles outrank stylesheet rules — silently overrode our old max-width:100%
   rule. The !important declarations below exist specifically to win against
   those author-introduced inline styles; every other rule here stays
   !important-free by design. See js/editor.js for the companion fix that
   stops new inline sizes from being created going forward.
   ========================================================================== */

/* 1) Global safety net: never let ANY child force the page to scroll sideways */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

/* 2) The article container itself must never exceed its parent's width */
#keArticleBody{
  max-width:100%;
  box-sizing:border-box;
  overflow-wrap:anywhere;   /* long unbroken URLs/words wrap instead of overflowing */
  word-break:break-word;    /* legacy-browser fallback for the same */
}
#keArticleBody *{
  box-sizing:border-box;
  max-width:100%;           /* blanket rule: nothing inside an article can exceed it */
}

/* 3) Images — the actual bug. !important defeats any inline width/height
      style left over from the editor's native resize handles or pasted content. */
#keArticleBody img,
.ke-editor-area img{
  max-width:100% !important;
  width:auto !important;    /* overrides a fixed inline width attribute/style */
  height:auto !important;   /* preserves the original aspect ratio */
  display:block;
  margin:18px auto;         /* centers the image within the article */
  border-radius:12px;
  box-shadow:0 4px 14px rgba(11,37,69,.08);
}
@media (min-width:992px){
  /* Desktop-only: cap very tall images so they don't dominate the article,
     while still respecting the width constraint above. object-fit keeps
     the crop looking intentional rather than distorted. */
  #keArticleBody img{ max-height:520px; object-fit:cover; }
}
@media (max-width:576px){
  #keArticleBody img{ border-radius:8px; margin:14px auto; }
}

/* 4) Figures/captions stay centered and never exceed the article width */
#keArticleBody figure{ max-width:100%; margin:18px auto; text-align:center; }
#keArticleBody figcaption{ max-width:100%; color:var(--ke-text-muted); font-size:.85rem; margin-top:6px; }

/* 5) Tables — wrap in a horizontal scroller INSTEAD of overflowing the page.
      display:block turns the table itself into a scrollable region so wide
      tables scroll internally, not the whole viewport. */
#keArticleBody table{
  display:block;
  width:100% !important;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-collapse:collapse;
}
#keArticleBody td, #keArticleBody th{
  word-break:break-word;
}

/* 6) Embeds — iframes/videos (Google Maps, YouTube, etc.) scale to the
      container width while keeping their aspect ratio via a 16:9 wrapper
      when the editor's "video"/"maps" block type is used (see pages-store.js). */
#keArticleBody iframe,
#keArticleBody video,
#keArticleBody embed,
#keArticleBody object{
  max-width:100% !important;
  width:100%;
  height:auto;
}

/* 7) Code blocks / long URLs — wrap instead of forcing width, but stay
      horizontally scrollable as a fallback for genuinely unbreakable content
      (e.g. a long token with no natural break point). */
#keArticleBody pre,
#keArticleBody code{
  max-width:100%;
  overflow-x:auto;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
#keArticleBody a{
  overflow-wrap:anywhere; /* long raw URLs used as link text won't overflow */
}
.ke-editor-fullscreen{
  position:fixed;
  inset:0;
  z-index:1080;
  background:#fff;
  padding:16px;
  overflow-y:auto;
}
.ke-editor-fullscreen .ke-editor-area{min-height:70vh;}

/* Media library */
.ke-media-thumb{
  width:100%;height:110px;object-fit:cover;border-radius:8px;cursor:pointer;
  border:2px solid transparent;
}
.ke-media-thumb:hover{border-color:var(--ke-gold);}

@media (max-width:768px){
  .ke-hero h1{font-size:1.9rem;}
  .ke-hero{padding:45px 0 65px;}
}

/* ===== Update 13 — legal/content pages, footer legal column, 404 page ===== */
.ke-legal-content h2{font-size:1.25rem;font-weight:800;color:var(--ke-navy);margin-top:1.75rem;margin-bottom:.75rem;}
.ke-legal-content h2:first-child{margin-top:0;}
.ke-legal-content p{color:var(--ke-text-muted);line-height:1.8;margin-bottom:1rem;}
.ke-legal-content ul,.ke-legal-content ol{color:var(--ke-text-muted);line-height:1.8;margin-bottom:1rem;padding-inline-start:1.25rem;}
.ke-legal-content li{margin-bottom:.35rem;}
.ke-legal-content strong{color:inherit;}
.ke-legal-updated{font-size:.85rem;color:var(--ke-text-muted);margin-bottom:1.5rem;display:inline-block;}
html[data-mode="dark"] .ke-legal-content p,
html[data-mode="dark"] .ke-legal-content ul,
html[data-mode="dark"] .ke-legal-content ol,
html[data-mode="dark"] .ke-legal-updated{color:#c3cede;}
html[data-mode="dark"] .ke-legal-content h2{color:#e7edf5;}

.ke-footer .ke-footer-col h5{font-size:1rem;}
.ke-footer .ke-footer-col ul li{margin-bottom:.4rem;}
.ke-footer .ke-footer-legal a{font-size:.85rem;}

.ke-404-wrap{min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;}
.ke-404-code{font-size:5rem;font-weight:800;color:var(--ke-gold);line-height:1;}
@media (max-width:768px){.ke-404-code{font-size:3.5rem;}}

.ke-sitemap-list a{display:inline-block;padding:4px 0;}
.ke-contact-card i{color:var(--ke-gold);}
