/* IVK site-wide styles. Loaded by mu-plugins/ivk-custom-css.php; edit here. */
/* --- Compact header --- */
#header{min-height:0 !important}
#header-content{padding:3px 0 !important}
.topadlft,.topadrt{padding:4px 0 !important;vertical-align:middle !important}
.topadlft img,.topadrt img{max-height:46px !important;width:auto !important;height:auto !important}
.heading-date{font-size:14px !important;padding:2px 5px 5px !important;font-weight:400 !important;line-height:1.2 !important}
/* --- Larger main menu (dropdown caret space restored) --- */
#main-menu-con a{font-size:16px !important;padding:10px 15px !important;font-weight:500 !important}
#main-menu-con li.menu-item-has-children > a,#main-menu-con li.page_item_has_children > a{padding-right:30px !important}
#main-menu-con ul ul a{font-size:14px !important;padding:7px 12px !important;font-weight:400 !important}
#main-menu-con ul ul li.menu-item-has-children > a{padding-right:24px !important}
/* --- Mobile: show centered logo, tidy header --- */
@media (max-width:1023px){
  /* top dark bar: hide search + top-nav, keep a clean centred social row, no overflow */
  #top-menu-container{width:100% !important;max-width:100% !important;overflow:hidden !important;box-sizing:border-box !important;text-align:center !important;padding:7px 10px !important;min-height:0 !important;height:auto !important}
  #top-menu-container form,#top-menu-container .search-form,#top-menu-container #searchform,#top-menu-container input#s,#top-menu-container #searchsubmit{display:none !important}
  #newspress-top-menu{display:none !important}
  #social{float:none !important;display:inline-block !important;width:auto !important;margin:0 auto !important;text-align:center !important;vertical-align:middle}
  #social a{margin:0 4px !important;vertical-align:middle}

  /* logo area: centred + compact; hide date + promo */
  #header{min-height:0 !important;padding:0 !important}
  #header-content{display:block !important;text-align:center !important;padding:9px 0 5px !important}
  .topadlft{display:block !important;width:100% !important;float:none !important;text-align:center !important;padding:2px 0 !important;margin:0 auto}
  .topadlft img{max-height:46px !important;width:auto !important;display:inline-block !important;margin:0 auto}
  .topadrt{display:none !important}
  .heading-date{display:none !important}

  /* Main Menu toggle: full-width red bar, hamburger + label left */
  .mobile-menu{width:100% !important;box-sizing:border-box !important;display:flex !important;align-items:center !important;gap:12px !important;padding:14px 20px !important;margin:0 !important;font-size:16px !important;font-weight:600 !important;letter-spacing:.01em}
  #main-menu-con a{font-size:15px !important;padding:11px 16px !important}
}

