/*
Theme Name: Orbital Service Theme
Theme URI: https://connormoizer.com/
Author: Connor Moizer
Author URI: https://connormoizer.com/
Description: Generic agency-style WordPress theme with CMUK-style main and service headers, service header on by default with Home toggle and Contact hidden by default, expanded post/blog/live-blog service header support with Display Rules respected, full-width single-site and multisite search results, independent CPT display controls, per-CPT service title URL dropdowns, multisite main-site URL option, main-site title override option, source-site-safe multisite menu link syncing, main-site header search URL, shared visible 404 layout, matching Home-style page-title checkboxes for pages and every registered CPT, automatic forced page/CPT titles above Elementor content, and Customizer controls sorted into clear tab-like sections, with CMUK-style lower footer credit bar using inline year, full site name, and made-with-love credit.
Version: 1.0.81
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: orbital-service-theme
Copyright: Copyright © Connor Moizer. All rights reserved.
*/

:root{
  --ost-bg:#000000;
  --ost-bg-2:#1b1f2a;
  --ost-text:#ffffff;
  --ost-muted:#9b9ba3;
  --ost-accent:#ff4b2b;
  --ost-link:#1d70b8;
  --ost-footer:#000000;
  --ost-max:1280px;
  --ost-pad:10px;
  font-size:16px;
}
*{box-sizing:border-box;}
html{font-size:16px;}
body{margin:0;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;}
a{color:var(--ost-link);}
a:hover,a:focus{background:transparent;text-decoration:underline;text-underline-offset:4px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ost-wrap{max-width:var(--ost-max);margin:0 auto;padding-left:var(--ost-pad);padding-right:var(--ost-pad);}
.site{min-height:100vh;display:flex;flex-direction:column;}
.site-main{flex:1 0 auto;display:block;min-height:0;}
.ost-home-blank-main{padding:0;margin:0;}

/* MAIN GLOBAL HEADER: title left, logo centre, menu right */
.ost-global-header{background:var(--ost-bg);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:50;}
.ost-global-header a{color:#fff;text-decoration:none;}
.ost-header-row,.ost-global-row{min-height:86px;display:flex;align-items:center;gap:24px;position:relative;}
.ost-title-brand{order:1;display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:42%;color:#fff!important;text-decoration:none!important;z-index:3;}
.ost-site-title{font-size:22px;font-weight:900;line-height:1.1;letter-spacing:.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ost-site-description{display:block;font-size:13px;color:#d7dbe7;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ost-center-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;text-decoration:none!important;color:#fff!important;z-index:2;}
.ost-brand-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#fff 0 8%,#2f83ff 9% 38%,#071225 39% 100%);box-shadow:0 0 0 2px rgba(255,255,255,.75);}
.ost-brand-mark span{width:38px;height:4px;background:var(--ost-accent);display:block;transform:rotate(-18deg);border-radius:99px;}
.ost-global-header .ost-brand{display:none!important;}
.ost-nav-toggle,.ost-mobile-toggle,.ost-service-mobile-toggle{display:none;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit;font:inherit;font-size:16px;font-weight:900;padding:10px 0!important;cursor:pointer;border-radius:0;}
.ost-nav-toggle:after,.ost-mobile-toggle:after,.ost-service-mobile-toggle:after{content:'+';display:inline-block;margin-left:9px;font-weight:900;}
.ost-nav-toggle[aria-expanded="true"]:after,.ost-mobile-toggle[aria-expanded="true"]:after,.ost-service-mobile-toggle[aria-expanded="true"]:after{content:'−';}
.ost-primary-nav{order:3;margin-left:auto;display:flex;align-items:center;z-index:4;}
.ost-search-link{margin-left:18px;border-left:1px solid rgba(255,255,255,.25);padding-left:18px;color:#fff!important;font-weight:900;}

/* SHARED MENU + ACCORDION */
.ost-menu,.ost-header-menu,.ost-service-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px;line-height:1.2;}
.ost-menu li,.ost-header-menu li,.ost-service-menu li{position:relative;}
.ost-menu a,.ost-header-menu a,.ost-service-menu a{display:block;font-size:16px;font-weight:800;text-decoration:none;background:transparent;padding:18px 13px;color:inherit;}
.ost-menu a:hover,.ost-menu a:focus,.ost-header-menu a:hover,.ost-header-menu a:focus,.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent;text-decoration:underline;text-underline-offset:4px;}
.ost-menu .sub-menu,.ost-header-menu .sub-menu,.ost-service-menu .sub-menu{display:none;position:absolute;z-index:60;top:100%;left:0;min-width:240px;background:#161b28;padding:8px 0;margin:0;list-style:none;border-top:3px solid var(--ost-accent);box-shadow:0 12px 28px rgba(0,0,0,.35);}
.ost-menu li:hover>.sub-menu,.ost-menu li:focus-within>.sub-menu,.ost-header-menu li:hover>.sub-menu,.ost-header-menu li:focus-within>.sub-menu,.ost-service-menu li:hover>.sub-menu,.ost-service-menu li:focus-within>.sub-menu{display:block;}
.ost-menu .sub-menu a,.ost-header-menu .sub-menu a,.ost-service-menu .sub-menu a{padding:12px 16px;}
.ost-menu-item-wrap{display:flex;align-items:stretch;}
.ost-menu-item-wrap>a{flex:1;}
.ost-submenu-toggle{display:none;background:transparent;border:0;color:inherit;font:inherit;font-size:16px;font-weight:900;min-width:48px;padding:0 12px;cursor:pointer;}
.ost-submenu-toggle:before{content:'+';font-size:22px;line-height:1;font-weight:900;}
li.is-open>.ost-menu-item-wrap>.ost-submenu-toggle:before,.ost-submenu-toggle[aria-expanded="true"]:before{content:'−';}

/* SERVICE / MISSION HEADER: separate menu, NASA-like dark strip */
.ost-service-header{background:#1b1f2a;background:var(--ost-bg-2);color:#fff;border-top:0!important;border-bottom:1px solid rgba(255,255,255,.18);position:relative;z-index:40;}
.ost-service-header a{color:#fff!important;text-decoration:none;background:transparent!important;}
.ost-service-row{min-height:72px;display:flex;align-items:center;gap:24px;}
.ost-service-brand{display:flex;flex-direction:column;justify-content:center;min-width:230px;color:#fff!important;text-decoration:none!important;}
.ost-service-title{font-size:22px;font-weight:900;line-height:1.1;color:#fff;white-space:nowrap;}
.ost-service-description{font-size:13px;color:#d7dbe7;margin-top:3px;}
.ost-service-nav-panel{margin-left:auto;display:flex;align-items:center;background:transparent;}
.ost-service-menu .sub-menu{background:#1b1f2a;background:var(--ost-bg-2);}
.ost-service-menu a{color:#fff!important;}
.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent!important;color:#fff!important;}
.ost-service-mobile-toggle,.ost-mobile-toggle{border:0!important;outline:0;box-shadow:none!important;background:transparent!important;}

/* PAGE TITLE: white, no breadcrumbs, no coloured background */
.ost-page-title,.ost-page-title-white{background:#fff!important;color:#111!important;border:0!important;}
.ost-page-title .ost-wrap,.ost-page-title-white .ost-wrap{padding-top:88px!important;padding-bottom:28px!important;}
.ost-page-title h1,.ost-page-title-white h1{color:#111!important;background:transparent!important;font-size:clamp(58px,10vw,112px)!important;line-height:.92!important;letter-spacing:-.055em!important;font-weight:900!important;margin:0!important;}
.ost-breadcrumbs{display:none!important;}

/* CONTENT */
.ost-content-shell{padding:42px 0;}
.ost-main-content{width:100%;max-width:1280px;margin:0 auto;padding-left:10px;padding-right:10px;}
.ost-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:34px;align-items:start;}
.ost-main,.ost-entry{min-width:0;}
.ost-main-content img,.ost-main img{max-width:100%;height:auto;}
.ost-main h1,.ost-main h2,.ost-main h3,.ost-entry h1,.ost-entry h2,.ost-entry h3{line-height:1.15;}
.wp-caption-text,.ost-alt-caption{display:block;font-size:16px;color:#505a66;margin-top:8px;}
.ost-sidebar{border-left:1px solid #d6d8de;padding-left:24px;}
.ost-sidebar .widget{margin-bottom:26px;}
.ost-sidebar .widget-title{font-size:19px;margin:0 0 12px;color:#111;background:transparent!important;}

/* FOOTER */
.ost-footer,.ost-footer *,.ost-connor-meta-footer,.ost-connor-meta-footer *{font-size:16px!important;box-sizing:border-box;}
.ost-connor-meta-footer{--ost-footer-label-width:23ch;background:#000!important;color:#8f8f98!important;width:100%;border:0!important;margin-top:auto;min-height:0!important;display:block;font-family:Arial,Helvetica,sans-serif;}
.ost-connor-footer-wrap{width:100%;max-width:1280px;margin:0 auto;padding:34px 10px!important;}
.ost-connor-footer-line{display:grid!important;grid-template-columns:var(--ost-footer-label-width) minmax(0,1fr);column-gap:12px;align-items:baseline;margin:0 0 10px!important;padding:0;color:#8f8f98!important;line-height:1.45!important;font-weight:400!important;letter-spacing:0;}
.ost-connor-footer-line:last-child{margin-bottom:0!important;}
.ost-connor-footer-label{color:#8f8f98!important;font-weight:400!important;white-space:nowrap;}
.ost-connor-footer-line strong{color:#9b9ba3!important;font-weight:800!important;margin-left:0!important;white-space:nowrap;}
.ost-connor-meta-footer a{color:#fff!important;background:transparent!important;}

.ost-cmuk-credit-footer{background:#000!important;border-top:1px solid rgba(255,255,255,.18);color:#fff!important;width:100%;font-size:16px!important;line-height:1.45!important;}
.ost-cmuk-credit-wrap{max-width:1280px;margin:0 auto;padding:14px 10px!important;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;white-space:normal;overflow:visible;text-align:center;}
.ost-cmuk-credit-footer,.ost-cmuk-credit-footer *{font-size:16px!important;box-sizing:border-box;}
.ost-cmuk-credit-footer a{color:#fff!important;text-decoration:none!important;background:transparent!important;font-weight:700!important;}
.ost-cmuk-credit-footer a:hover,.ost-cmuk-credit-footer a:focus{text-decoration:underline!important;background:transparent!important;}
.ost-cmuk-credit-separator{color:#9b9ba3!important;margin:0 4px;}

/* MOBILE */
@media(max-width:860px){
  .ost-header-row,.ost-global-row{min-height:88px;gap:12px;}
  .ost-title-brand{max-width:42%;}
  .ost-site-title{font-size:20px!important;}
  .ost-site-description{display:none;}
  .ost-center-logo .ost-brand-mark{width:52px;height:52px;}
  .ost-mobile-toggle{display:block;margin-left:auto;order:3;color:#fff!important;z-index:5;}
  .ost-primary-nav{display:none;position:absolute;z-index:70;top:88px;left:0;right:0;margin-left:0;background:var(--ost-bg);border-top:1px solid rgba(255,255,255,.18);}
  .ost-primary-nav.is-open{display:block;}
  .ost-search-link{display:block;margin-left:0;padding:15px 10px;border-left:0;border-top:1px solid rgba(255,255,255,.16);color:#fff!important;}
  .ost-service-row{min-height:72px;gap:12px;}
  .ost-service-brand{min-width:0;max-width:calc(100% - 90px);}
  .ost-service-title{font-size:20px!important;}
  .ost-service-description{display:none;}
  .ost-service-mobile-toggle{display:block;margin-left:auto;color:#fff!important;}
  .ost-service-nav-panel{display:none;position:absolute;z-index:65;top:72px;left:0;right:0;margin-left:0;background:#1b1f2a;background:var(--ost-bg-2);border-top:1px solid rgba(255,255,255,.18);}
  .ost-service-nav-panel.is-open{display:block;}
  .ost-menu,.ost-header-menu,.ost-service-menu{display:block;width:100%;}
  .ost-menu li,.ost-header-menu li,.ost-service-menu li{display:block;}
  .ost-menu-item-wrap{border-top:1px solid rgba(255,255,255,.16);}
  .ost-menu a,.ost-header-menu a,.ost-service-menu a{padding:15px 10px;border-top:1px solid rgba(255,255,255,.16);}
  .ost-menu-item-wrap>a{border-top:0!important;}
  .ost-submenu-toggle{display:block;border-left:1px solid rgba(255,255,255,.16);}
  .ost-menu .sub-menu,.ost-header-menu .sub-menu,.ost-service-menu .sub-menu{display:none!important;position:static;min-width:0;background:rgba(255,255,255,.045);box-shadow:none;border-top:0;padding:0;overflow:hidden;}
  .ost-menu li.is-open>.sub-menu,.ost-header-menu li.is-open>.sub-menu,.ost-service-menu li.is-open>.sub-menu{display:block!important;}
  .ost-menu li:hover>.sub-menu,.ost-menu li:focus-within>.sub-menu,.ost-header-menu li:hover>.sub-menu,.ost-header-menu li:focus-within>.sub-menu,.ost-service-menu li:hover>.sub-menu,.ost-service-menu li:focus-within>.sub-menu{display:none!important;}
  .ost-menu li.is-open>.sub-menu,.ost-header-menu li.is-open>.sub-menu,.ost-service-menu li.is-open>.sub-menu{display:block!important;}
  .ost-menu .sub-menu a,.ost-header-menu .sub-menu a,.ost-service-menu .sub-menu a{padding-left:28px;}
  .ost-menu .sub-menu .sub-menu a,.ost-header-menu .sub-menu .sub-menu a,.ost-service-menu .sub-menu .sub-menu a{padding-left:46px;}
  .ost-menu .sub-menu .sub-menu .sub-menu a,.ost-header-menu .sub-menu .sub-menu .sub-menu a,.ost-service-menu .sub-menu .sub-menu .sub-menu a{padding-left:64px;}
  .ost-page-title .ost-wrap,.ost-page-title-white .ost-wrap{padding-top:92px!important;padding-bottom:24px!important;}
  .ost-page-title h1,.ost-page-title-white h1{font-size:clamp(58px,18vw,92px)!important;}
  .ost-layout{display:block;}
  .ost-sidebar{border-left:0;border-top:1px solid #d6d8de;margin-top:28px;padding-left:0;padding-top:24px;}
  .ost-connor-footer-wrap{padding:30px 10px!important;}
}
@media(max-width:620px){
  .ost-connor-meta-footer{--ost-footer-label-width:22ch;}
  .ost-connor-footer-wrap{padding:26px 10px!important;}
  .ost-connor-footer-line{column-gap:10px;}
}
@media(max-width:380px){
  .ost-connor-meta-footer{--ost-footer-label-width:21ch;}
  .ost-connor-footer-line{column-gap:8px;}
}


/* v1.0.14: initials title + NASA-style white service header + CMUK borderless buttons */
.ost-global-header .ost-title-brand{
  flex:0 0 auto!important;
  max-width:130px!important;
  min-width:0!important;
}
.ost-site-title{
  display:inline-block!important;
  font-size:22px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  max-width:90px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ost-service-header{
  background:#ffffff!important;
  color:#111111!important;
  border-top:0!important;
  border-bottom:1px solid #d0d0d0!important;
}
.ost-service-header a,
.ost-service-title,
.ost-service-mobile-toggle,
.ost-service-header .ost-nav-toggle,
.ost-service-header .ost-submenu-toggle{
  color:#111111!important;
}
.ost-service-description{color:#555555!important;}
.ost-service-nav-panel{background:#ffffff!important;color:#111111!important;}
.ost-service-menu .sub-menu{background:#ffffff!important;border-top:1px solid #d0d0d0!important;box-shadow:0 12px 24px rgba(0,0,0,.12)!important;}
.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent!important;color:#111111!important;}
.ost-nav-toggle,
.ost-mobile-toggle,
.ost-service-mobile-toggle{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:860px){
  .ost-global-header .ost-title-brand{max-width:96px!important;}
  .ost-site-title{font-size:20px!important;max-width:76px!important;}
  .ost-service-row{min-height:72px!important;background:#ffffff!important;color:#111111!important;}
  .ost-service-mobile-toggle{color:#111111!important;background:transparent!important;border:0!important;box-shadow:none!important;}
  .ost-service-nav-panel{top:72px!important;background:#ffffff!important;border-top:1px solid #d0d0d0!important;}
  .ost-service-menu a{color:#111111!important;border-top:1px solid #d0d0d0!important;background:#ffffff!important;}
  .ost-service-menu .ost-menu-item-wrap{border-top:1px solid #d0d0d0!important;background:#ffffff!important;}
  .ost-service-menu .ost-submenu-toggle{border-left:1px solid #d0d0d0!important;color:#111111!important;background:#ffffff!important;}
  .ost-service-menu .sub-menu{background:#f6f6f6!important;border-top:0!important;box-shadow:none!important;}
  .ost-service-menu .sub-menu a{background:#f6f6f6!important;color:#111111!important;}
}


/* v1.0.15 proper service header: light black NASA-style strip, CMUK borderless buttons */
.ost-service-header{background:#1b1f2a!important;color:#fff!important;border-top:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important;}
.ost-service-header .ost-wrap,.ost-service-row,.ost-service-brand,.ost-service-nav-panel{background:transparent!important;}
.ost-service-header a,.ost-service-title,.ost-service-description,.ost-service-menu a{color:#fff!important;background:transparent!important;}
.ost-service-header button,.ost-service-mobile-toggle,.ost-service-header .ost-submenu-toggle{border:0!important;box-shadow:none!important;background:transparent!important;color:#fff!important;}
.ost-service-menu .sub-menu{background:#1b1f2a!important;border-top:1px solid rgba(255,255,255,.18)!important;}
.ost-service-menu a:hover,.ost-service-menu a:focus{background:transparent!important;color:#fff!important;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:860px){.ost-service-nav-panel{background:#1b1f2a!important;}.ost-service-menu .sub-menu{position:static!important;background:#1b1f2a!important;box-shadow:none!important;border-top:0!important;}.ost-service-menu a{border-bottom:1px solid rgba(255,255,255,.14)!important;}}


/* v1.0.16: smaller service header + forced white menu text */
.ost-service-header{
  background:#1b1f2a!important;
  color:#ffffff!important;
}
.ost-service-row{
  min-height:58px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.ost-service-title{
  font-size:20px!important;
  color:#ffffff!important;
}
.ost-service-description{
  display:none!important;
}
.ost-service-mobile-toggle,
.ost-service-mobile-toggle:before,
.ost-service-mobile-toggle:after,
.ost-service-header .ost-nav-toggle,
.ost-service-header .ost-nav-toggle:before,
.ost-service-header .ost-nav-toggle:after,
.ost-service-header button,
.ost-service-header button:before,
.ost-service-header button:after{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.ost-service-header a,
.ost-service-header a:visited,
.ost-service-menu a,
.ost-service-menu a:visited,
.ost-service-menu .ost-menu-item-wrap > a,
.ost-service-menu .ost-submenu-toggle{
  color:#ffffff!important;
  opacity:1!important;
}
.ost-service-nav-panel{
  background:#1b1f2a!important;
  color:#ffffff!important;
}
.ost-service-menu .ost-menu-item-wrap{
  background:transparent!important;
  border-top-color:rgba(255,255,255,.14)!important;
}
.ost-service-menu .sub-menu{
  background:#1b1f2a!important;
}
@media(max-width:860px){
  .ost-service-row{
    min-height:56px!important;
  }
  .ost-service-brand{
    min-height:56px!important;
  }
  .ost-service-title{
    font-size:18px!important;
  }
  .ost-service-mobile-toggle{
    display:block!important;
    color:#ffffff!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1!important;
  }
  .ost-service-nav-panel{
    top:56px!important;
    background:#1b1f2a!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
  }
  .ost-service-menu a,
  .ost-service-menu .sub-menu a{
    color:#ffffff!important;
    background:transparent!important;
    border-top-color:rgba(255,255,255,.14)!important;
    border-bottom-color:rgba(255,255,255,.14)!important;
  }
  .ost-service-menu .ost-submenu-toggle{
    color:#ffffff!important;
    border-left:1px solid rgba(255,255,255,.14)!important;
    background:transparent!important;
  }
}

/* v1.0.20: service title URL dropdowns now list only content from the matching CPT section. */


/* v1.0.24: main header title switches automatically.
   Two words stay full, three or more words are shortened to initials by PHP. */
.ost-global-header .ost-title-brand{
  max-width:min(44vw, 240px)!important;
}
.ost-site-title{
  max-width:min(44vw, 240px)!important;
}
@media(max-width:860px){
  .ost-global-header .ost-title-brand{
    max-width:42vw!important;
  }
  .ost-site-title{
    max-width:42vw!important;
    font-size:20px!important;
  }
}
@media(max-width:380px){
  .ost-global-header .ost-title-brand{
    max-width:38vw!important;
  }
  .ost-site-title{
    max-width:38vw!important;
    font-size:19px!important;
  }
}


/* v1.0.30: ITV-style blog metadata and related news layout from BO theme. */
.ost-itv-meta{
  display:flex;
  align-items:center;
  gap:12px;
  color:#6f7278;
  font-size:16px;
  line-height:1.35;
  font-weight:400;
}
.ost-page-title .ost-itv-meta-full{
  margin-top:20px;
  padding-bottom:22px;
  border-bottom:4px solid #aeb3b8;
  font-size:18px;
}
.ost-itv-clock{
  position:relative;
  width:22px;
  height:22px;
  border:2px solid currentColor;
  border-radius:50%;
  flex:0 0 22px;
  opacity:.95;
}
.ost-itv-clock:before,
.ost-itv-clock:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  background:currentColor;
  transform-origin:bottom center;
  border-radius:2px;
}
.ost-itv-clock:before{height:7px;transform:translate(-50%,-100%) rotate(0deg);}
.ost-itv-clock:after{height:8px;transform:translate(-50%,-100%) rotate(90deg);}
.ost-itv-separator{font-weight:700;color:#55585e;margin:0 2px;}
.ost-itv-author{font-weight:400;color:#6f7278;}

.ost-itv-related-news .widget-title,
.ost-default-related-widget .widget-title{
  font-size:32px!important;
  line-height:1.1!important;
  font-weight:900!important;
  margin:0 0 26px!important;
  color:#050505!important;
}
.ost-related-list{display:flex;flex-direction:column;gap:34px;}
.ost-related-item{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.ost-related-thumb{
  display:block;
  width:112px;
  height:88px;
  overflow:hidden;
  background:#eef1f3;
  text-decoration:none!important;
}
.ost-related-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ost-related-placeholder{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#e8edf1,#f6f7f8);
}
.ost-related-title{
  margin:0 0 14px!important;
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#050505!important;
}
.ost-related-title a{
  color:#050505!important;
  text-decoration:none!important;
}
.ost-related-title a:hover,
.ost-related-title a:focus{
  text-decoration:underline!important;
  text-underline-offset:4px;
}
.ost-itv-meta-relative{font-size:18px;color:#74777e;gap:14px;}
.ost-itv-meta-relative .ost-itv-clock{width:20px;height:20px;flex-basis:20px;border-width:2px;}

body.single-post .ost-entry,
body.blog .ost-entry,
body.archive .ost-entry{
  font-size:16px;
}
@media(max-width:860px){
  .ost-page-title .ost-itv-meta-full{
    font-size:16px;
    margin-top:16px;
    padding-bottom:18px;
    border-bottom-width:3px;
  }
  .ost-itv-meta{gap:10px;flex-wrap:wrap;}
  .ost-itv-clock{width:20px;height:20px;flex-basis:20px;}
  .ost-related-list{gap:30px;}
  .ost-related-item{grid-template-columns:96px minmax(0,1fr);gap:18px;}
  .ost-related-thumb{width:96px;height:76px;}
  .ost-related-title{font-size:20px!important;line-height:1.28!important;}
  .ost-itv-related-news .widget-title,
  .ost-default-related-widget .widget-title{font-size:30px!important;}
}
@media(max-width:420px){
  .ost-related-item{grid-template-columns:86px minmax(0,1fr);gap:14px;}
  .ost-related-thumb{width:86px;height:72px;}
  .ost-related-title{font-size:18px!important;}
  .ost-itv-meta-relative{font-size:16px;}
}

/* v1.0.32 main title: full on tablet/desktop, initials only on mobile for 3+ word titles */
.ost-site-title-mobile-initials{display:none;}
.ost-site-title-full{display:inline;}
@media (max-width: 767px){
  .ost-site-title:has(.ost-site-title-mobile-initials) .ost-site-title-full{display:none;}
  .ost-site-title-mobile-initials{display:inline;}
}
@media (min-width: 768px){
  .ost-site-title-full{display:inline!important;}
  .ost-site-title-mobile-initials{display:none!important;}
}
/* v1.0.32 centre copyright/footer credit on all devices */
.ost-cmuk-credit-wrap{justify-content:center!important;text-align:center!important;}


/* v1.0.33: Service header + ITV meta explicitly supported on post/blog/live-blog style layouts. */
body.single-post .ost-service-header,
body.blog .ost-service-header,
body.archive .ost-service-header{display:block;}
.ost-itv-meta-full{border-bottom:4px solid #aeb4b8;padding-bottom:24px;margin-bottom:34px;}


/* v1.0.34: service/mission header support for posts, blogs and live blogs without touching plugin output */
body.blog .ost-service-header,
body.single-post .ost-service-header,
body.archive .ost-service-header,
body.category .ost-service-header,
body.tag .ost-service-header,
body.date .ost-service-header,
body.author .ost-service-header{
  display:block;
}

/* v1.0.36: service/mission header is forced for CPTs named post/posts/blog/blogs/live blog/live blogs; content output is untouched. */
body.single .ost-service-header,
body.archive .ost-service-header,
body.blog .ost-service-header{display:block!important;}

/* v1.0.36 search page: full-width results, no sidebar, clean dividers */
.ost-search-results-shell .ost-search-fullwidth{display:block;width:100%;max-width:var(--ost-max);margin:0 auto;padding-left:var(--ost-pad);padding-right:var(--ost-pad);}
.ost-search-main{width:100%;max-width:100%;}
.ost-search-main .search-form{display:flex;align-items:flex-end;gap:10px;margin:0 0 28px 0;max-width:760px;}
.ost-search-main .search-field{width:100%;min-height:44px;border:1px solid #6f777b;padding:8px 10px;font-size:16px;background:#fff;color:#111;}
.ost-search-main .search-submit{min-height:44px;border:0;background:var(--ost-link);color:#fff;font-size:16px;font-weight:800;padding:9px 18px;cursor:pointer;}
.ost-search-count-label{font-size:16px;margin:0 0 24px 0;color:#111;}
.ost-search-site-group{margin:0 0 34px 0;}
.ost-search-site-heading{font-size:24px;line-height:1.2;margin:0 0 14px 0;color:#111;}
.ost-search-result-item{border-bottom:2px solid #8a8f96;padding:0 0 20px 0;margin:0 0 20px 0;background:transparent;}
.ost-search-result-title{font-size:24px;line-height:1.2;margin:0 0 4px 0;font-weight:900;}
.ost-search-result-title a{color:var(--ost-link);text-decoration:underline;text-underline-offset:3px;background:transparent!important;}
.ost-search-result-meta{font-size:16px;line-height:1.4;color:#444;margin:0 0 12px 0;}
.ost-search-result-description{font-size:16px;line-height:1.55;margin:0;color:#111;max-width:920px;}
.ost-search-empty{font-size:16px;margin:0 0 30px 0;}
@media (max-width:700px){.ost-search-main .search-form{display:block;}.ost-search-main .search-field{display:block;margin-bottom:10px;}.ost-search-main .search-submit{width:100%;}.ost-search-result-title{font-size:21px;}}


/* v1.0.37: CPT-listening tabs for single-site and multisite search */
.ost-search-tabs{width:100%;margin:0 0 34px 0;}
.ost-search-tab-list{display:flex;flex-wrap:wrap;gap:10px;border-bottom:2px solid #8a8f96;margin:0 0 28px 0;}
.ost-search-tab{appearance:none;border:2px solid #8a8f96;border-bottom:0;background:#f3f4f5;color:#111;padding:12px 16px;margin:0 0 -2px 0;font-size:16px;font-weight:800;line-height:1.2;cursor:pointer;display:flex;align-items:center;gap:10px;}
.ost-search-tab strong{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;padding:2px 8px;border-radius:999px;background:#111;color:#fff;font-size:14px;line-height:1;}
.ost-search-tab.is-active{background:#fff;border-color:#111;position:relative;z-index:2;}
.ost-search-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#fff;}
.ost-search-tab:focus{outline:3px solid #ffdd00;outline-offset:0;}
.ost-search-tab-panel[hidden]{display:none!important;}
.ost-search-tab-heading{font-size:28px;line-height:1.2;margin:0 0 18px 0;color:#111;font-weight:900;}
.ost-search-site-heading{font-size:20px;line-height:1.25;margin:26px 0 14px 0;color:#111;font-weight:900;}
@media (max-width:700px){.ost-search-tab-list{display:block;border-bottom:0;}.ost-search-tab{width:100%;justify-content:space-between;border:2px solid #8a8f96;margin:0 0 8px 0;}.ost-search-tab.is-active:after{display:none;}.ost-search-tab-heading{font-size:24px;}}


/* v1.0.42: tab-first search with single-site / all-sites switch */
.ost-search-scope-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px 0;}
.ost-search-scope-tab{display:inline-block;border:2px solid #111;background:#fff;color:#111!important;text-decoration:none!important;font-size:16px;font-weight:800;line-height:1.2;padding:10px 14px;}
.ost-search-scope-tab.is-active{background:#111;color:#fff!important;}
.ost-search-scope-tab:focus{outline:3px solid #ffdd00;outline-offset:0;}
.ost-search-main .search-form input[name="ost_scope"]{display:none;}

/* v1.0.45 search load-more and reset controls */
.ost-search-result-item[hidden]{display:none!important;}
.ost-search-load-more-wrap{margin:24px 0 10px 0;text-align:left;}
.ost-search-load-more{min-height:44px;border:2px solid #111;background:#111;color:#fff;font-size:16px;font-weight:800;line-height:1.2;padding:10px 18px;cursor:pointer;}
.ost-search-load-more:hover,.ost-search-load-more:focus{background:#fff;color:#111;outline:3px solid #ffdd00;outline-offset:0;}
.ost-search-reset-tab{border-color:#8a8f96!important;background:#f3f4f5!important;color:#111!important;}

/* v1.0.57 mobile search button + reset refresh */
@media (max-width: 820px){.ost-primary-nav .ost-search-link{display:block!important;margin-left:0!important;padding:15px 10px!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.16)!important;color:#fff!important;text-decoration:none;}}

/* v1.0.59 reset clears search field and submits the search form instead of refreshing */


/* =========================================================
 * 404 PAGE
 * ========================================================= */
.cm-404-page{width:100%;padding:40px 20px;flex:1 0 auto;}
.cm-404-wrap{width:100%;max-width:900px;margin:0 auto;}
.cm-404-inner{width:100%;padding:40px 0;}
.cm-404-kicker{font-size:16px;margin:0 0 10px;opacity:.7;}
.cm-404-title{font-size:48px;line-height:1.1;margin:0 0 20px;font-weight:900;}
.cm-404-text{font-size:16px;line-height:1.6;margin:0 0 30px;max-width:680px;}
.cm-404-actions{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:40px;}
.cm-404-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;text-decoration:none!important;font-size:16px;font-weight:900;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;border-radius:0;}
.cm-404-button:hover,.cm-404-button:focus{background:transparent;text-decoration:underline!important;text-underline-offset:4px;}
.cm-404-search{width:100%;max-width:680px;}
.cm-404-search form{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;}
.cm-404-search input[type=search],.cm-404-search input[type=text]{width:min(100%,420px);min-height:44px;padding:10px 12px;font-size:16px;border:1px solid #777;background:#fff;color:#111;}
.cm-404-search input[type=submit],.cm-404-search button[type=submit]{min-height:44px;padding:10px 18px;font-size:16px;font-weight:900;border:1px solid #111;background:#111;color:#fff;cursor:pointer;}
@media(max-width:768px){.cm-404-page{padding:30px 16px}.cm-404-title{font-size:36px}.cm-404-search form{display:block}.cm-404-search input[type=search],.cm-404-search input[type=text],.cm-404-search input[type=submit],.cm-404-search button[type=submit]{width:100%;margin-bottom:10px}}


/* =========================================================
 * 404 PAGE CENTERED LAYOUT - v1.0.61
 * ========================================================= */
body.error404 .cm-404-inner{
    text-align:center;
}
body.error404 .cm-404-kicker,
body.error404 .cm-404-title{
    text-align:center;
}
body.error404 .cm-404-text{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
body.error404 .cm-404-actions{
    justify-content:center;
    align-items:center;
    text-align:center;
}
body.error404 .cm-404-search{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
}
body.error404 .cm-404-search form{
    justify-content:center;
}
body.error404 .cm-404-search input[type=search],
body.error404 .cm-404-search input[type=text]{
    text-align:left;
}
@media(max-width:768px){
    body.error404 .cm-404-actions{
        justify-content:center;
    }
    body.error404 .cm-404-button{
        min-width:0;
    }
}


/* GLOBAL 1440PX HEIGHT SYSTEM */
html,
body,
#page,
.site,
.site-content,
.site-main,
main,
.content-area,
.elementor,
.elementor-location-single,
.elementor-location-archive,
.elementor-section-wrap,
.elementor-widget-wrap {
    min-height: 1440px;
}

body {
    display: flex;
    flex-direction: column;
}

#page,
.site {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.site-content,
.site-main,
main,
.content-area,
.elementor {
    flex: 1;
}

.site-footer,
footer {
    margin-top: auto;
}


/* =========================================================
 * v1.0.66 - remove main header logo and force full site name
 * ========================================================= */
.ost-global-header .ost-center-logo,
.ost-global-header .ost-brand-mark,
.ost-global-header .custom-logo,
.ost-global-header .custom-logo-link,
.ost-global-header .custom-logo-link img,
.ost-global-header .site-logo,
.ost-global-header .site-branding img,
.ost-global-header .header-logo,
.ost-global-header .navbar-brand img {
    display: none !important;
    visibility: hidden !important;
}

.ost-global-header .ost-global-row,
.ost-global-header .ost-header-row {
    justify-content: flex-start !important;
}

.ost-global-header .ost-title-brand {
    flex: 0 1 auto !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
}

.ost-global-header .ost-site-title {
    max-width: none !important;
    width: auto !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.ost-global-header .ost-site-title-full {
    display: inline !important;
}

.ost-global-header .ost-site-title-mobile-initials {
    display: none !important;
}

@media (max-width: 860px) {
    .ost-global-header .ost-title-brand {
        max-width: calc(100% - 90px) !important;
    }

    .ost-global-header .ost-site-title {
        max-width: none !important;
        font-size: 20px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

/* v1.0.76: shared visible 404 across multisite, keeping the broken URL visible. */
.cm-404-page{width:100%;min-height:720px;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;padding:64px 10px;}
.cm-404-wrap{width:100%;max-width:1280px;margin:0 auto;}
.cm-404-inner{text-align:center;max-width:820px;margin:0 auto;}
.cm-404-kicker{font-size:16px;font-weight:900;margin:0 0 12px;color:#1d70b8;}
.cm-404-title{font-size:clamp(44px,8vw,92px);line-height:.95;letter-spacing:-.05em;margin:0 0 20px;font-weight:900;color:#111;}
.cm-404-text{font-size:20px;line-height:1.5;margin:0 auto 22px;max-width:680px;color:#333;}
.cm-404-source{font-size:16px;line-height:1.45;margin:0 auto 24px;max-width:760px;color:#505a66;word-break:break-word;}
.cm-404-source span{font-weight:700;color:#111;}
.cm-404-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 28px;}
.cm-404-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#1d70b8!important;color:#fff!important;border:2px solid #1d70b8;border-radius:0;text-decoration:none!important;font-size:16px;font-weight:900;cursor:pointer;}
.cm-404-button:hover,.cm-404-button:focus{background:#003078!important;border-color:#003078;text-decoration:underline!important;}
.cm-404-search{display:flex;align-items:stretch;justify-content:center;gap:0;max-width:560px;margin:0 auto;}
.cm-404-search input[type="search"]{width:100%;min-height:44px;border:2px solid #111;border-right:0;padding:9px 12px;font-size:16px;}
.cm-404-search button{min-height:44px;border:2px solid #1d70b8;background:#1d70b8;color:#fff;font-size:16px;font-weight:900;padding:9px 16px;cursor:pointer;}
.cm-404-search button:hover,.cm-404-search button:focus{background:#003078;border-color:#003078;text-decoration:underline;}

/* v1.0.81: forced normal page/CPT title above all content, including Elementor-built bodies. */
.ost-page-title-forced{display:block;clear:both;width:100%;}
