/* ==========================================================================
   SwellRC content styles (arb-* component library, Field & Water skin)
   Deployed to wp-content/mu-plugins/swellrc/swellrc.css, enqueued by mu-plugins/swellrc-design.php (filemtime version).
   ========================================================================== */
:root {
  /* Field & Water (owner choice 2026-10-01): deep teal, field lime (always with dark ink), lake blue */
  --arb-navy:#0E3B43; --arb-navy-2:#13505A; --arb-yellow:#C8E64A; --arb-yellow-soft:#F4FAD9;
  --arb-teal:#2A7FD4; --arb-teal-soft:#E8F1FB; --arb-coral:#D9534F; --arb-coral-soft:#FDEEEC;
  --arb-ink:#16302F; --arb-body:#2E4645; --arb-muted:#557070; --arb-line:#D8E4E2; --arb-soft:#F3F7F6;
  --arb-green:#1D6FB8; --arb-radius:10px; --arb-shadow:0 18px 40px -20px rgba(14,59,67,.35);
  --sw-head:"Saira Semi Condensed","Arial Narrow",Arial,sans-serif; --sw-body:"Source Sans 3","Segoe UI",Arial,sans-serif;
}

/* Theme widgets (search hero, category grid) use negative margins that overflow on mobile */
html, body { overflow-x: clip; }

/* ---------- Article shell ---------- */
.arb-article { max-width:1140px; margin:10px auto 40px; color:var(--arb-body); font-size:17px; line-height:1.8; }
.arb-article a { color:var(--arb-green); font-weight:600; text-decoration:none; background-image:linear-gradient(currentColor,currentColor); background-size:0 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size .2s ease; }
.arb-article a:hover { background-size:100% 1px; color:var(--arb-green); }
.arb-article a.arb-btn, .arb-article a.arb-card { background-image:none; }
.arb-article p, .arb-article ul, .arb-article ol { margin:0 0 20px; }
.arb-article ul, .arb-article ol { padding-left:22px; }
.arb-article li { margin-bottom:8px; }
.arb-article li::marker { color:var(--arb-teal); font-weight:700; }
.arb-article strong { color:var(--arb-ink); }
.arb-article h2 { position:relative; font-size:29px; line-height:1.28; letter-spacing:-.01em; margin:56px 0 18px; padding-top:18px; color:var(--arb-navy); scroll-margin-top:110px; }
.arb-article h2:before { content:""; position:absolute; top:0; left:0; width:44px; height:4px; border-radius:4px; background:var(--arb-yellow); }
.arb-article h3 { font-size:21px; line-height:1.35; margin:34px 0 12px; color:var(--arb-navy); scroll-margin-top:110px; }

.arb-crumbs { font-size:14px; color:var(--arb-muted); margin:0 0 18px; }
.arb-crumbs a { font-weight:500 !important; color:var(--arb-muted) !important; }
.arb-crumbs a:hover { color:var(--arb-green) !important; }

/* ---------- Article header ---------- */
.arb-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:44px; align-items:center; padding:44px 48px; margin-bottom:46px; border-radius:28px; background:radial-gradient(circle at 100% 0%, rgba(245,208,6,.20), transparent 45%), radial-gradient(circle at 0% 100%, rgba(46,196,182,.16), transparent 45%), var(--arb-soft); border:1px solid var(--arb-line); }
.arb-head .arb-kicker { margin-bottom:14px; }
.arb-head .arb-lead { font-size:19px; line-height:1.7; color:var(--arb-navy); margin:0 0 18px; }
.arb-meta { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--arb-muted); margin:0 !important; }
.arb-meta span { display:inline-flex; align-items:center; gap:6px; }
.arb-meta span:before { content:""; width:6px; height:6px; border-radius:50%; background:var(--arb-teal); }
.arb-head-img { margin:0; }
.arb-head-img img { display:block; width:100%; height:auto; border-radius:20px; box-shadow:var(--arb-shadow); transform:rotate(1.2deg); transition:transform .3s ease; }
.arb-head-img img:hover { transform:rotate(0deg) scale(1.01); }

