/* Offshore Hub button system fix v2
   Fixes compact v1: smaller, but controlled. No square text buttons, no clipped controls. */
:root{
  --oh-btn-h:40px;
  --oh-btn-h-sm:34px;
  --oh-btn-h-xs:28px;
  --oh-btn-radius:9px;
  --oh-btn-radius-sm:7px;
  --oh-btn-gap:7px;
}

*{box-sizing:border-box}

@media (min-width:801px){
  /* Real buttons / CTAs only. Do not make every link on the site behave like a button. */
  body :is(a,button,input[type="submit"]).cta,
  body :is(a,button,input[type="submit"]).oh-mock-cta,
  body :is(a,button,input[type="submit"]).post-job-btn,
  body :is(a,button,input[type="submit"]).post-job-submit,
  body :is(a,button,input[type="submit"]).searchbtn,
  body :is(a,button,input[type="submit"]).search-btn,
  body :is(a,button,input[type="submit"]).ghost-btn,
  body :is(a,button,input[type="submit"]).legal-btn,
  body :is(a,button,input[type="submit"]).panel-btn,
  body :is(a,button,input[type="submit"]).learn-btn,
  body :is(a,button,input[type="submit"]).save-job-btn,
  body :is(a,button,input[type="submit"]).btn,
  body :is(a,button,input[type="submit"]).btn-primary,
  body :is(a,button,input[type="submit"]).btn-ghost{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:var(--oh-btn-gap) !important;
    min-height:var(--oh-btn-h) !important;
    height:auto !important;
    min-width:0 !important;
    width:auto !important;
    padding:0 16px !important;
    border-radius:var(--oh-btn-radius) !important;
    font-size:12.5px !important;
    font-weight:900 !important;
    line-height:1.05 !important;
    letter-spacing:.025em !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    cursor:pointer !important;
    transform:none !important;
  }

  body :is(a,button).cta,
  body :is(a,button).oh-mock-cta,
  body :is(a,button).post-job-btn,
  body :is(button,input[type="submit"]).searchbtn,
  body :is(button,input[type="submit"]).post-job-submit,
  body .home-cta :is(a,button){
    min-height:42px !important;
    padding-inline:18px !important;
    border-radius:10px !important;
  }

  body :is(a,button).ghost-btn,
  body :is(a,button).panel-btn,
  body :is(a,button).legal-btn,
  body :is(a,button).save-job-btn,
  body .profile-actions :is(a,button):not(.primary){
    min-height:38px !important;
    padding-inline:14px !important;
  }

  /* Header navigation: compact text navigation, not tiny pills. */
  body .navlinks,
  body .oh-mock-nav{
    min-height:48px !important;
    height:auto !important;
    gap:0 !important;
  }

  body .navlinks a,
  body .oh-mock-nav a,
  body .nav-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 14px !important;
    border-radius:8px !important;
    font-size:12.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .navlinks a.active:after,
  body .navlinks a:hover:after,
  body .oh-mock-nav a.active:after,
  body .oh-mock-nav a:hover:after{
    width:32px !important;
    height:2px !important;
    bottom:-8px !important;
  }

  body .head-actions,
  body .oh-mock-actions,
  body .home-hero-actions,
  body .legal-cta,
  body .post-job-actions,
  body .home-cta{
    gap:10px !important;
  }

  body .lang-switch,
  body .oh-mock-lang{
    height:36px !important;
    min-height:36px !important;
    padding:3px !important;
    border-radius:10px !important;
  }

  body .lang-switch button,
  body .oh-mock-lang button,
  body .lang-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:28px !important;
    min-height:28px !important;
    min-width:34px !important;
    padding:0 8px !important;
    border-radius:8px !important;
    font-size:11px !important;
    line-height:1 !important;
  }

  body .lang-flag{width:18px !important;height:12px !important;}

  body .live-pill,
  body .oh-mock-live{
    min-height:38px !important;
    height:auto !important;
    padding:0 13px !important;
    border-radius:9px !important;
    font-size:12px !important;
    gap:7px !important;
  }

  body .live-pill b,
  body .live-pill span,
  body .oh-mock-live b,
  body .oh-mock-live span{font-size:12px !important;}

  /* Form controls: readable and not clipped. */
  body input.field,
  body select.field,
  body .field,
  body .filter-btn,
  body .toolbar-field input,
  body .toolbar-field select,
  body .news-toolbar input,
  body .news-toolbar select,
  body .filter-select,
  body .search-input,
  body .quick-search-form .field,
  body .contact-form input,
  body .contact-form select,
  body .select select,
  body .sort select{
    min-height:40px !important;
    height:40px !important;
    border-radius:9px !important;
    padding:0 12px !important;
    font-size:12.5px !important;
    line-height:1.1 !important;
  }

  body .filter-select-wrap,
  body .toolbar-field{
    min-height:40px !important;
    height:auto !important;
    border-radius:9px !important;
  }

  body .contact-form textarea{
    border-radius:10px !important;
    padding:11px 12px !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  body .filter-row,
  body .popular,
  body .quick-pills,
  body .active-filters,
  body .news-chip-row,
  body .toolbar-chips,
  body .chip-row,
  body .trending-chips{gap:8px !important;}

  /* Pills/chips: small, but still legible and not forced into odd fixed sizes. */
  body :is(a,button,span).pill,
  body :is(a,button,span).filter-chip,
  body :is(a,button,span).chip,
  body :is(a,button,span).mini-chip,
  body :is(a,button,span).result-pill,
  body :is(a,button,span).oh-news-chip,
  body :is(a,button,span).job-tag,
  body :is(a,button,span).source-tag,
  body :is(a,button,span).status-pill,
  body :is(a,button,span).newbadge,
  body :is(a,button,span).catbadge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:24px !important;
    height:auto !important;
    width:auto !important;
    min-width:0 !important;
    padding:5px 10px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1.05 !important;
    letter-spacing:.02em !important;
    white-space:nowrap !important;
    box-shadow:none !important;
  }

  body .newbadge,
  body .catbadge{border-radius:7px !important;}
  body .job-tag{min-height:28px !important;padding-inline:10px !important;}

  /* Job/profile modal actions: text buttons, not icon squares. */
  body .profile-actions{gap:10px !important;}
  body .profile-actions :is(a,button){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    height:auto !important;
    padding:0 18px !important;
    border-radius:10px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }
  body .profile-actions .primary{min-width:190px !important;}

  body .job-modal-close,
  body .post-job-close,
  body .mobile-drawer__close{
    display:inline-grid !important;
    place-items:center !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    border-radius:10px !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  /* Share buttons in job/news modals are text actions. Keep icon-only socials square only. */
  body .share-grid{gap:8px !important;}
  body .share-grid :is(a,button),
  body .copy-wide{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    min-height:38px !important;
    padding:0 12px !important;
    border-radius:9px !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
  }
  body .copy-wide{width:100% !important;margin-top:8px !important;}

  body .social-btn,
  body .footer-socials a,
  body .socials a,
  body .oh-social-icon{
    display:inline-grid !important;
    place-items:center !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 !important;
    border-radius:10px !important;
    font-size:13px !important;
  }
  body .social-btn svg,
  body .footer-socials svg,
  body .socials svg{width:16px !important;height:16px !important;}

  /* Pagination: compact, but not cramped. */
  body .pager{gap:7px !important;padding:10px !important;}
  body .pager a,
  body .pager span,
  body .pg{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:30px !important;
    height:30px !important;
    min-height:30px !important;
    padding:0 9px !important;
    border-radius:7px !important;
    font-size:11.5px !important;
    line-height:1 !important;
  }
  body .pg{width:30px !important;padding:0 !important;}

  body :is(a,button,input[type="submit"]).cta:hover,
  body :is(a,button,input[type="submit"]).oh-mock-cta:hover,
  body :is(a,button,input[type="submit"]).post-job-btn:hover,
  body :is(a,button,input[type="submit"]).searchbtn:hover,
  body :is(a,button,input[type="submit"]).ghost-btn:hover,
  body :is(a,button,input[type="submit"]).legal-btn:hover,
  body :is(a,button,input[type="submit"]).panel-btn:hover,
  body :is(a,button,input[type="submit"]).save-job-btn:hover,
  body :is(a,button,input[type="submit"]).btn:hover,
  body .profile-actions :is(a,button):hover,
  body .share-grid :is(a,button):hover,
  body .copy-wide:hover{
    transform:translateY(-1px) !important;
    filter:brightness(1.04) !important;
  }
}

