/* Prime Site & Septic — site stylesheet */
body{margin:0;background:#fff;font-family:'Source Sans 3',sans-serif;color:#4A4A4A}
a{color:#D2252A}
a:hover{color:#A81D22}
summary::-webkit-details-marker{display:none}
@media(max-width:1100px){[data-r=nav]{display:none!important}
[data-r=burger]{display:block!important}
}
@media(max-width:640px){[data-r=phonetext]{display:none!important}
[data-r=topbar]{display:none}
}
*{box-sizing:border-box}

/* Hover & focus states */
.ps-h1:hover{color:#fff !important}
.ps-h2:hover{color:#D2252A !important}
.ps-h3:hover{background:#A81D22 !important;color:#fff !important}
.ps-h4:hover{color:#D2252A !important;background:#111 !important}
.ps-h5:hover{background:#fff !important;color:#0E0E0E !important}
.ps-h6:hover{border-color:#D2252A !important;box-shadow:0 16px 36px rgba(0,0,0,.1) !important}
.ps-h7:hover{background:#D2252A !important;color:#fff !important}
.ps-h8:hover{border-color:#D2252A !important}
.ps-f9:focus{border-color:#D2252A !important}
.ps-h10:hover{background:#0E0E0E !important;color:#fff !important}
.ps-h11:hover{color:#A81D22 !important}

/* ---------- Tablet & phone fixes ---------- */
img{max-width:100%}
a[href^="mailto:"]{overflow-wrap:anywhere}

/* Get a Quote: stack form and sidebar on tablets and phones */
@media(max-width:960px){
  [data-r=qgrid]{grid-template-columns:minmax(0,1fr)!important}
  [data-r=qgrid]>aside{position:static!important}
}

/* Tablets: gallery shows 2 columns, so let the last photo fill the row */
@media(min-width:641px) and (max-width:859px){
  [style*="grid-auto-rows:240px"]>:last-child{grid-column:span 2!important}
}

/* Phones */
@media(max-width:640px){
  /* Header: make logo, call, quote and menu buttons fit */
  header img[src*="logo"]{height:52px!important}
  header [style*="white-space:nowrap"]{gap:10px!important}
  header a[href="get-a-quote.html"]{padding:11px 14px!important;font-size:13px!important}
  header [data-r=burger] summary{width:42px!important;height:42px!important}

  /* Photo gallery: one photo per row, no double-wide tiles */
  [style*="grid-auto-rows:240px"]>[style*="span 2"]{grid-column:span 1!important;grid-row:span 1!important}

  /* Tall photos: keep them a sensible height on small screens */
  img[style*="object-fit:cover"]:not([style*="height:100%"]):not([style*="position:absolute"]){max-height:340px}
  img[style*="position:absolute"][style*="right:-12px"]{right:0!important}

  /* Less empty space between sections */
  section[style*="padding:100px 0"],section [style*="padding:100px 0"]{padding-top:64px!important;padding-bottom:64px!important}
  section[style*="padding:80px 0"]{padding-top:56px!important;padding-bottom:56px!important}

  /* Form boxes: a little less padding so fields have room */
  form[style*="padding:32px"],form [style*="padding:30px"],[style*="padding:32px;display:flex;flex-direction:column;gap:14px"]{padding:22px!important}
}
