/* Offshore Hub Desktop Completion v2
   Finishing pass after jobs/news/design-system work:
   - robust jobs filter bar that cannot clip the CTA
   - clearer job result rows with an explicit Open action
   - calmer home/news modules and related articles
   - more consistent desktop sidebars, legal cards and footer rhythm
*/
@media (min-width:901px){
  :root{
    --oh-dc2-panel:linear-gradient(180deg,rgba(5,19,32,.92),rgba(3,12,22,.96));
    --oh-dc2-panel-soft:linear-gradient(180deg,rgba(7,24,39,.86),rgba(3,13,23,.94));
    --oh-dc2-border:rgba(68,143,201,.30);
    --oh-dc2-border-strong:rgba(0,178,255,.42);
    --oh-dc2-muted:#9fb2c6;
  }

  /* Shared page rhythm */
  body .page{
    overflow:clip !important;
  }
  body .section-intro,
  body .oh-news-head,
  body .box-head,
  body .read-next-head{
    gap:18px !important;
  }
  body .section-intro h2,
  body .oh-news-head h2,
  body .read-next-head h2{
    max-width:860px !important;
  }
  body .section-intro p,
  body .oh-news-head p,
  body .read-next-head p{
    max-width:780px !important;
  }
  body .box,
  body .side-panel,
  body .feature-card,
  body .story-card,
  body .read-next-card,
  body .oh-news-lead,
  body .oh-news-side-card,
  body .oh-news-mini{
    background:var(--oh-dc2-panel-soft) !important;
    border-color:var(--oh-dc2-border) !important;
  }
  body .box:hover,
  body .feature-card:hover,
  body .story-card:hover,
  body .read-next-card:hover,
  body .oh-news-mini:hover,
  body .oh-news-side-card:hover{
    border-color:rgba(255,122,26,.35) !important;
  }

  /* Header / frame visual consistency */
  body .oh-mock-header{
    background:linear-gradient(180deg,rgba(1,10,18,.98),rgba(2,13,23,.96)) !important;
  }
  body .oh-mock-frame{
    margin-inline:18px !important;
  }
  body .oh-mock-nav{
    box-shadow:inset 0 0 0 1px rgba(0,178,255,.28) !important;
  }

  /* HOME: make the lower sections feel like part of one portal, not separate cards */
  body.home-index .oh-news-strip,
  body.home-index .news-breaking{
    margin:18px 24px 0 !important;
    border-color:rgba(255,122,26,.28) !important;
    background:linear-gradient(90deg,rgba(255,122,26,.09),rgba(4,18,31,.80),rgba(4,18,31,.88)) !important;
  }
  body.home-index .oh-news-hub,
  body.home-index .oh-news-more,
  body.home-index .sector-block,
  body.home-index .live-jobs-list,
  body.home-index .why-news-clean{
    margin-top:24px !important;
  }
  body.home-index .oh-news-main{
    gap:16px !important;
  }
  body.home-index .oh-news-lead-content h3{
    max-width:780px !important;
  }
  body.home-index .oh-news-side-card{
    grid-template-columns:168px minmax(0,1fr) !important;
  }
  body.home-index .oh-news-side-img img,
  body.home-index .oh-news-mini-img img,
  body.news-page .story-card img,
  body.news-page .read-next-card img{
    filter:saturate(.96) contrast(1.02) brightness(.88) !important;
  }
  body.home-index .home-live-table .table{
    table-layout:fixed !important;
  }
  body.home-index .home-live-table th:nth-child(1),
  body.home-index .home-live-table td:nth-child(1){width:34% !important;}
  body.home-index .home-live-table th:nth-child(2),
  body.home-index .home-live-table td:nth-child(2){width:16% !important;}
  body.home-index .home-live-table th:nth-child(3),
  body.home-index .home-live-table td:nth-child(3){width:16% !important;}
  body.home-index .home-live-table th:nth-child(4),
  body.home-index .home-live-table td:nth-child(4){width:11% !important;}
  body.home-index .home-live-table th:nth-child(5),
  body.home-index .home-live-table td:nth-child(5){width:12% !important;}
  body.home-index .home-live-table th:nth-child(6),
  body.home-index .home-live-table td:nth-child(6){width:8% !important;}
  body.home-index .home-live-table th:nth-child(7),
  body.home-index .home-live-table td:nth-child(7){width:3% !important;}
  body.home-index .why-news-clean{
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr) !important;
    gap:18px !important;
  }
  body.home-index .quick-search-form{
    gap:13px !important;
  }

  /* JOBS: final robust filter layout. This intentionally overrides both v1 grid and flex attempts. */
  body.jobs-page .filters.jobs-commandbar{
    overflow:visible !important;
    margin:22px 24px 12px !important;
  }
  body.jobs-page .jobs-commandbar-head{
    padding:20px 22px 16px !important;
  }
  body.jobs-page .jobs-commandbar-head h2{
    font-size:24px !important;
  }
  body.jobs-page .filter-row.jobs-filter-grid{
    display:grid !important;
    grid-template-columns:minmax(260px,2.2fr) repeat(3,minmax(128px,1fr)) repeat(4,minmax(118px,.86fr)) 98px !important;
    gap:9px !important;
    padding:16px 18px 12px !important;
    align-items:stretch !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  body.jobs-page .filter-row.jobs-filter-grid > *{
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  body.jobs-page .filter-row.jobs-filter-grid > .searchbtn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 11px !important;
    border-radius:10px !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  @media (max-width:1500px) and (min-width:901px){
    body.jobs-page .filter-row.jobs-filter-grid{
      grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(124px,1fr)) 98px !important;
    }
    body.jobs-page .filter-row.jobs-filter-grid > label:nth-of-type(6),
    body.jobs-page .filter-row.jobs-filter-grid > label:nth-of-type(7),
    body.jobs-page .filter-row.jobs-filter-grid > label:nth-of-type(8){
      grid-column:auto !important;
    }
  }
  @media (max-width:1260px) and (min-width:901px){
    body.jobs-page .filter-row.jobs-filter-grid{
      grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
    body.jobs-page .filter-row.jobs-filter-grid > .search-field-wrap{
      grid-column:span 2 !important;
    }
    body.jobs-page .filter-row.jobs-filter-grid > .searchbtn{
      grid-column:span 1 !important;
    }
  }
  body.jobs-page .jobs-filter-foot{
    padding:0 18px 16px !important;
    align-items:center !important;
  }
  body.jobs-page .jobs-filter-foot .popular{
    overflow:hidden !important;
  }
  body.jobs-page .jobs-filter-foot .popular a:nth-of-type(n+7){
    display:none !important;
  }
  body.jobs-page .active-filter-chips span{
    max-width:190px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.jobs-page .main{
    grid-template-columns:minmax(0,1fr) 316px !important;
    gap:18px !important;
  }
  body.jobs-page .jobs-table .box-head{
    padding:16px 20px 10px !important;
    min-height:58px !important;
  }
  body.jobs-page .table-wrap{
    padding:0 12px 10px !important;
  }
  body.jobs-page .table{
    table-layout:fixed !important;
    border-spacing:0 8px !important;
  }
  body.jobs-page .table thead th:nth-child(1),
  body.jobs-page .table tbody td:nth-child(1){width:38% !important;}
  body.jobs-page .table thead th:nth-child(2),
  body.jobs-page .table tbody td:nth-child(2){width:15% !important;}
  body.jobs-page .table thead th:nth-child(3),
  body.jobs-page .table tbody td:nth-child(3){width:16% !important;}
  body.jobs-page .table thead th:nth-child(4),
  body.jobs-page .table tbody td:nth-child(4){width:11% !important;}
  body.jobs-page .table thead th:nth-child(5),
  body.jobs-page .table tbody td:nth-child(5){width:13% !important;}
  body.jobs-page .table thead th:nth-child(6),
  body.jobs-page .table tbody td:nth-child(6){width:7% !important;}
  body.jobs-page .table th,
  body.jobs-page .table td{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  body.jobs-page .table td:nth-child(6),
  body.jobs-page .table th:nth-child(6){
    text-align:right !important;
    padding-right:12px !important;
  }
  body.jobs-page .table th:nth-child(6){font-size:10px !important;}
  body.jobs-page .table th:nth-child(6)::after{content:none !important;}
  body.jobs-page .row-open-action{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:28px !important;
    padding:0 10px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,122,26,.42) !important;
    background:rgba(255,122,26,.10) !important;
    color:#ffd0ad !important;
    font-size:11px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    cursor:pointer !important;
  }
  body.jobs-page .job-row:hover .row-open-action{
    background:#ff7a1a !important;
    color:#08111a !important;
    border-color:#ff7a1a !important;
  }
  body.jobs-page .job-title{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.jobs-page .side .box{
    border-radius:14px !important;
  }
  body.jobs-page .cat-list .cat,
  body.jobs-page .tools-list .tool,
  body.jobs-page .radar-item{
    min-height:40px !important;
    padding:9px 10px !important;
    border-radius:10px !important;
  }
  body.jobs-page .trending-chips{
    gap:7px !important;
  }
  body.jobs-page .trending-chips .pill{
    min-height:25px !important;
    padding:0 9px !important;
  }
  body.jobs-page .profile-layout{
    grid-template-columns:minmax(0,1fr) 330px !important;
  }
  body.jobs-page .profile-info-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
  body.jobs-page .profile-panel{
    border-color:rgba(68,143,201,.30) !important;
    background:var(--oh-dc2-panel) !important;
  }

  /* NEWS: make filters/editorial/related more finished */
  body.news-page .news-toolbar-section{
    margin-top:22px !important;
  }
  body.news-page .news-toolbar-head{
    align-items:end !important;
  }
  body.news-page .toolbar-form{
    grid-template-columns:minmax(280px,1.8fr) repeat(4,minmax(130px,1fr)) 92px !important;
    align-items:stretch !important;
  }
  body.news-page .toolbar-field,
  body.news-page .toolbar-submit{
    min-height:46px !important;
  }
  body.news-page .toolbar-foot{
    padding-top:12px !important;
    border-top:1px solid rgba(90,139,181,.18) !important;
  }
  body.news-page .news-layout{
    grid-template-columns:minmax(0,1fr) 318px !important;
    gap:18px !important;
  }
  body.news-page .news-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  body.news-page .story-card img{
    height:184px !important;
  }
  body.news-page .story-content h3{
    font-size:18px !important;
  }
  body.news-page .story-meta{
    gap:10px !important;
  }
  body.news-page .side-panel{
    border-radius:14px !important;
    padding:17px !important;
  }
  body.news-page .news-aside-list a{
    padding:11px 0 !important;
  }
  body.news-page .article-shell{
    padding:24px 28px 34px !important;
  }
  body.news-page .article-layout{
    grid-template-columns:minmax(0,1fr) 322px !important;
    gap:18px !important;
  }
  body.news-page .article-cover img{
    height:380px !important;
  }
  body.news-page .article-card>p,
  body.news-page .article-card>h2,
  body.news-page .article-card>h3,
  body.news-page .article-card>blockquote,
  body.news-page .article-card>.news-figure{
    margin-left:34px !important;
    margin-right:34px !important;
  }
  body.news-page .article-card p{
    font-size:17px !important;
  }
  body.news-page .read-next-section{
    margin-left:24px !important;
    margin-right:24px !important;
  }
  body.news-page .read-next-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  body.news-page .read-next-card img{
    height:145px !important;
  }
  body.news-page .read-next-body{
    padding:14px !important;
  }
  body.news-page .read-next-body h3{
    font-size:16px !important;
    line-height:1.23 !important;
  }

  /* ABOUT / CONTACT / LEGAL: quieter content blocks */
  body.about-page .page-shell,
  body.contact-page .page-shell,
  body.legal-page .page-shell,
  body.privacy-page .page-shell,
  body.terms-page .page-shell,
  body.disclaimer-page .page-shell{
    margin-top:24px !important;
  }
  body.about-page .story-card,
  body.contact-page .contact-card,
  body.contact-page .form-card,
  body.legal-page .legal-card,
  body.privacy-page .legal-card,
  body.terms-page .legal-card,
  body.disclaimer-page .legal-card{
    border-radius:16px !important;
    border-color:rgba(68,143,201,.28) !important;
    background:var(--oh-dc2-panel-soft) !important;
  }
  body.contact-page input,
  body.contact-page textarea,
  body.contact-page select{
    border-color:rgba(80,132,176,.40) !important;
    background:rgba(3,14,25,.82) !important;
  }
  body.contact-page .form-card button,
  body.contact-page .submit-btn{
    min-height:40px !important;
  }

  /* Footer: compact, connected and less boxed */
  body .footer{
    margin-top:30px !important;
    padding-top:28px !important;
    border-top:1px solid rgba(0,178,255,.30) !important;
    background:linear-gradient(180deg,rgba(3,13,23,.94),rgba(1,8,15,.98)) !important;
  }
  body .footer .mailbox,
  body .footer [class*="col"],
  body .footer-brand-copy{
    border-color:rgba(68,143,201,.22) !important;
  }
  body .bottom,
  body .oh-footer-credit{
    border-top:1px solid rgba(68,143,201,.18) !important;
    background:rgba(1,8,15,.96) !important;
  }

  /* When browser translates text, brand name should not collapse visually. */
  .notranslate[translate="no"],
  .brand-title,
  .oh-mock-brand{
    word-spacing:normal !important;
  }
}
