/* === FINAL FIX: mobile width + equal menu boxes === */

/* Global anti-overflow safety */
html,
body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

*,
*::before,
*::after{
  box-sizing:border-box !important;
}

img,
video,
iframe,
table{
  max-width:100% !important;
}

/* Prevent random sections/cards from pushing page right */
main,
section,
article,
div,
form{
  max-width:100% !important;
}

/* Header must never create horizontal overflow */
.pr-header-final{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.pr-header-inner{
  width:100% !important;
  max-width:1220px !important;
  overflow:hidden !important;
}

/* Desktop stays normal */
@media(min-width:901px){
  .pr-header-inner{
    margin:0 auto !important;
    padding:0 22px !important;
  }

  .pr-desktop-nav{
    display:flex !important;
  }

  .pr-mobile-nav{
    display:none !important;
  }
}

/* Mobile: equal boxes, inside screen */
@media(max-width:900px){

  html,
  body{
    width:100vw !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  .pr-header-final{
    width:100vw !important;
    max-width:100vw !important;
    overflow:hidden !important;
  }

  .pr-header-inner{
    width:100% !important;
    max-width:100% !important;
    padding:9px 10px 10px !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    overflow:hidden !important;
  }

  .pr-logo-link{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex:0 0 auto !important;
    overflow:hidden !important;
  }

  .pr-logo-img{
    width:220px !important;
    max-width:78vw !important;
    height:auto !important;
  }

  .pr-desktop-nav{
    display:none !important;
  }

  .pr-mobile-nav{
    display:grid !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
    grid-template-areas:
      "home home price price guide guide"
      "jobs jobs jobs calc calc calc" !important;
    gap:6px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .pr-mobile-nav a{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 2px !important;
    margin:0 !important;
    border:1px solid #eadfce !important;
    background:#fff !important;
    color:#151c24 !important;
    -webkit-text-fill-color:#151c24 !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-align:center !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .pr-mobile-nav .pr-home{
    grid-area:home !important;
  }

  .pr-mobile-nav .pr-price{
    grid-area:price !important;
  }

  .pr-mobile-nav .pr-guide{
    grid-area:guide !important;
  }

  .pr-mobile-nav .pr-jobs{
    grid-area:jobs !important;
    background:#fff8ed !important;
    color:#7a552a !important;
    -webkit-text-fill-color:#7a552a !important;
    border-color:#e6d8c6 !important;
  }

  .pr-mobile-nav .pr-calc{
    grid-area:calc !important;
    background:#151c24 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:#151c24 !important;
  }

  /* Main content mobile width fix */
  main,
  .wrap,
  .container,
  .section,
  section,
  article,
  .hero,
  .hero-inner,
  .hero-grid,
  .grid,
  .cards,
  .card-grid,
  .price-grid,
  .firm-grid,
  .guide-grid,
  .calculator-wrap,
  .calc-card,
  .form-card,
  .content-box,
  .price-card,
  .firm-card,
  .guide-card,
  .home-open-jobs-inner,
  .premium-band{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:hidden !important;
  }

  /* Convert problematic grids to one column */
  .hero-grid,
  .grid,
  .cards,
  .card-grid,
  .price-grid,
  .firm-grid,
  .guide-grid,
  .home-open-jobs-inner,
  .premium-band{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  /* Fix sections that had too much side padding */
  main > section,
  section,
  .section{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* Forms and inputs must fit */
  input,
  select,
  textarea,
  button{
    max-width:100% !important;
  }

  /* Tables can scroll internally, not push whole page */
  table{
    display:block !important;
    overflow-x:auto !important;
    width:100% !important;
  }
}

@media(max-width:370px){
  .pr-mobile-nav{
    gap:5px !important;
  }

  .pr-mobile-nav a{
    height:32px !important;
    min-height:32px !important;
    font-size:11px !important;
  }

  .pr-logo-img{
    width:205px !important;
    max-width:76vw !important;
  }
}