/* --- MLA / candidate profile card --- */
.ivk-mla{max-width:840px;margin:0 auto 10px;background:#fff;border:1px solid #e5e9ee;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px -28px rgba(11,26,45,.4);font-family:"Hind",system-ui,sans-serif}
.ivk-mla-top{display:flex;gap:22px;padding:26px;background:linear-gradient(135deg,#0b1a2d,#123a2b);color:#fff;align-items:center}
.ivk-mla-photo{width:118px;height:150px;flex:none;border-radius:10px;object-fit:cover;background:#26405a;border:3px solid rgba(255,255,255,.15)}
.ivk-mla-head h2,.ivk-mla-head h1{font-family:"Archivo",sans-serif !important;font-weight:800 !important;font-size:26px !important;margin:0 0 4px !important;color:#fff !important;line-height:1.12 !important}
.ivk-mla-sub{opacity:.85;font-size:15px}
.ivk-mla-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
/* span AND a: the badges were inert spans and are now links to the party and
   constituency pages, and this rule carries the pill shape. Matching only the
   span would have left them as bare text the moment they became useful. */
.ivk-mla-badges span,.ivk-mla-badges a{display:inline-block;font-family:"Archivo",sans-serif;font-weight:700;font-size:12px;padding:5px 12px;border-radius:20px;text-decoration:none;transition:background .15s ease,border-color .15s ease}
.ivk-mla .b-party{background:#f26a1b;color:#fff !important}
.ivk-mla .b-cons{background:rgba(255,255,255,.14);color:#fff !important;border:1px solid rgba(255,255,255,.25)}
.ivk-mla a.b-party:hover{background:#ff8f43}
.ivk-mla a.b-cons:hover{background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.5)}
.ivk-mla a.b-party:focus-visible,.ivk-mla a.b-cons:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Shown when the register names someone else for this seat, so the page does
   not read as if a former member is still sitting. See mu-plugins/ivk-former-mla.php */
.ivk-mla-former{background:#fff4ec;border:1px solid #f26a1b;border-left-width:4px;border-radius:0 10px 10px 0;
  padding:14px 18px;margin:0 0 18px;font-size:15.5px;line-height:1.6;color:#41505f}
.ivk-mla-former strong{color:#0b1a2d}
.ivk-mla-former a{color:#d95f13;font-weight:600}

/* Photographs on the four legacy leader pages that used to run Master Slider.
   A plain grid, so the plugin and its XSS could be deactivated. */
.ivk-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0}
.ivk-photos img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid #e7ebf0}
.ivk-mla-intro{padding:20px 26px 4px;color:#33414f;font-size:15.5px;line-height:1.7}
.ivk-mla-grid{display:grid;grid-template-columns:1fr 1fr;padding:12px 26px 22px}
.ivk-mla-grid .row{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed #e5e9ee;font-size:14.5px}
.ivk-mla-grid .k{color:#5d6b7a;min-width:120px;font-weight:600}
.ivk-mla-grid .v{color:#15212e;font-weight:500}
.ivk-mla-cta{padding:16px 26px;background:#f6f8fb;border-top:1px solid #e5e9ee;font-size:14.5px}
.ivk-mla-cta a{color:#f26a1b;font-weight:700;text-decoration:none}
@media(max-width:600px){.ivk-mla-top{flex-direction:column;text-align:center}.ivk-mla-grid{grid-template-columns:1fr}}

/* --- Assembly member index --- */
.ivk-idx{font-family:"Hind",sans-serif;max-width:1120px;margin:0 auto}
.ivk-idx-lead{color:#33414f;font-size:16px;margin-bottom:18px}
.ivk-idx-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ivk-idx-jump a{font-family:"Archivo",sans-serif;font-weight:700;font-size:13px;padding:7px 14px;border-radius:20px;background:#0b1a2d;color:#fff !important;text-decoration:none}
.ivk-idx-jump a:hover{background:#f26a1b}
.ivk-idx-h{font-family:"Archivo",sans-serif !important;font-weight:800 !important;color:#0b1a2d !important;font-size:22px !important;margin:26px 0 14px !important;padding-bottom:8px;border-bottom:2px solid #f26a1b;display:flex;align-items:center;gap:10px}
.ivk-idx-h span{font-size:13px;background:#f26a1b;color:#fff;border-radius:20px;padding:2px 10px;font-weight:700}
.ivk-idx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}
.ivk-idx-card{display:flex;flex-direction:column;padding:12px 15px;border:1px solid #e5e9ee;border-radius:10px;text-decoration:none;background:#fff;transition:all .15s}
.ivk-idx-card:hover{border-color:#f26a1b;box-shadow:0 8px 20px -12px rgba(11,26,45,.4);transform:translateY(-2px)}
.ivk-idx-card b{color:#15212e;font-size:14.5px;font-weight:600}
.ivk-idx-card span{color:#5d6b7a;font-size:13px;margin-top:2px}
.ivk-idx-state{background:linear-gradient(135deg,#0b1a2d,#123a2b);border:0;padding:22px 24px}
.ivk-idx-state b{color:#fff;font-size:19px;font-family:"Archivo",sans-serif}
.ivk-idx-state span{color:#a9bccd;font-size:14px;margin-top:6px}
@media(max-width:800px){.ivk-idx-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ivk-idx-grid{grid-template-columns:1fr}}

/* --- Sidebar quick-links / homepage CTA --- */
.ivk-side{font-family:"Hind",sans-serif}
.ivk-side h4{font-family:"Archivo",sans-serif;font-weight:800;font-size:13.5px;text-transform:uppercase;letter-spacing:.04em;color:#0b1a2d;margin:16px 0 8px;padding-bottom:6px;border-bottom:2px solid #f26a1b}
.ivk-side ul{list-style:none;margin:0 0 6px;padding:0}
.ivk-side li a{display:block;padding:7px 2px;color:#33414f;text-decoration:none;font-size:14px;border-bottom:1px dashed #e5e9ee}
.ivk-side li a:hover{color:#f26a1b;padding-left:5px}
.ivk-side-cta a{display:block;background:linear-gradient(135deg,#0b1a2d,#123a2b);color:#fff !important;border-radius:12px;padding:18px;text-decoration:none;text-align:center;margin-bottom:14px}
.ivk-side-cta b{font-family:"Archivo",sans-serif;font-size:18px;display:block}
.ivk-side-cta span{font-size:13px;color:#a9bccd;display:block;margin-top:4px}

/* --- Header promo banner --- */
.topadrt{text-align:right !important}
.ivk-promo{display:inline-flex;flex-direction:column;gap:0;text-decoration:none;background:linear-gradient(135deg,#f26a1b,#e2551a);color:#fff !important;padding:5px 13px;border-radius:8px;box-shadow:0 6px 14px -8px rgba(242,106,27,.7);max-width:250px;line-height:1.15;transition:transform .15s}
.ivk-promo:hover{transform:translateY(-2px);color:#fff !important}
.ivk-promo-t{font-size:9.5px;line-height:1.15;font-weight:500;opacity:.95}
.ivk-promo-n{font-family:"Archivo",sans-serif;font-weight:800;font-size:14px;display:flex;align-items:center;gap:5px;margin-top:1px}
.ivk-promo-n svg{flex:none}

/* --- Homepage hero (fraction slider) --- */
.slider-wrapper,.slider{width:100% !important;max-width:100% !important;height:auto !important;overflow:hidden !important;margin:0 auto}
.fraction-slider{position:relative !important;width:100% !important;height:auto !important;aspect-ratio:2/1;overflow:hidden !important}
.fraction-slider .slide{position:absolute !important;top:0;left:0;width:100% !important;height:100% !important;margin:0 !important}
.fraction-slider .slide .slide-full,.fraction-slider .slide .slide-full img,.fraction-slider .slide>img{width:100% !important;height:auto !important;display:block !important}
.fraction-slider .fs-stretcher{display:none !important}

/* --- Footer: matched to new homepage design (flat inputs, orange SEND, orange accents; site-wide) --- */
#footer textarea,#footer .wpcf7-form textarea{height:62px !important;min-height:62px !important;resize:vertical}
#footer .wpcf7-form input,#footer .wpcf7-form textarea,#footer input[type=text],#footer input[type=email],#footer input[type=tel]{
  padding:10px 13px !important;font-size:13.5px !important;margin-bottom:0 !important;
  background:#fff !important;background-image:none !important;border:1px solid #565656 !important;border-radius:6px !important;
  box-shadow:none !important;color:#222 !important;-webkit-appearance:none !important;appearance:none !important;transition:border-color .15s,box-shadow .15s}
#footer .wpcf7-form input:focus,#footer .wpcf7-form textarea:focus,#footer input[type=text]:focus,#footer input[type=email]:focus,#footer input[type=tel]:focus{border-color:#f26a1b !important;outline:none !important;box-shadow:0 0 0 2px rgba(242,106,27,.20) !important}
#footer .wpcf7-form input::placeholder,#footer .wpcf7-form textarea::placeholder{color:#8c8c8c !important;opacity:1}
#footer .wpcf7-form p,#footer form p{margin:0 0 10px !important}
#footer .wpcf7-form .wpcf7-submit,#footer input[type=submit]{
  padding:13px 34px !important;font-size:15px !important;margin-top:4px !important;
  background:linear-gradient(135deg,#f26a1b,#ff8f43) !important;border:0 !important;border-radius:10px !important;box-shadow:0 10px 22px -10px rgba(242,106,27,.6) !important;text-shadow:none !important;
  color:#fff !important;font-family:"Archivo",sans-serif !important;font-weight:700 !important;text-transform:none !important;letter-spacing:.01em !important;
  cursor:pointer !important;transition:transform .15s,box-shadow .15s}
#footer .wpcf7-form .wpcf7-submit:hover,#footer input[type=submit]:hover{transform:translateY(-2px) !important;box-shadow:0 14px 26px -10px rgba(242,106,27,.7) !important}
/* The two rules above say `#footer input[type=submit]`, which also matches the
   search widget's submit button - that is an input[type=submit] inside #footer
   too. Every declaration there is !important, so on the search button it:
     - replaced the theme's `background:#111 url(images/search.png)` shorthand,
       which silently dropped the icon (the PNG was fine all along, it was just
       overwritten);
     - set border-radius:10px on all four corners, so the button stopped
       sitting flush against the square right edge of the field;
     - added margin-top:4px and padding:13px 34px, dropping it below the field
       and breaking the 35px row height.
   Reported from a screenshot and fixed 2026-09-05. Scoped here rather than by
   narrowing the selectors above, so the CF7 Send button is left exactly as it
   was - that button is the one those rules were written for.

   The icon has to be a background image. The widget renders <input
   type="submit">, which cannot contain a child element, so no <svg> can go
   inside it. Inline data URI keeps this JS-free (rule: no JS) and costs no
   extra request. White stroke, because it sits on the orange gradient. */
#footer .search-form .search-submit{
  padding:0 !important;margin:0 0 0 -5px !important;
  width:55px !important;height:100% !important;min-height:0 !important;
  border:0 !important;border-radius:0 3px 3px 0 !important;
  box-shadow:none !important;text-indent:-90000px !important;overflow:hidden !important;
  background:linear-gradient(135deg,#f26a1b,#ff8f43) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.6-3.6'/%3E%3C/svg%3E"),linear-gradient(135deg,#f26a1b,#ff8f43) !important;
  background-repeat:no-repeat,no-repeat !important;
  background-position:center center,center center !important;
  background-size:18px 18px,100% 100% !important}
/* Without this the hover rule above lifts the button 2px out of the field. */
#footer .search-form .search-submit:hover{transform:none !important;box-shadow:none !important;filter:brightness(1.07)}

/* --- Footer contact form: one left edge, one width for every row ---
   Measured in a browser on 2026-09-05: the text/email/tel fields rendered
   313px wide, the textarea 370px, the Turnstile container 430px, and the Send
   button started 7px right of all of them - so no two rows lined up. None of
   that was deliberate. The field widths came from the theme's `min-width:50%`
   plus padding, the textarea from a percentage width, and Send's indent from
   the theme's `margin:0 7px` on every input[type=submit].

   Everything below is width:100% of the 430px widget column, which is what
   the Turnstile container was already using, so that row does not move. */
#footer .wpcf7-form input[type=text],
#footer .wpcf7-form input[type=email],
#footer .wpcf7-form input[type=tel],
#footer .wpcf7-form input[type=url],
#footer .wpcf7-form input[type=number],
#footer .wpcf7-form input[type=date],
#footer .wpcf7-form select,
#footer .wpcf7-form textarea{
  width:100% !important;max-width:100% !important;min-width:0 !important;
  display:block !important;box-sizing:border-box !important}
#footer .wpcf7-form .wpcf7-form-control-wrap{display:block !important;width:100% !important}
#footer .wpcf7-form .wpcf7-submit,#footer .wpcf7-form input[type=submit]{margin-left:0 !important;margin-right:0 !important}
/* --- Credit line vs the fixed WhatsApp launcher ---
   .WhatsAppButton__root is position:fixed with inline `bottom:10px; left:10px`
   and z-index:1000, and #creditline is the last thing on the page - so the
   launcher sits on top of the copyright line and the legal links.

   Measured 2026-09-05, and it is two different problems:
     >=768px  launcher is a compact 194x66 pill at x=10, right edge 204, so
              there is sideways room - move the text right and keep a gutter
              wider than the pill.
     <=600px  launcher becomes a FULL-WIDTH bottom bar (600x91 at 600px,
              375x91 at 375px). No sideways room exists, so the only fix is
              clearance underneath. Legal links were measured at y=696-802
              against a bar starting at y=721 - almost entirely buried.

   The breakpoint is somewhere in (600, 768]; 768 is used because the compact
   pill is confirmed at exactly 768. If the launcher's own breakpoint is lower,
   the mobile treatment simply applies a little early, which costs some bottom
   padding and breaks nothing. */
@media (min-width:768px){
  /* Centred since 2026-10-15 (owner request); equal 224px gutters keep the
     centred text clear of the fixed WhatsApp pill on the left. */
  #creditline{text-align:center !important;padding-left:224px !important;padding-right:224px !important}
  #creditline .alignleft{float:none !important;display:inline !important;margin:0 !important}
}
@media (max-width:767px){
  #creditline{text-align:center !important;padding-bottom:112px !important}
  #creditline .alignleft{float:none !important;display:block !important;margin:0 0 6px !important}
  #creditline .ivk-legal-links{display:block}
}

/* footer widget titles: orange accent underline + brighter text */
#footer .widget-title{display:inline-block;color:#e8e8e8 !important;border-bottom:2px solid #f26a1b !important;padding-bottom:6px !important;margin-bottom:15px !important}
/* footer links hover orange + orange list markers */
#footer a:hover,#footer .textwidget a:hover{color:#f26a1b !important}
#footer .textwidget li::marker{color:#f26a1b}

/* --- Legal pages (Disclaimer / Privacy / Terms) readable styling --- */
.ivk-legal{max-width:920px;line-height:1.75;color:#33414f;font-size:15.5px}
.ivk-legal h2{font-family:Arial,Helvetica,sans-serif;font-weight:800;color:#0b1a2d;font-size:21px;margin:28px 0 10px;padding-bottom:7px;border-bottom:2px solid #f26a1b}
.ivk-legal h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;color:#152a44;font-size:17px;margin:18px 0 6px}
.ivk-legal p,.ivk-legal li{font-size:15.5px}
.ivk-legal ul{margin:0 0 14px 22px}
.ivk-legal a{color:#d95f13;font-weight:600}
.ivk-legal .ivk-legal-meta{color:#6d6d6d;font-size:13.5px;margin-bottom:18px;font-style:italic}
.ivk-legal .ivk-legal-box{background:#fff7f0;border:1px solid #f6c9a6;border-left:4px solid #f26a1b;border-radius:10px;padding:16px 20px;margin:20px 0}
/* --- Footer legal links row --- */
#creditline{line-height:1.7 !important}
.ivk-legal-links{display:block;margin-top:6px;font-size:12.5px;color:#8a8a8a}
.ivk-legal-links a{color:#bbbbbb !important}
.ivk-legal-links a:hover{color:#f26a1b !important}
.ivk-legal-links span.sep{margin:0 7px;color:#666}

/* --- Phase 1: CAMPAIGN nav emphasis (money section, added 2026-08-27) --- */
/* Structural selector, not a menu-item ID: item IDs change every menu rebuild. */
.menu-top_menu-container > ul > li > a[href$="/campaign/"]{color:#ff8f43 !important;font-weight:700 !important}

/* CAMPAIGN must drop its orange the moment the theme paints a background
   behind it.

   The theme gives the current item `background:rgba(250,10,10,.75); color:#fff`
   (#main-menu-con .current-menu-item > a and friends). Every other item goes
   white on that red and reads fine. CAMPAIGN kept #ff8f43 because the rule
   above is !important and the theme's white is not - orange on that red is
   about 1.6:1 contrast against the 4.5:1 WCAG minimum, so the label was
   effectively invisible on /campaign/ and every campaign child page.
   Reported and fixed 2026-09-05. */
.menu-top_menu-container > ul > li.current-menu-item > a[href$="/campaign/"],
.menu-top_menu-container > ul > li.current-menu-ancestor > a[href$="/campaign/"],
.menu-top_menu-container > ul > li.current_page_item > a[href$="/campaign/"],
.menu-top_menu-container > ul > li.current_page_ancestor > a[href$="/campaign/"],
.menu-top_menu-container > ul > li > a[href$="/campaign/"]:hover{color:#fff !important}

/* The 6px orange dot that used to sit here tried to replace the dropdown
   arrow, and lost. The theme's `#main-menu-con li.menu-item-has-children > a
   :after` carries an id, so it won the `content` property; the dot rule only
   won width/height/background. The result was the 17px Genericons chevron
   (U+F431) rendering inside a 6x6px circle and overflowing it - the stray
   arrow sitting below the CAMPAIGN label. CAMPAIGN has a submenu exactly like
   its siblings, so it now shows the same arrow they do. Removed 2026-09-05. */

/* --- Phase D: campaign lead form (.ivk-svc / .ivk-tool) --- */
/* The CF7 form markup uses .ivk-form-grid / .ivk-f, but those rules live scoped
   to .ivk-lp in template-lead-landing.php, so the form rendered completely
   unstyled on all 12 /campaign/ pages. These rules restyle it in the campaign
   scopes only - the landing page and footer forms are untouched. The checkbox
   group is new here: form 17079 had no checkboxes, so no rule existed for it. */
.ivk-svc .wpcf7-form .ivk-form-grid,
.ivk-tool .wpcf7-form .ivk-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ivk-svc .wpcf7-form .ivk-f,
.ivk-tool .wpcf7-form .ivk-f{margin:0}
.ivk-svc .wpcf7-form .ivk-f-full,
.ivk-tool .wpcf7-form .ivk-f-full{grid-column:1/-1}
.ivk-svc .wpcf7-form label,
.ivk-tool .wpcf7-form label{display:block;font-weight:600;font-size:13px;color:#0b1a2d;margin-bottom:6px}
.ivk-svc .wpcf7-form input[type=text],.ivk-svc .wpcf7-form input[type=tel],.ivk-svc .wpcf7-form input[type=email],.ivk-svc .wpcf7-form select,.ivk-svc .wpcf7-form textarea,
.ivk-tool .wpcf7-form input[type=text],.ivk-tool .wpcf7-form input[type=tel],.ivk-tool .wpcf7-form input[type=email],.ivk-tool .wpcf7-form select,.ivk-tool .wpcf7-form textarea{
  width:100%!important;padding:12px 14px!important;border:1.5px solid #e7ebf0!important;border-radius:9px!important;
  font-family:"Hind",system-ui,sans-serif!important;font-size:15px!important;color:#15212e!important;background:#fbfcfd!important;
  box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
.ivk-svc .wpcf7-form input:focus,.ivk-svc .wpcf7-form select:focus,.ivk-svc .wpcf7-form textarea:focus,
.ivk-tool .wpcf7-form input:focus,.ivk-tool .wpcf7-form select:focus,.ivk-tool .wpcf7-form textarea:focus{
  border-color:#f26a1b!important;outline:0;box-shadow:0 0 0 3px rgba(242,106,27,.14)!important}
.ivk-svc .wpcf7-form textarea,
.ivk-tool .wpcf7-form textarea{resize:vertical;min-height:88px}

/* checkbox group rendered as selectable chips */
.ivk-svc .wpcf7-form .wpcf7-checkbox,
.ivk-tool .wpcf7-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.ivk-svc .wpcf7-form .wpcf7-list-item,
.ivk-tool .wpcf7-form .wpcf7-list-item{margin:0}
.ivk-svc .wpcf7-form .wpcf7-list-item label,
.ivk-tool .wpcf7-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 14px;
  border:1.5px solid #e7ebf0;border-radius:999px;background:#fbfcfd;font-weight:600;font-size:14px;color:#33445a;cursor:pointer;
  transition:border-color .15s,background .15s}
.ivk-svc .wpcf7-form .wpcf7-list-item label:hover,
.ivk-tool .wpcf7-form .wpcf7-list-item label:hover{border-color:#f26a1b}
.ivk-svc .wpcf7-form .wpcf7-list-item input[type=checkbox],
.ivk-tool .wpcf7-form .wpcf7-list-item input[type=checkbox]{width:16px!important;height:16px!important;margin:0!important;padding:0!important;
  flex:none;accent-color:#f26a1b;border-radius:4px!important}
.ivk-svc .wpcf7-form .wpcf7-list-item label:has(input:checked),
.ivk-tool .wpcf7-form .wpcf7-list-item label:has(input:checked){border-color:#f26a1b;background:#fff4ec;color:#0b1a2d}
.ivk-svc .wpcf7-form .wpcf7-list-item-label,
.ivk-tool .wpcf7-form .wpcf7-list-item-label{line-height:1}

/* submit */
.ivk-svc .wpcf7-form .ivk-submit,
.ivk-tool .wpcf7-form .ivk-submit{margin-top:18px}
.ivk-svc .wpcf7-form .wpcf7-submit,
.ivk-tool .wpcf7-form .wpcf7-submit{width:100%;background:linear-gradient(135deg,#f26a1b,#ff8f43)!important;color:#fff!important;
  font-family:"Archivo",sans-serif!important;font-weight:800!important;font-size:17px!important;letter-spacing:0!important;
  padding:16px!important;border:0!important;border-radius:10px!important;cursor:pointer;opacity:1!important;text-shadow:none!important;
  -webkit-appearance:none;appearance:none;text-transform:none!important;
  box-shadow:0 12px 26px -10px rgba(242,106,27,.65)!important;transition:transform .15s}
.ivk-svc .wpcf7-form .wpcf7-submit:hover,
.ivk-tool .wpcf7-form .wpcf7-submit:hover{transform:translateY(-2px)}
.ivk-svc .wpcf7-spinner,.ivk-tool .wpcf7-spinner{margin:14px auto 0;display:block}
.ivk-svc .wpcf7 form .wpcf7-response-output,
.ivk-tool .wpcf7 form .wpcf7-response-output{border-radius:9px;margin:16px 0 0;padding:12px 14px;font-size:14px}
/* Turnstile sits under the fields, not squeezed beside them */
.ivk-svc .wpcf7-form .cf-turnstile,.ivk-tool .wpcf7-form .cf-turnstile{margin-top:16px}

@media(max-width:640px){
  .ivk-svc .wpcf7-form .ivk-form-grid,
  .ivk-tool .wpcf7-form .ivk-form-grid{grid-template-columns:1fr}
}

/* --- Full-width shell (header, content, footer) --- */
/* The theme wraps everything in #site-container at width:90% with a box-shadow,
   so the whole site rendered as a centred card with ~5% gutters either side.
   That clashed badly with the newer full-width .ivk-sec content bands, which
   break out to 100vw - content spanned the window while the header and footer
   stopped short. Making the shell full width lines all three up. */
#site-container{width:100% !important;max-width:100% !important;box-shadow:none !important}

/* Keep the inner gutters so text never touches the window edge. The theme
   already pads #container / #header / #footer-content by 2%; raise it slightly
   on very wide screens so lines do not run edge to edge. */
@media (min-width:1600px){
  #container,#header{padding-left:3% !important;padding-right:3% !important}
  /* 96% wide plus 3% + 3% of padding was 102%: 38px of horizontal overflow at
     1920px, measured in a browser on 2026-09-26. 94% makes it exactly 100%, as
     #footer-content already was. #header is left alone: its computed padding is
     0 (a later rule wins), so it never overflowed. */
  #container{width:94% !important}
  #footer-content{width:94% !important}
}

/* --- Compact header: live ticker bar + merged logo/menu row --- */
/* Four header rows (dark search/social strip, logo row, date line, menu bar)
   collapse to two. Ticker is a pure CSS marquee - no JavaScript, because
   debloat defers JS and has broken moving elements here before. */

/* ticker bar (reuses #top-menu-container, which was already full-width dark) */
#top-menu-container{height:auto !important;min-height:0 !important;padding:0 !important;
  width:100% !important;max-width:100% !important;background:#0b1a2d !important;overflow:hidden !important}
.ivk-tick-bar{display:flex;align-items:center;gap:14px;padding:0 16px;height:36px;box-sizing:border-box}
.ivk-tick-badge{flex:none;display:inline-flex;align-items:center;gap:6px;background:#f26a1b;color:#fff;
  font:700 11px/1 "Archivo",Arial,sans-serif;letter-spacing:.11em;padding:6px 9px;border-radius:3px}
.ivk-tick-badge i{width:6px;height:6px;border-radius:50%;background:#fff;animation:ivk-pulse 1.6s ease-in-out infinite}
@keyframes ivk-pulse{0%,100%{opacity:1}50%{opacity:.2}}
.ivk-tick-vp{flex:1 1 auto;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
.ivk-tick-track{display:flex;align-items:center;gap:34px;width:max-content;animation:ivk-tick 90s linear infinite}
.ivk-tick-track:hover{animation-play-state:paused}
@keyframes ivk-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ivk-tick-item{color:#dbe6f2 !important;font-size:13px;line-height:1;white-space:nowrap;text-decoration:none !important}
.ivk-tick-item:hover{color:#ff8f43 !important}
.ivk-tick-src{color:#8ea3ba;margin-left:8px;font-size:11.5px}
.ivk-tick-static{color:#b9c9da;font-size:13px;white-space:nowrap}
.ivk-tick-call{flex:none;display:inline-flex;align-items:center;gap:6px;color:#fff !important;
  background:linear-gradient(135deg,#f26a1b,#ff8f43);font:700 13px/1 "Archivo",Arial,sans-serif;
  padding:7px 13px;border-radius:999px;text-decoration:none !important;white-space:nowrap}
.ivk-tick-call:hover{filter:brightness(1.06)}
@media (prefers-reduced-motion:reduce){
  .ivk-tick-track{animation:none}
  .ivk-tick-badge i{animation:none}
}

/* merged row: logo left, menu right */
#header{min-height:0 !important;padding:0 !important}
#header-content{display:flex !important;align-items:center;gap:22px;width:100% !important;padding:0 !important}
.topadlft{display:block !important;width:auto !important;flex:none;padding:5px 0 !important;vertical-align:middle}
.topadlft img{max-height:46px !important;width:auto !important;display:block}
/* the theme's empty site-title anchor would otherwise take up a flex slot */
#header-content > a{display:none !important}
#header-content .site-title-hidden{display:none !important}
/* menu sits inline on the right, without the old grey bar */
#main-menu-con{flex:1 1 auto;min-width:0;float:none !important;width:auto !important;
  background:none !important;background-image:none !important;padding:0 !important;text-align:right !important}
#main-menu-con > div > ul,#main-menu-con > ul{border-left:0 !important}
#main-menu-con a{padding:12px 13px !important;border-right:0 !important}

@media (max-width:1023px){
  /* stack again on small screens; the menu returns to its full-width bar */
  #header-content{display:block !important;text-align:center !important}
  .topadlft{margin:0 auto !important}
  #main-menu-con{text-align:center !important;width:100% !important}
  .ivk-tick-bar{gap:10px;padding:0 10px;height:34px}
  .ivk-tick-call span{display:none}
  .ivk-tick-call{padding:7px 9px}
  .ivk-tick-badge{letter-spacing:.06em;padding:5px 7px}
}

/* --- Header refinements: font, right padding, logo/menu height match --- */
/* The theme sets the menu in Oswald, which is not used anywhere else in the
   current design. Archivo is the site heading face, so the nav now matches. */
#main-menu-con,
#main-menu-con a,
#main-menu-con ul li a{font-family:"Archivo",system-ui,Arial,sans-serif !important;
  font-weight:600 !important;letter-spacing:.01em !important}

/* breathing room so the last item is not flush against the window edge */
#main-menu-con{padding-right:26px !important}

/* Logo and the highlighted (current) menu block are the same height, so they
   read as one row rather than two mismatched blocks. Height is set on the
   top-level links only - submenus keep their own padding. */
#header-content{min-height:52px}
.topadlft img{height:40px !important;max-height:40px !important;width:auto !important}
#main-menu-con .menu-top_menu-container > ul > li > a,
#main-menu-con > ul > li > a{height:40px !important;line-height:40px !important;
  padding-top:0 !important;padding-bottom:0 !important;display:flex !important;
  align-items:center !important;font-size:13.5px !important}
/* the caret on parent items needs to sit inside that height too */
#main-menu-con .menu-top_menu-container > ul > li.menu-item-has-children > a,
#main-menu-con > ul > li.menu-item-has-children > a{padding-right:28px !important}

@media (max-width:1023px){
  /* stacked layout: let the links breathe again, drop the fixed height */
  #main-menu-con{padding-right:0 !important}
  #main-menu-con .menu-top_menu-container > ul > li > a,
  #main-menu-con > ul > li > a{height:auto !important;line-height:1.5 !important;
    padding:11px 14px !important;display:block !important}
  .topadlft img{height:38px !important;max-height:38px !important}
}

/* --- Election texture on inner heroes and the footer --- */
/* The homepage hero carries a faint grid; the inner-page heroes had nothing,
   so they read as flat blocks of colour beside it. This adds the same grid
   plus a tiled ballot-and-tick motif, drawn in CSS so there are no extra image
   requests. Deliberately faint - texture, not decoration competing with the
   headline. */
.ivk-svc-hero,.ivk-con-hero,.ivk-hub-head,.ivk-cidx-head,.ivk-tool-hero,.ivk-pghero{position:relative;overflow:hidden}
.ivk-svc-hero::before,.ivk-con-hero::before,.ivk-hub-head::before,.ivk-cidx-head::before,.ivk-tool-hero::before,.ivk-pghero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' opacity='0.05'%3E%3Crect x='26' y='26' width='44' height='44' rx='7'/%3E%3Cpath d='M37 49l9 9 17-20'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:120px 120px,46px 46px,46px 46px;
  -webkit-mask-image:radial-gradient(125% 95% at 50% 0,#000,transparent 78%);
  mask-image:radial-gradient(125% 95% at 50% 0,#000,transparent 78%);
}
/* keep hero content above the texture layer */
.ivk-svc-hero .ivk-wrap,.ivk-con-hero .ivk-wrap,.ivk-hub-head .ivk-wrap,.ivk-cidx-head .ivk-wrap,.ivk-tool-hero .ivk-wrap{position:relative;z-index:1}

/* Footer: navy to match the rest of the site, same motif, plus a warm glow.
   The old #333 grey and red top border were left over from the previous
   colour scheme and clashed with the navy/orange design. */
#footer{position:relative;overflow:hidden;
  background:linear-gradient(180deg,#0b1a2d 0%,#091624 60%,#07111c 100%) !important;
  border-top:3px solid #f26a1b !important}
#footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' opacity='0.05'%3E%3Crect x='26' y='26' width='44' height='44' rx='7'/%3E%3Cpath d='M37 49l9 9 17-20'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(760px 320px at 88% 0%,rgba(242,106,27,.13),transparent 62%),
    radial-gradient(620px 300px at 6% 100%,rgba(15,138,79,.10),transparent 60%);
  background-size:120px 120px,cover,cover;
}
#footer-content,#footer-sidebar,#creditline,#footer .widget{position:relative;z-index:1}
#footer .widget-title{color:#eef4fa !important}
#footer,#footer p,#footer li,#footer .textwidget{color:#c3d0de}
#footer a{color:#dbe6f2}

/* --- Hub pages whose body is prose rather than a card grid --- */
/* template-hub.php lists child pages. Election News has none, so its body is
   written as page content instead. .ivk-hub *{margin:0;padding:0} in that
   template strips the browser defaults, so the elements the prose actually
   uses need them back. */
.ivk-hub-intro h2{font-family:"Archivo",sans-serif;font-weight:800;font-size:22px;letter-spacing:-.01em;
  color:#0b1a2d;margin:32px 0 12px}
.ivk-hub-intro h2:first-child{margin-top:0}
.ivk-hub-intro ul{list-style:disc;margin:0 0 14px;padding-left:22px}
.ivk-hub-intro li{margin-bottom:7px}
.ivk-hub-intro .ivk-note{font-size:14.5px;color:#5d6b7a;margin:8px 0 0}

/* --- Hero band for theme-template pages (.ivk-pghero) --- */
/* Election pages, MLA profiles and indexes, voter guides and the legal pages
   use the theme's own fullwidth.php / page.php and were the last page types
   still showing a bare title. This gives them the same navy hero as every
   custom template.

   Rendered from header.php as a direct child of #site-container, which is
   already the width of the window, so this is a plain 100% block. Do NOT give
   it the width:100vw; left:50%; margin-left:-50vw breakout the .ivk-sec bands
   use: that only reaches the window edge when the containing block is centred,
   and page.php puts its content in a left-floated #content beside
   #right-sidebar. Inside that column the band drifted
   (containerWidth - contentWidth) / 2 leftwards, 184px at 1280px, which pushed
   the page heading off-screen on 2,269 pages. */
.ivk-pghero{position:relative;overflow:hidden;width:100%;margin-bottom:26px;
  background:radial-gradient(900px 420px at 82% -18%,rgba(242,106,27,.26),transparent 58%),
             linear-gradient(160deg,#0b1a2d,#0e2438 60%,#0b1a2d);
  color:#eaf1f8;padding:44px 0 40px}
.ivk-pghero-in{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:0 22px}
.ivk-pghero .eb{display:block;font-family:"Archivo",Arial,sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.18em;text-transform:uppercase;color:#ff8f43;margin-bottom:12px}
.ivk-pghero h1{font-family:"Archivo",Arial,sans-serif;font-weight:800;
  font-size:clamp(25px,4vw,40px);line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0;
  text-shadow:none;text-transform:none;max-width:24ch}
.ivk-pghero p{margin:13px 0 0;color:#b9c9da;font-size:17px;max-width:66ch;
  font-family:"Hind",system-ui,sans-serif}
/* The theme puts a decorative rule under the old title - not needed now. This
   was an adjacent-sibling rule until the hero moved out of #content and the
   two stopped being siblings; the body class is set alongside the hero in
   mu-plugins/ivk-page-hero.php. */
body.ivk-has-pghero .content-ver-sep{display:none}
@media(max-width:640px){.ivk-pghero{padding:32px 0 30px;margin-bottom:20px}}

/* --- Election page content: tally chart, Hindi block, process, FAQ --- */
.ivk-chart{width:100%;max-width:680px;height:auto;margin:14px 0 6px;font-family:"Hind",system-ui,sans-serif}
.ivk-chart-lab{font-size:13px;fill:#33445a;font-weight:600}
.ivk-chart-val{font-size:13px;fill:#5d6b7a;font-weight:700}
.ivk-chart-note{font-size:14px;color:#5d6b7a;max-width:70ch}

/* Hindi summary - Devanagari needs a little more line height to breathe */
.ivk-hi{background:#f5f8fb;border-left:4px solid #f26a1b;border-radius:0 10px 10px 0;
  padding:16px 20px;margin:14px 0 6px;line-height:1.85;font-size:16.5px;color:#25313f}
.ivk-hi p{margin:0 0 10px}
.ivk-hi p:last-child{margin:0}
.ivk-hi a{color:#d95f13;font-weight:600}
/* The scoped templates reset every descendant with .ivk-xxx *{margin:0;padding:0}.
   That ties with .ivk-hi on specificity and is emitted after this file, so it
   wins on source order and flattens the block. Two classes settle it. */
.ivk-con .ivk-hi,.ivk-svc .ivk-hi,.ivk-tool .ivk-hi,.ivk-cidx .ivk-hi,.ivk-hub .ivk-hi{padding:16px 20px;margin:14px 0 6px}
.ivk-con .ivk-hi p,.ivk-svc .ivk-hi p,.ivk-tool .ivk-hi p,.ivk-cidx .ivk-hi p,.ivk-hub .ivk-hi p{margin:0 0 10px}
.ivk-con .ivk-hi p:last-child,.ivk-svc .ivk-hi p:last-child,.ivk-tool .ivk-hi p:last-child,.ivk-cidx .ivk-hi p:last-child,.ivk-hub .ivk-hi p:last-child{margin:0}
/* the scoped templates also flatten the heading above the block */
.ivk-cidx .ivk-hi+*,.ivk-hub h2[lang=hi],.ivk-cidx h2[lang=hi]{margin-top:0}
.ivk-hub h2[lang=hi],.ivk-cidx h2[lang=hi]{margin:26px 0 12px}

/* numbered process list */
.ivk-steps-n{margin:12px 0 6px;padding-left:22px;line-height:1.75}
.ivk-steps-n li{margin-bottom:7px}
.ivk-steps-n strong{color:#0b1a2d}

/* FAQ */
.ivk-faq2{margin:12px 0 6px}
.ivk-faq2 dt{font-weight:700;color:#0b1a2d;margin-top:15px}
.ivk-faq2 dd{margin:4px 0 0;color:#41505f}

@media(max-width:640px){
  .ivk-chart{max-width:100%}
  .ivk-hi{padding:14px 16px;font-size:16px}
  /* the two-class overrides above outrank a single class, and a media query
     adds no specificity, so they have to be repeated here to shrink */
  .ivk-con .ivk-hi,.ivk-svc .ivk-hi,.ivk-tool .ivk-hi,.ivk-cidx .ivk-hi,.ivk-hub .ivk-hi{padding:14px 16px}
}

/* Archived legacy profile notice - mu-plugins/ivk-archived-profile.php.
   Orange rail rather than a warning red: this is context, not an error. */
.ivk-archived{background:#fff8f2;border:1px solid #f6d8c0;border-left:4px solid #f26a1b;
  border-radius:6px;padding:14px 18px;margin:0 0 22px;color:#41505f;font-size:15px;line-height:1.55}
.ivk-archived .ivk-archived-h{display:block;font-weight:700;color:#0b1a2d;font-size:16px;margin-bottom:5px}
.ivk-archived b{color:#0b1a2d;font-weight:700}
.ivk-archived a{color:#0b1a2d;text-decoration:underline}
.ivk-archived a:hover{color:#f26a1b}

@media(max-width:640px){
  /* after the main rule, not before it: equal specificity means the
     later declaration wins, and a media query adds none. */
  .ivk-archived{padding:12px 14px;font-size:14px}
}

/* Hero avatar on MLA profiles - mu-plugins/ivk-page-hero.php. The portrait
   moves into the hero; the theme's 900x450 face crop is suppressed and the
   card's own small photo is hidden, so it appears once. Added 2026-10-15. */
.ivk-pghero-av{display:flex;align-items:center;gap:26px}
.ivk-pghero-ph{flex:none;width:118px;height:118px;border-radius:50%;overflow:hidden;
  border:3px solid #f26a1b;box-shadow:0 0 0 6px rgba(255,255,255,.07);background:#26405a}
.ivk-pghero .ivk-pghero-ph img{width:100%;height:100%;max-width:none;object-fit:cover;
  object-position:50% 18%;display:block;margin:0;border:0}
.ivk-pghero-tx{min-width:0}
body.ivk-pghero-avatar .ivk-mla-top .ivk-mla-photo{display:none}
/* Hero state map for profiles without a portrait - same slot as the avatar.
   The credit line is the CC BY 2.5 India attribution for DataMeet. */
.ivk-pghero-map{flex:none;width:118px;height:118px;display:flex;align-items:center;justify-content:center}
.ivk-pghero-svg{width:100%;height:100%;overflow:visible;display:block}
.ivk-pghero-cr{position:absolute;right:16px;bottom:8px;z-index:1;font-size:10.5px;
  font-family:"Hind",system-ui,sans-serif;color:rgba(185,201,218,.55);letter-spacing:.02em}
@media(max-width:640px){
  .ivk-pghero-av{gap:16px}
  .ivk-pghero-ph{width:78px;height:78px;border-width:2px;box-shadow:0 0 0 4px rgba(255,255,255,.07)}
  .ivk-pghero-map{width:78px;height:78px}
  .ivk-pghero-cr{right:12px;bottom:6px;font-size:10px}
}
/* --- Page width, sitewide (2026-10-15) ---
   1. No sideways scroll. AdSense auto-ad hosts are positioned up to 1200px
      wide past the right edge, which widened pages to ~1,920px; on a large
      screen visitors could scroll sideways and see content cut off on the left.
      overflow-x:clip (not hidden) does not create a scroll container, so
      position:sticky keeps working.
   2. On wide screens the theme's #container (96% wide, no maximum) is capped to
      the page hero's column: 1204px border-box less 22px padding each side = the 1160px text column of .ivk-pghero-in, which is content-box, so content
      starts under the hero title on every template. Narrower screens keep the
      theme's own percentages. After the 1600px rule above on purpose: that one
      is !important too, and the later declaration wins.
   3. MLA profiles (body.ivk-profile, set in ivk-page-hero.php): everything
      below the profile card takes the card's 840px centred column. */
html,body{overflow-x:clip}
@media(min-width:1200px){
  #container{max-width:1204px;width:auto !important;box-sizing:border-box;
    padding-left:22px !important;padding-right:22px !important;margin-left:auto;margin-right:auto}
}
body.ivk-profile #content-full .entrytext{max-width:842px;margin-left:auto;margin-right:auto}

/* Campaign hero photo - mu-plugins/ivk-campaign-hero.php (2026-10-15).
   Photo and shade sit at z-index 0 under the hero's .ivk-wrap (z-index 1);
   the shade is navy on the left where the text is and clears to the right
   where the photo's subject is. On narrow screens the text spans the width,
   so the shade goes uniform. */
.ivk-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;border:0;
  object-fit:cover;object-position:72% 50%;z-index:0;display:block}
.ivk-hero-shade{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,26,45,.97) 0%,rgba(11,26,45,.9) 36%,rgba(11,26,45,.5) 66%,rgba(11,26,45,.22) 100%)}
.ivk-hero-credit{position:absolute;right:14px;bottom:10px;z-index:1;font-family:"Hind",system-ui,sans-serif;
  font-size:11px;color:rgba(234,241,248,.72);text-shadow:0 1px 2px rgba(0,0,0,.6)}
@media(max-width:760px){
  .ivk-hero-photo{object-position:68% 50%}
  .ivk-hero-shade{background:linear-gradient(180deg,rgba(11,26,45,.8),rgba(11,26,45,.9))}
}
/* Constituency heroes are shorter and their scenes darker, so the campaign
   shade hid the image: dark only behind the text, clear to the right. */
.ivk-hero-shade--place-hero,.ivk-hero-shade--election-hero{background:linear-gradient(90deg,rgba(11,26,45,.93) 0%,rgba(11,26,45,.8) 32%,rgba(11,26,45,.35) 58%,rgba(11,26,45,.08) 100%)}
@media(max-width:760px){.ivk-hero-shade--place-hero,.ivk-hero-shade--election-hero{background:linear-gradient(180deg,rgba(11,26,45,.62),rgba(11,26,45,.78))}}
/* Menus in the site palette (2026-10-25). The theme painted the mobile
   "Main Menu" bar, the dropdowns and the current/hover item red
   (rgba(250,10,10,...)), against §9's "no red anywhere". Navy with an orange
   rule instead; white on navy is about 17:1. */
.mobile-menu{background:#0b1a2d !important;color:#fff !important;border-bottom:3px solid #f26a1b !important}
#main-menu-con ul ul,#main-menu-con .sub-menu{background:#0b1a2d !important;border-bottom-color:#f26a1b !important}
#newspress-main-menu a:hover,#main-menu-con .current-menu-item > a,#main-menu-con .selected a,#main-menu-con .current-menu-ancestor > a,#main-menu-con .current_page_item > a,#main-menu-con .current_page_ancestor > a{background:#0b1a2d !important;color:#fff !important;box-shadow:inset 0 -3px 0 #f26a1b}
#main-menu-con ul ul a:hover,#main-menu-con ul ul .current-menu-item > a,#main-menu-con ul ul .current-menu-ancestor > a,#main-menu-con ul ul .current_page_item > a,#main-menu-con ul ul .current_page_ancestor > a{background:#1c3557 !important;box-shadow:none}

/* Legal pages: tables, ordered lists and cookie names (2026-10-25). */
.ivk-legal ol{margin:0 0 14px 22px}
.ivk-legal table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:14.5px;line-height:1.55}
.ivk-legal th,.ivk-legal td{border:1px solid #e1e6ec;padding:8px 10px;text-align:left;vertical-align:top}
.ivk-legal th{background:#f4f6f9;color:#0b1a2d;font-weight:700}
.ivk-legal code{font-size:13px;background:#f4f6f9;padding:1px 4px;border-radius:4px}
@media(max-width:600px){.ivk-legal table{display:block;overflow-x:auto}}
/* Footer legal row rendered from the "Footer legal links" menu. */
.ivk-legal-links ul{list-style:none;margin:0;padding:0;display:inline}
.ivk-legal-links li{display:inline}
.ivk-legal-links li+li:before{content:"\00b7";margin:0 7px;color:#666}
