/* HireWay Group: visual-preserving responsive and overflow fixes. Keep this stylesheet last. */
:root { --hw-navy:#111154; --hw-orange:#ff7415; }
*,*::before,*::after { box-sizing:border-box; }
html { width:100%; max-width:100%; overflow-x:clip; }
body { width:100%; max-width:100%; overflow-x:clip; }
body > header.hw-header, .hw-header { width:100% !important; max-width:100%; left:0; right:0; }
.hw-header-container { min-width:0; max-width:100%; }
.hw-header .template_header_columns { max-width:1170px; margin-inline:auto; }
.hw-header .wp-block-column { min-width:0; }
.hw-header .hw-logo { display:inline-flex; align-items:center; max-width:100%; }
.hw-header .hw-logo img { width:clamp(155px,17vw,215px); height:auto; max-height:76px; object-fit:contain; }
.hw-main, #site-content { width:100%; max-width:100%; overflow-x:clip; }
.hw-main :is(section,article,div,form,fieldset) { max-width:100%; }
.hw-main :is(img,video,iframe,canvas,svg) { max-width:100%; }
.hw-main :is(h1,h2,h3,h4,p,a,span,strong,label) { overflow-wrap:break-word; }
.hw-main :is(.container,.row,.wp-block-group,.wp-block-columns,.wp-block-column,.wpforms-container,.wpforms-form) { min-width:0; }
.hw-main .wp-block-columns { flex-wrap:wrap; }
.hw-main input, .hw-main select, .hw-main textarea, .hw-main button { max-width:100%; }
.hw-main input:not([type=checkbox]):not([type=radio]), .hw-main select, .hw-main textarea { min-width:0; }
.hw-main :is(table,.table) { max-width:100%; }
.hw-wpform, .hw-php-form, .hw-wpform .wpforms-field-container, .hw-wpform .wpforms-field { width:100%; min-width:0; max-width:100% !important; }
.hw-form-columns { width:100%; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.hw-form-columns > * { min-width:0; max-width:100%; }
.hw-wpform input[type=file] { width:100%; min-width:0; overflow-wrap:anywhere; }
.hw-wpform .hw-signature-wrap { width:100%; max-width:100%; }
.hw-wpform .hw-signature { max-width:100%; }
.hw-main form.contact-form, .hw-main form#contactForm { width:100%; max-width:100%; min-width:0; }
.hw-main form.contact-form :is(input,select,textarea), .hw-main form#contactForm :is(input,select,textarea) { box-sizing:border-box; max-width:100%; }
.hw-footer { overflow:hidden; }
.hw-footer .footer-container { width:100%; max-width:1250px; margin-inline:auto; padding:3rem clamp(18px,3vw,38px) 0; gap:clamp(1rem,3vw,3rem); grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.5fr); }
.hw-footer .footer-column { min-width:0; overflow-wrap:anywhere; }
.hw-footer .footer-column img { max-width:100%; width:230px; height:auto; }
.hw-footer .footer-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hw-footer .hw-footer-email { font-size:.93rem; overflow-wrap:anywhere; }
.hw-footer .illustration-footer { max-width:140px; }
/* Keep the mobile navigation within the viewport instead of using a fixed 500px-high panel. */
@media(max-width:1050px) and (min-width:851px) {
  .hw-header .wp-block-columns { gap:.65rem; }
  .hw-header .menu-items { gap:4px; font-size:14px; }
  .hw-header .right-group { gap:5px; }
  .hw-header .menu-link,.hw-header .menu-button { padding:6px 7px; }
}
@media(max-width:900px) {
  .hw-footer .footer-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hw-footer .footer-container>.footer-column:last-of-type { grid-column:1/-1; }
}
@media(max-width:850px) {
  .hw-header .template_header_columns { padding-top:12px !important; padding-bottom:12px !important; }
  .hw-header .wp-block-column:first-child { flex:0 1 200px; }
  .hw-header .menu-items { width:100vw; max-width:100%; height:100dvh !important; min-height:0; max-height:100dvh !important; inset:0 !important; padding:75px 22px 28px; overflow-y:auto; overscroll-behavior:contain; }
  .hw-header .menu-items.show { display:flex; align-items:stretch; }
  .hw-header .menu-items li, html[lang="ar"] .hw-header .menu-items li { width:100%; max-width:100%; }
  .hw-header .menu-items a { display:block; max-width:100%; }
  .hw-header .menu-items .right-group { width:100%; max-width:100%; }
  .hw-header .menu-items .dropdown-menu { left:auto; right:auto; position:relative; width:100%; }
  .hw-header .hamburger { position:absolute; top:50%; right:16px !important; left:auto !important; transform:translateY(-50%); z-index:201; }
  .hw-header .close-btn { position:fixed; top:20px; right:20px; z-index:211; }
  .hw-header .menu-items.show ~ .hamburger { visibility:hidden; }
  html[lang="ar"] .hw-header .hamburger { left:16px !important; right:auto !important; }
  .hw-header .has-submenu .submenu { max-width:100%; }
}
@media(max-width:650px) {
  .hw-form-columns { grid-template-columns:minmax(0,1fr); gap:0; }
  .hw-wpform { padding:16px !important; margin:0 auto 1rem !important; }
  .hw-main .wp-block-columns { flex-direction:column; gap:1rem; }
  .hw-main :is(h1,h2) { max-width:100%; }
  .hw-footer .footer-container { grid-template-columns:minmax(0,1fr); text-align:center; padding:2rem 18px 0; }
  .hw-footer .footer-container>.footer-column:last-of-type { grid-column:auto; }
  .hw-footer .footer-socials { justify-content:center; }
  .hw-footer .footer-column { text-align:center; }
  .hw-footer .footer-services { grid-template-columns:minmax(0,1fr) !important; }
  .hw-footer .footer-nav { margin:0; }
  .hw-footer .illustration-footer { display:none; }
  .hw-header .hw-logo img { width:180px; max-height:64px; }
}
@media(max-width:850px){body.hw-menu-open{overflow:hidden;}}