@media (max-width:1180px) and (min-width:801px){
  body :is(a,button,input[type="submit"]).cta,
  body :is(a,button,input[type="submit"]).oh-mock-cta,
  body :is(a,button,input[type="submit"]).post-job-btn,
  body :is(a,button,input[type="submit"]).searchbtn,
  body :is(a,button,input[type="submit"]).ghost-btn,
  body :is(a,button,input[type="submit"]).legal-btn,
  body :is(a,button,input[type="submit"]).panel-btn,
  body :is(a,button,input[type="submit"]).save-job-btn{
    min-height:38px !important;
    padding-inline:13px !important;
    font-size:12px !important;
  }
  body .navlinks a,
  body .oh-mock-nav a{min-height:40px !important;height:40px !important;padding-inline:11px !important;font-size:12px !important;}
  body .live-pill{min-height:36px !important;padding-inline:11px !important;}
}

@media (max-width:800px){
  body :is(a,button,input[type="submit"]).cta,
  body :is(a,button,input[type="submit"]).oh-mock-cta,
  body :is(a,button,input[type="submit"]).post-job-btn,
  body :is(a,button,input[type="submit"]).searchbtn,
  body :is(a,button,input[type="submit"]).ghost-btn,
  body :is(a,button,input[type="submit"]).legal-btn,
  body :is(a,button,input[type="submit"]).panel-btn,
  body :is(a,button,input[type="submit"]).save-job-btn,
  body :is(a,button,input[type="submit"]).btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    height:auto !important;
    padding:0 13px !important;
    border-radius:10px !important;
    font-size:12px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
  }
  body :is(a,button,span).pill,
  body :is(a,button,span).filter-chip,
  body :is(a,button,span).chip,
  body :is(a,button,span).mini-chip,
  body :is(a,button,span).result-pill,
  body :is(a,button,span).oh-news-chip,
  body :is(a,button,span).read{
    min-height:24px !important;
    height:auto !important;
    padding:5px 10px !important;
    font-size:11px !important;
    line-height:1.05 !important;
  }
  body input.field,
  body select.field,
  body .field,
  body .toolbar-field input,
  body .toolbar-field select,
  body .search-input,
  body .select select{
    min-height:42px !important;
    height:42px !important;
    border-radius:10px !important;
    font-size:13px !important;
  }
  body .share-grid :is(a,button),
  body .copy-wide{width:auto !important;min-height:40px !important;padding:0 12px !important;border-radius:10px !important;}
}