/* ---------- Two-column body with sticky table of contents ---------- */
.arb-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:56px; align-items:start; }
.arb-main { min-width:0; max-width:760px; }
.arb-main > h2:first-child { margin-top:0; }
.arb-aside { grid-column:2; grid-row:1; position:sticky; top:110px; }
.arb-main { grid-column:1; grid-row:1; }
.arb-toc { background:#fff; border:1px solid var(--arb-line); border-radius:var(--arb-radius); padding:22px 22px 12px; box-shadow:0 10px 30px -22px rgba(22,34,52,.35); }
.arb-toc-title { font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:12px; margin:0 0 10px !important; color:var(--arb-muted); }
.arb-toc ol { list-style:none; counter-reset:toc; padding:0 !important; margin:0 0 8px !important; font-size:14.5px; line-height:1.45; }
.arb-toc li { counter-increment:toc; margin:0 !important; }
.arb-toc li a { display:flex; gap:10px; padding:7px 8px; margin:0 -8px; border-radius:8px; color:var(--arb-ink) !important; font-weight:500 !important; background-image:none !important; }
.arb-toc li a:before { content:counter(toc, decimal-leading-zero); color:var(--arb-muted); font-variant-numeric:tabular-nums; font-size:12.5px; padding-top:1px; }
.arb-toc li a:hover { background:var(--arb-soft); color:var(--arb-navy) !important; }
.arb-aside-cta { margin-top:18px; padding:22px; border-radius:var(--arb-radius); background:var(--arb-navy); color:#cfd8e3; font-size:15px; line-height:1.55; }
.arb-aside-cta strong { display:block; color:#fff; font-size:17px; margin-bottom:6px; }
.arb-aside-cta p { margin:0 0 14px !important; }
.arb-aside-cta a.arb-btn { width:100%; text-align:center; }

/* ---------- Components ---------- */
.arb-lead { font-size:19px; line-height:1.7; color:var(--arb-navy); }
.arb-kicker { display:inline-block; background:var(--arb-yellow); color:var(--arb-navy); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:30px; line-height:1.5; }
.arb-table { overflow-x:auto; margin:14px 0 28px; border:1px solid var(--arb-line); border-radius:16px; -webkit-overflow-scrolling:touch; box-shadow:0 10px 30px -24px rgba(22,34,52,.4); }
.arb-table table { max-width:none; width:100%; min-width:560px; margin:0; font-size:15px; line-height:1.55; border-collapse:collapse; border-style:hidden; }
.arb-table th { background:var(--arb-navy); color:#fff; font-weight:600; border:0; border-right:1px solid rgba(255,255,255,.08); padding:14px 16px; }
.arb-table td { border:0; border-top:1px solid var(--arb-line); vertical-align:top; padding:13px 16px; }
.arb-table tr:hover { background:transparent; }
.arb-table tbody tr:nth-child(even) { background:#fafbfd; }
.arb-table td:first-child { color:var(--arb-ink); font-weight:600; }
.arb-box { position:relative; border-radius:var(--arb-radius); padding:22px 26px 4px 64px; margin:28px 0; border:1px solid var(--arb-line); }
.arb-box:before { position:absolute; left:20px; top:20px; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.arb-box-tip { background:var(--arb-teal-soft); border-color:#c4ece6; }
.arb-box-tip:before { content:"✓"; background:var(--arb-teal); color:#fff; }
.arb-box-warn { background:var(--arb-coral-soft); border-color:#ffd6c8; }
.arb-box-warn:before { content:"!"; background:var(--arb-coral); color:#fff; }
.arb-box-info { background:var(--arb-yellow-soft); border-color:#f6e7a0; }
.arb-box-info:before { content:"i"; background:var(--arb-navy); color:var(--arb-yellow); font-family:Georgia,serif; font-style:italic; }
.arb-checklist { list-style:none; padding-left:0 !important; }
.arb-checklist li { position:relative; padding-left:34px; }
.arb-checklist li:before { content:"✓"; position:absolute; left:0; top:3px; width:22px; height:22px; line-height:22px; text-align:center; border-radius:50%; background:var(--arb-teal); color:#fff; font-size:12px; font-weight:700; }
a.arb-btn { display:inline-block; background:var(--arb-yellow); color:var(--arb-navy) !important; font-weight:700; font-size:15px; padding:12px 26px; border-radius:40px; text-decoration:none; line-height:1.4; transition:transform .15s ease, box-shadow .15s ease; }
a.arb-btn:hover { transform:translateY(-2px); box-shadow:0 10px 22px -8px rgba(22,34,52,.35); color:var(--arb-navy) !important; }
.arb-faq details { border:1px solid var(--arb-line); border-radius:14px; margin-bottom:12px; background:#fff; transition:box-shadow .2s ease; }
.arb-faq details[open] { box-shadow:0 12px 30px -22px rgba(22,34,52,.4); }
.arb-faq summary { cursor:pointer; font-weight:700; padding:16px 52px 16px 20px; color:var(--arb-navy); list-style:none; position:relative; }
.arb-faq summary::-webkit-details-marker { display:none; }
.arb-faq summary:after { content:"+"; position:absolute; right:16px; top:12px; width:28px; height:28px; line-height:27px; text-align:center; border-radius:50%; background:var(--arb-soft); font-size:18px; color:var(--arb-navy); }
.arb-faq details[open] summary:after { content:"–"; background:var(--arb-yellow); }
.arb-faq details p { padding:0 20px 8px; }
.arb-related { margin-top:56px; padding-top:28px; border-top:1px solid var(--arb-line); }
.arb-related-title { font-weight:700; font-size:22px; color:var(--arb-navy); margin-bottom:6px !important; }
.arb-cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin:18px 0 30px; }
.arb-cards-lg { grid-template-columns:repeat(3, minmax(0,1fr)); }
a.arb-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--arb-line); border-radius:var(--arb-radius); overflow:hidden; text-decoration:none; color:var(--arb-ink); font-weight:400; transition:transform .2s ease, box-shadow .2s ease; }
a.arb-card:hover { transform:translateY(-4px); box-shadow:var(--arb-shadow); color:var(--arb-ink); }
a.arb-card img { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.arb-card-title { display:block; font-weight:700; font-size:17px; line-height:1.35; color:var(--arb-navy); padding:16px 18px 6px; }
.arb-card-text { display:block; font-size:14.5px; line-height:1.55; color:var(--arb-muted); padding:0 18px 16px; }
.arb-card-more { display:block; margin-top:auto; padding:0 18px 18px; font-weight:700; font-size:14px; color:var(--arb-green); }

/* ---------- Hub & simple pages ---------- */
.arb-hub .arb-head { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); }
.arb-hub h2 { margin-top:48px; }
.arb-simple { max-width:820px; }
.arb-simple .arb-lead { padding:28px 32px; border-radius:22px; background:var(--arb-soft); border:1px solid var(--arb-line); }

@media (max-width:1100px) {
  .arb-layout { grid-template-columns:minmax(0,1fr) 250px; gap:36px; }
}
@media (max-width:991px) {
  .arb-head { grid-template-columns:1fr; padding:30px 28px; gap:26px; }
  .arb-head-img { order:-1; }
  .arb-head-img img { transform:none; }
  .arb-layout { display:block; }
  .arb-aside { position:static; margin-bottom:34px; }
  .arb-aside-cta { display:none; }
  .arb-main { max-width:none; }
  .arb-cards, .arb-cards-lg { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px) {
  .arb-article { font-size:16px; }
  .arb-article h2 { font-size:24px; margin-top:42px; }
  .arb-article h3 { font-size:19px; }
  .arb-head { padding:22px 18px; border-radius:22px; margin-bottom:30px; }
  .arb-head .arb-lead, .arb-lead { font-size:17px; }
  .arb-box { padding:18px 18px 2px 56px; }
  .arb-box:before { left:16px; top:18px; }
  .arb-cards, .arb-cards-lg { grid-template-columns:1fr; }
}

/* ---------- Startseite ---------- */
.arb-home { --arb-body:#5b6676; color:var(--arb-ink); font-size:16px; line-height:1.7; }
.arb-home h1, .arb-home h2 { color:var(--arb-navy); line-height:1.25; letter-spacing:-.01em; }
.arb-home h2 { font-size:32px; margin:0 0 12px; }
.arb-sec-head { text-align:center; max-width:760px; margin:0 auto 36px; }
.arb-sec-head .arb-kicker { margin-bottom:14px; }
.arb-sec-head p { color:var(--arb-muted); font-size:17px; }
.arb-features { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.arb-feature { background:#fff; border:1px solid var(--arb-line); border-radius:var(--arb-radius); padding:28px; transition:transform .2s ease, box-shadow .2s ease; }
.arb-feature:hover { transform:translateY(-3px); box-shadow:var(--arb-shadow); }
.arb-feature-icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:25px; margin-bottom:16px; }
.arb-feature h3 { font-size:19px; margin:0 0 8px; color:var(--arb-navy); }
.arb-feature p { margin:0 0 12px; color:var(--arb-muted); }
.arb-feature a, .arb-step a { color:var(--arb-green); font-weight:700; }
.arb-steps { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; counter-reset:arbstep; }
.arb-step { position:relative; padding:28px 26px 24px; background:#fff; border-radius:var(--arb-radius); border:1px solid var(--arb-line); }
.arb-step:before { counter-increment:arbstep; content:counter(arbstep); display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--arb-navy); color:var(--arb-yellow); font-weight:700; font-size:18px; margin-bottom:16px; }
.arb-step h3 { font-size:18px; margin:0 0 8px; color:var(--arb-navy); }
.arb-step p { margin:0; color:var(--arb-muted); }
.arb-home .arb-cards { grid-template-columns:repeat(3, minmax(0,1fr)); }
.arb-center { text-align:center; margin-top:12px; }
.arb-safety { display:flex; gap:30px; align-items:center; background:radial-gradient(circle at 100% 0%, rgba(245,208,6,.18), transparent 40%), var(--arb-navy); color:#dfe6ef; border-radius:24px; padding:38px 42px; }
.arb-safety h2 { color:#fff; font-size:28px; }
.arb-safety p { color:#c9d3df; margin:0 0 16px; }
.arb-safety-icon { flex:0 0 96px; height:96px; border-radius:26px; background:var(--arb-teal); display:flex; align-items:center; justify-content:center; font-size:46px; }
.arb-home .arb-faq { max-width:860px; margin:0 auto; }
@media (max-width:991px) {
  .arb-features, .arb-steps, .arb-home .arb-cards { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px) {
  .arb-home h2 { font-size:25px; }
  .arb-features, .arb-steps, .arb-home .arb-cards { grid-template-columns:1fr; }
  .arb-safety { flex-direction:column; align-items:flex-start; padding:28px 22px; }
}

/* WordPress auto-formatting inserts <br> between grid items */
.arb-cards > br, .arb-features > br, .arb-steps > br, .arb-head > br, .arb-layout > br, .arb-meta > br { display:none; }

/* ---------- Supporting posts (theme single.php) ----------
   JobMonster prints the featured image and an author/share column before the content.
   Our .arb-head already shows the image, so hide those only on posts built with .arb-article. */
.single-post article:has(.arb-article) > .content-left,
.single-post article:has(.arb-article) .content-featured { display:none; }
.single-post article:has(.arb-article) .content-wrap { margin-left:0 !important; padding-left:0 !important; width:auto !important; float:none !important; }
.single-post article:has(.arb-article) .entry-tags { max-width:760px; }

/* In-article figure (diagram); the image links to the full-size file for small screens */
.arb-figure { margin:28px 0; }
.arb-figure img { display:block; width:100%; height:auto; border-radius:16px; border:1px solid var(--arb-line); }
.arb-figure figcaption { margin-top:10px; font-size:14px; color:var(--arb-muted); }
.arb-figure > br { display:none; }

/* ==========================================================================
   SwellRC skin: typography, flatter radii, lime accents, pillar post lists
   ========================================================================== */
.arb-article { font-family:var(--sw-body); font-size:18px; }
.arb-article h2, .arb-article h3, .arb-related-title, .arb-card-title, .arb-toc-title, .arb-aside-cta strong, .arb-faq summary { font-family:var(--sw-head); }
.arb-article h2 { font-weight:700; font-size:31px; letter-spacing:0; }
.arb-article h2:before { width:56px; height:5px; border-radius:2px; }
.arb-article h3 { font-weight:700; }
.arb-kicker { border-radius:4px; font-family:var(--sw-head); font-size:13px; color:#17260A; }
a.arb-btn { border-radius:6px; font-family:var(--sw-head); text-transform:uppercase; letter-spacing:.05em; color:#17260A !important; }
a.arb-btn:hover { color:#17260A !important; }
.arb-head { border-radius:14px; background:linear-gradient(135deg, var(--arb-navy) 0%, var(--arb-navy-2) 100%); border:0; }
.arb-head .arb-lead { color:#E6F0EF; }
.arb-head .arb-meta { color:#A9C6C4; }
.arb-head .arb-meta span:before { background:var(--arb-yellow); }
.arb-head-img img { border-radius:10px; transform:none; box-shadow:0 18px 40px -18px rgba(0,0,0,.5); }
.arb-head-img img:hover { transform:none; }
.arb-crumbs a:hover { color:var(--arb-green) !important; }
.arb-aside-cta { background:var(--arb-navy); }
.arb-table { border-radius:10px; }
.arb-table tbody tr:nth-child(even) { background:var(--arb-soft); }
.arb-box { border-radius:10px; }
.arb-faq details { border-radius:8px; }
a.arb-card, .arb-toc { border-radius:10px; }
.arb-card-title { font-size:19px; }
.arb-cards-hub { margin-top:0; }
.arb-hub-text { max-width:820px; }

/* Pillar: grouped list of every article in the silo */
.arb-postlist { display:grid; gap:10px; margin:10px 0 30px; }
.arb-postgroup { border:1px solid var(--arb-line); border-radius:8px; background:#fff; }
.arb-postgroup summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px; font-family:var(--sw-head); font-weight:700; font-size:19px; color:var(--arb-navy); }
.arb-postgroup summary::-webkit-details-marker { display:none; }
.arb-postgroup summary span { flex:0 0 auto; min-width:34px; text-align:center; font-size:14px; padding:2px 10px; border-radius:20px; background:var(--arb-yellow); color:#17260A; }
.arb-postgroup[open] summary { border-bottom:1px solid var(--arb-line); }
.arb-postgroup ul { columns:2 280px; column-gap:32px; padding:14px 18px 6px 36px !important; margin:0 !important; font-size:16px; line-height:1.45; }
.arb-postgroup li { break-inside:avoid; margin-bottom:9px; }
.arb-postgroup li::marker { color:var(--arb-teal); }
.arb-postlist > br { display:none; }
@media (max-width:767px) {
  .arb-article { font-size:17px; }
  .arb-article h2 { font-size:25px; }
}

/* ---------- inx-game theme integration ----------
   Pages/posts built with .arb-article already show their image in .arb-head and have their own TOC aside,
   so drop the theme's featured image and sidebar there and give the content the full container width. */
.row:has(.arb-article) > .inx-sidebar { display:none !important; }
.row:has(.arb-article) > .order-1 { flex:0 0 100%; max-width:100%; }
article:has(.arb-article) > .img-box { display:none !important; }
article:has(.arb-article) .entry-title { font-family:var(--sw-head); font-weight:700; color:var(--arb-navy); font-size:clamp(30px,3.6vw,44px); line-height:1.12; text-wrap:balance; }

/* Up-link box on posts that are not yet rebuilt with .arb-article (added by swellrc-design.php) */
.sw-silo { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:0 0 28px; padding:14px 18px; border-radius:10px; background:var(--arb-navy); color:#E6F0EF; font-family:var(--sw-body); font-size:16px; line-height:1.5; }
.sw-silo span { font-family:var(--sw-head); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; padding:3px 10px; border-radius:4px; background:var(--arb-yellow); color:#17260A; }
.sw-silo p { margin:0 !important; flex:1 1 260px; color:#E6F0EF; }
.sw-silo a { color:var(--arb-yellow) !important; font-weight:700; text-decoration:underline; }

/* ---------- Front page (.sw-home inside one Elementor HTML widget) ---------- */
.sw-home { font-family:var(--sw-body); color:var(--arb-ink); font-size:17px; }
.sw-home h1, .sw-home h2, .sw-home h3 { font-family:var(--sw-head); font-weight:700; color:var(--arb-navy); letter-spacing:0; }
.sw-home h2 { font-size:34px; margin:10px 0 10px; }
.sw-home h3 { font-size:21px; }
.sw-home a:not(.arb-btn):not(.arb-card):not(.sw-btn-ghost) { color:var(--arb-green); font-weight:600; }
.sw-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:40px; align-items:center; padding:56px 52px; border-radius:16px; background:linear-gradient(120deg, var(--arb-navy) 0%, var(--arb-navy-2) 60%, #1B6E7A 130%); color:#E6F0EF; }
.sw-hero h1 { color:#fff; font-size:clamp(38px,5.4vw,64px); line-height:1.02; text-transform:uppercase; margin:16px 0 18px; text-wrap:balance; }
.sw-hero-lead { font-size:19px; line-height:1.65; color:#D4E5E3; max-width:58ch; margin:0 0 26px; }
.sw-hero-btns { display:flex; flex-wrap:wrap; gap:12px; }
a.sw-btn-ghost { display:inline-block; padding:11px 22px; border:1.5px solid rgba(255,255,255,.55); border-radius:6px; color:#fff !important; font-family:var(--sw-head); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:15px; text-decoration:none; }
a.sw-btn-ghost:hover { border-color:var(--arb-yellow); color:var(--arb-yellow) !important; }
.sw-hero-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.sw-hero-list a { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 16px; border-radius:8px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); text-decoration:none; transition:background .15s ease; }
.sw-hero-list a:hover { background:rgba(200,230,74,.16); }
.sw-hero-list strong { color:#fff; font-family:var(--sw-head); font-size:18px; }
.sw-hero-list span { color:#A9C6C4; font-size:14px; text-align:right; }
.sw-sec { margin-top:72px; }
.sw-popular { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; }
.sw-popular li { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:14px 2px; border-bottom:1px solid var(--arb-line); }
.sw-popular span { flex:0 0 auto; font-size:13px; font-family:var(--sw-head); text-transform:uppercase; letter-spacing:.05em; color:var(--arb-muted); }
.sw-author { display:grid; grid-template-columns:120px minmax(0,1fr); gap:32px; align-items:start; padding:40px; border-radius:16px; background:var(--arb-soft); border:1px solid var(--arb-line); }
.sw-author-badge { width:120px; height:120px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--arb-navy); color:var(--arb-yellow); font-family:var(--sw-head); font-weight:700; font-size:40px; }
.sw-author p { line-height:1.7; max-width:70ch; }
.sw-home .arb-cards > br, .sw-home .arb-steps > br, .sw-hero > br, .sw-author > br { display:none; }
@media (max-width:991px) {
  .sw-hero { grid-template-columns:1fr; padding:40px 28px; }
  .sw-popular { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .sw-hero { padding:30px 20px; border-radius:12px; }
  .sw-home h2 { font-size:27px; }
  .sw-author { grid-template-columns:1fr; padding:26px 20px; gap:18px; }
  .sw-author-badge { width:72px; height:72px; font-size:26px; }
  .sw-hero-list span { display:none; }
}

/* ---------- inx-game theme colours → Field & Water ----------
   The theme drives buttons, nav accents and the footer from these variables (orange/black by default). */
:root { --primary-color:#1D6FB8; --tertiary-color:#1D6FB8; --secondary-color:#0E3B43; }
body { font-family:var(--sw-body); }
.site-footer { background:var(--arb-navy) !important; }
.site-footer a { color:#C8E64A !important; }
.site-footer a:hover { color:#fff !important; }
.site-footer .widget-title { font-family:var(--sw-head); }
.site-footer .widget-title:before, .site-footer .widget-title:after { background:#C8E64A !important; }

/* Source note at the top of articles written without first-hand experience */
.sw-note { font-size:15px; color:var(--arb-muted); border-left:3px solid var(--arb-line); padding:2px 0 2px 14px; margin:0 0 24px !important; }

/* ==========================================================================
   Site-wide inx-game restyle (header, navigation, old posts, pages, archives)
   ========================================================================== */
/* Header: compact logo band */
.site-header .header-middle { padding-top:18px !important; padding-bottom:18px !important; }
.site-header .custom-logo-link img, .site-header img.custom-logo { max-height:92px !important; width:auto !important; height:auto !important; }
.site-header .header-middle .row { min-height:0 !important; align-items:center; }
/* Navigation bar */
.rd-navbar, .rd-navbar-static, .rd-navbar--is-stuck, .rd-navbar-wrap .rd-navbar { background:var(--arb-navy) !important; border-bottom:3px solid #C8E64A !important; }
.rd-navbar-nav > li > a, .rd-navbar a { font-family:var(--sw-head) !important; font-weight:600 !important; letter-spacing:.06em !important; color:#fff !important; }
.rd-navbar-nav > li { border-color:rgba(255,255,255,.08) !important; }
.rd-navbar-nav > li.current-menu-item > a, .rd-navbar-nav > li.current-menu-ancestor > a, .rd-navbar-nav > li > a:hover { color:#C8E64A !important; background:rgba(255,255,255,.06) !important; }
.inx-rd-navbar-toggle, .rd-navbar-toggle { background:var(--arb-navy) !important; color:#fff !important; border-radius:6px !important; }
/* Headings everywhere use the brand face instead of the theme's Righteous/Poppins */
h1, h2, h3, h4, h5, h6, .entry-title, .widget-title, .page-title { font-family:var(--sw-head) !important; letter-spacing:0 !important; }
/* No sidebar anywhere: it only held a search box; content gets the full container */
.inx-sidebar { display:none !important; }
#primary .row > .order-1 { flex:0 0 100% !important; max-width:100% !important; }

/* Old posts and simple pages (content not yet rebuilt with .arb-article) */
article.inx-single-post:not(:has(.arb-article)) { max-width:900px; margin-left:auto; margin-right:auto; }
article.inx-single-post:not(:has(.arb-article)) .entry-title { color:var(--arb-navy); font-weight:700; font-size:clamp(28px,3.4vw,40px); line-height:1.15; text-wrap:balance; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap { font-family:var(--sw-body); font-size:18px; line-height:1.75; color:var(--arb-body); }
article.inx-single-post:not(:has(.arb-article)) .content-wrap h2 { font-size:28px; color:var(--arb-navy); margin:44px 0 14px; line-height:1.25; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap h3 { font-size:22px; color:var(--arb-navy); margin:30px 0 10px; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap a { color:var(--arb-green); font-weight:600; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap img { border-radius:10px; height:auto; max-width:100%; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap table { width:100%; border-collapse:collapse; font-size:16px; margin:18px 0 28px; display:block; overflow-x:auto; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap th { background:var(--arb-navy); color:#fff; padding:12px 14px; text-align:left; font-weight:600; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap td { border-top:1px solid var(--arb-line); padding:11px 14px; vertical-align:top; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap tr:nth-child(even) td { background:var(--arb-soft); }
/* Coloured boxes the old auto-generated posts carry as inline styles → calm brand box */
article.inx-single-post:not(:has(.arb-article)) .content-wrap [style*="background"] { background:var(--arb-soft) !important; color:var(--arb-ink) !important; border:1px solid var(--arb-line) !important; border-left:4px solid var(--arb-teal) !important; border-radius:10px !important; box-shadow:none !important; }
article.inx-single-post:not(:has(.arb-article)) .content-wrap [style*="background"] * { color:inherit !important; }
.post-meta, .post-meta a { font-family:var(--sw-body); }

/* Archives, search results, author pages: post cards */
.inx-blog-post, article.post:not(.inx-single-post) { font-family:var(--sw-body); }
.inx-blog-post .entry-title a, article.post:not(.inx-single-post) .entry-title a { color:var(--arb-navy) !important; }
.page-header .page-title, .archive-title { color:var(--arb-navy); }
/* Buttons and form fields */
input[type="submit"], button[type="submit"], .search-submit, .wpcf7-submit { background:var(--arb-navy) !important; color:#fff !important; border:0 !important; border-radius:6px !important; font-family:var(--sw-head) !important; letter-spacing:.05em; text-transform:uppercase; }
input[type="submit"]:hover, .wpcf7-submit:hover { background:var(--arb-green) !important; }
input[type="text"], input[type="email"], input[type="search"], textarea { border:1px solid var(--arb-line) !important; border-radius:6px !important; font-family:var(--sw-body); }
/* Scroll-to-top button */
.scroll-to-top, #scroll-top, .back-to-top { background:var(--arb-navy) !important; color:#C8E64A !important; }
@media (max-width:767px) {
  .site-header .custom-logo-link img, .site-header img.custom-logo { max-height:64px !important; }
  article.inx-single-post:not(:has(.arb-article)) .content-wrap { font-size:17px; }
}
/* Mobile menu drawer: the theme paints it white; links are white, so give it the brand background */
.rd-navbar-nav-wrap, .rd-navbar-fixed .rd-navbar-nav-wrap, .rd-navbar-fixed .rd-navbar-nav { background:var(--arb-navy) !important; }
.rd-navbar-fixed .rd-navbar-nav li a { color:#fff !important; border-bottom:1px solid rgba(255,255,255,.08); }
.rd-navbar-fixed .rd-navbar-nav li.current-menu-item > a { color:#C8E64A !important; }
.rd-navbar-nav-wrap button, .rd-navbar-nav-wrap .rd-navbar-toggle { background:var(--arb-navy) !important; color:#fff !important; }

/* ==========================================================================
   Header bar as in the approved draft: one dark teal bar, horizontal logo left,
   uppercase menu right, lime underline on the current item. (Overrides the
   earlier two-row header rules above.)
   ========================================================================== */
.site-header { background:var(--arb-navy) !important; border-bottom:1px solid rgba(255,255,255,.08); position:relative; z-index:50; }
.site-header .header-middle { padding-top:0 !important; padding-bottom:0 !important; }
.site-header .custom-logo-link img, .site-header img.custom-logo { max-height:38px !important; width:auto !important; }
.rd-navbar, .rd-navbar-static, .rd-navbar--is-stuck, .rd-navbar-wrap .rd-navbar { background:transparent !important; border:0 !important; box-shadow:none !important; }
.rd-navbar-nav > li { border:0 !important; background:transparent !important; }
.rd-navbar-nav > li.menu-item-18 { display:none !important; } /* "Home": the logo links home */
@media (min-width:992px) {
  .site-header { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:0 max(24px, calc((100vw - 1300px) / 2)); }
  .site-header .header-middle { flex:0 0 auto; width:auto !important; max-width:none !important; margin:0 !important; padding:16px 0 !important; }
  .site-header .header-middle .row { margin:0 !important; flex-wrap:nowrap; }
  .site-header .logo-wrap { flex:0 0 auto !important; max-width:none !important; width:auto !important; padding:0 !important; }
  .rd-navbar-wrap { flex:1 1 auto; height:auto !important; min-height:0 !important; }
  .rd-navbar, .rd-navbar--is-stuck { position:static !important; top:auto !important; }
  .rd-navbar-outer, .rd-navbar-inner, .rd-navbar-subpanel, .rd-navbar-nav-wrap { display:flex !important; justify-content:flex-end !important; width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important; background:transparent !important; }
  .rd-navbar-nav { display:flex !important; justify-content:flex-end; gap:6px; margin:0 !important; }
  .rd-navbar-nav > li > a { position:relative; padding:24px 10px !important; font-size:15px !important; text-transform:uppercase; letter-spacing:.05em !important; color:#E6F0EF !important; background:transparent !important; }
  .rd-navbar-nav > li > a:hover { color:#fff !important; background:transparent !important; }
  .rd-navbar-nav > li > a::after { content:""; position:absolute; left:10px; right:10px; bottom:16px; height:2px; background:#C8E64A; transform:scaleX(0); transition:transform .15s ease; }
  .rd-navbar-nav > li > a:hover::after, .rd-navbar-nav > li.current-menu-item > a::after, .rd-navbar-nav > li.current-page-ancestor > a::after, .rd-navbar-nav > li.current-menu-ancestor > a::after { transform:scaleX(1); }
  .rd-navbar-nav > li.current-menu-item > a, .rd-navbar-nav > li.current-page-ancestor > a { color:#C8E64A !important; }
  .rd-navbar-social-icon { display:none !important; }
}
@media (max-width:991px) {
  .site-header .header-middle { padding:12px 16px !important; }
  .site-header .logo-wrap { display:flex !important; align-items:center; justify-content:space-between; text-align:left !important; }
  .site-header .custom-logo-link img, .site-header img.custom-logo { max-height:32px !important; }
  .site-header .inx-rd-navbar-toggle { position:static !important; margin:0 !important; background:transparent !important; border:1px solid rgba(255,255,255,.25) !important; width:44px; height:40px; display:flex !important; align-items:center; justify-content:center; }
  .rd-navbar-wrap { height:0 !important; min-height:0 !important; }
}
/* no separators or boxes between menu items (draft look) */
.rd-navbar-nav > li, .rd-navbar-nav > li > a, .rd-navbar-nav > li.current-menu-item, .rd-navbar-nav > li.current-menu-item > a { border:0 !important; box-shadow:none !important; background:transparent !important; background-image:none !important; }
.rd-navbar-nav > li::before, .rd-navbar-nav > li::after { content:none !important; display:none !important; }

/* Front page hero like the draft: attached to the header, grid lines, plane silhouette */
.home .site-content, .home #content, .home .elementor-section:first-child { padding-top:0 !important; margin-top:0 !important; }
.home .elementor-section:first-child > .elementor-container { max-width:1300px !important; }
.home .sw-hero { position:relative; overflow:hidden; border-radius:0 0 16px 16px; margin-top:-10px; background:
  linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px) 0 0/34px 34px,
  linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0/34px 34px,
  linear-gradient(115deg, var(--arb-navy) 0%, var(--arb-navy-2) 55%, #1F6FA0 120%); }
.home .sw-hero::after { content:""; position:absolute; right:-40px; bottom:-30px; width:min(46%,600px); aspect-ratio:2/1; opacity:.09; pointer-events:none;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200'%3E%3Cpath fill='%23ffffff' d='M20 100 L250 86 L300 10 L330 10 L312 86 L388 92 L388 108 L312 114 L330 190 L300 190 L250 114 L20 100Z'/%3E%3C/svg%3E"); }
.home .sw-hero > * { position:relative; z-index:1; }
.sw-home .arb-sec-head { text-align:left; max-width:none; margin-bottom:24px; }
.sw-home .arb-sec-head h2 { display:flex; align-items:center; gap:18px; text-transform:uppercase; font-size:30px; }
.sw-home .arb-sec-head h2::after { content:""; flex:1; height:2px; background:var(--arb-line); }
.sw-home .arb-sec-head .arb-kicker { display:none; }
@media (max-width:767px) { .home .sw-hero::after { opacity:.08; width:80%; } .sw-home .arb-sec-head h2 { font-size:24px; } }

/* Author photo: byline avatar, end-of-article author box, front page and About */
.arb-meta .sw-byline { gap:8px !important; }
.arb-meta .sw-byline::before { display:none !important; }
.sw-avatar { width:28px !important; height:28px !important; border-radius:50% !important; object-fit:cover; border:2px solid #C8E64A; box-shadow:none !important; margin:0 !important; }
.sw-authorbox { display:flex; gap:22px; align-items:center; margin:40px 0 0; padding:22px 24px; border-radius:12px; background:var(--arb-soft); border:1px solid var(--arb-line); }
.sw-authorbox img { flex:0 0 96px; width:96px !important; height:96px !important; border-radius:50% !important; object-fit:cover; border:3px solid #C8E64A; margin:0 !important; }
.sw-authorbox p { margin:0 0 6px !important; font-size:16px; line-height:1.6; }
.sw-authorbox-name { font-family:var(--sw-head); font-weight:700; font-size:19px !important; color:var(--arb-navy); }
.sw-authorbox > br { display:none; }
.sw-author-photo { width:140px !important; height:140px !important; border-radius:50% !important; object-fit:cover; border:4px solid #C8E64A; }
.sw-author { grid-template-columns:140px minmax(0,1fr) !important; }
.sw-about-photo { float:right; margin:0 0 20px 28px; text-align:center; }
.sw-about-photo img { width:200px !important; height:200px !important; border-radius:50% !important; object-fit:cover; border:4px solid #C8E64A; }
.sw-about-photo figcaption { font-family:var(--sw-head); font-weight:700; color:var(--arb-navy); margin-top:8px; }
@media (max-width:767px) {
  .sw-authorbox { flex-direction:column; align-items:flex-start; }
  .sw-author { grid-template-columns:1fr !important; }
  .sw-author-photo { width:96px !important; height:96px !important; }
  .sw-about-photo { float:none; margin:0 0 18px; text-align:left; }
  .sw-about-photo img { width:140px !important; height:140px !important; }
}
