/* Additions only: the original style.css remains unchanged. */
.hsh-hire { color:#fff; font-family:Poppins,Arial,sans-serif; line-height:1.5; text-align:left; }
.hsh-hire *, .hsh-add { box-sizing:border-box; }
.hsh-hire [hidden] { display:none !important; }
.hsh-hire p { font-size:14px; line-height:1.6; font-weight:300; padding:0; }
.hsh-hire h1 { font-size:28px; font-weight:300; line-height:1.3; }
.hsh-hire h2 { font-size:20px; font-weight:300; text-align:left; line-height:1.4; }
.hsh-hire h3 { font-size:16px; font-weight:400; line-height:1.4; margin:0; }
.hsh-hire a { text-decoration:underline; }
.hsh-hire .muted { color:#c9c9c9; }
.hsh-hire label { display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:300; }
.hsh-hire input,.hsh-hire select,.hsh-hire textarea { background:#121212; color:#fff; border:1px solid #777; border-radius:3px; font:inherit; line-height:1.4; padding:10px; min-height:44px; min-width:0; width:100%; }
.hsh-hire textarea { resize:vertical; }
.hsh-hire :focus-visible,.hsh-add:focus-visible { outline:2px solid #7dcbff; outline-offset:3px; }
.hsh-hire .button,.hsh-add { display:inline-block; background:#0171bb; color:#fff; border:1px solid #0171bb; border-radius:3px; padding:10px 15px; font:400 13px/1.5 Poppins,Arial,sans-serif; cursor:pointer; text-decoration:none; min-height:44px; text-align:center; }
.hsh-hire .button:hover,.hsh-add:hover { background:#005e9d; color:#fff; }
.hsh-hire button:disabled,.hsh-add:disabled { opacity:.5; cursor:wait; }
.hsh-hire .button-secondary { background:transparent; border-color:#777; }
.hsh-add { display:block; margin:8px 0; max-width:100%; white-space:normal; }
.hire-search { width:80%; margin:18px auto 22px; }
.hire-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.hire-toolbar label:first-child { flex:2 1 220px; }
.hire-toolbar label { flex:1 1 150px; }
.hire-toolbar > a { flex:0 0 auto; }
#search-panel { padding-top:10px; }
.hire-result { display:grid; grid-template-columns:75px minmax(0,1fr) 150px; gap:4px 15px; align-items:center; border-top:1px solid #444; padding:15px 0; }
.hire-result img { grid-column:1; grid-row:1/4; width:75px; height:75px; object-fit:contain; padding:0; }
.hire-result h3,.hire-result p { grid-column:2; margin:0; overflow-wrap:anywhere; }
.hire-result .hsh-add-controls { grid-column:3; grid-row:1/4; margin:0; }
.hire-workspace { width:80%; max-width:1100px; margin:30px auto 50px; }
.hire-controls,.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:22px 0; }
.quote-line { display:grid; grid-template-columns:minmax(0,1fr) 90px 120px auto; align-items:center; gap:18px; border-bottom:1px solid #444; padding:18px 0; }
.quote-line h2,.quote-line p { margin:0; }
.quote-line strong { text-align:right; }
.hsh-hire .text-button { padding:10px; min-height:44px; border:0; background:transparent; color:#9dd6ff; font:inherit; cursor:pointer; text-decoration:underline; }
.quote-total { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.hsh-hire .quote-total { font-size:20px; }
.quote-form { border-top:1px solid #444; margin-top:28px; padding-top:20px; }
.quote-form > label { margin:16px 0; }
.hsh-hire .contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.hire-announcement:not(:empty) { position:fixed; bottom:16px; left:50%; transform:translateX(-50%); width:calc(100% - 32px); max-width:600px; background:#093957; border:1px solid #7dcbff; border-radius:4px; padding:14px 18px; font-size:14px; z-index:100; }
@media(max-width:600px) {
 .hire-search,.hire-workspace { width:calc(100% - 32px); }
 .hire-controls,.form-grid { grid-template-columns:1fr; }
 .hire-toolbar > a { width:100%; }
 .hire-result { grid-template-columns:55px minmax(0,1fr); }
 .hire-result img { width:55px; height:55px; }
 .hire-result .hsh-add-controls { grid-column:2; grid-row:auto; justify-self:start; }
 .quote-line { grid-template-columns:1fr 1fr; gap:12px; }
 .quote-line > div { grid-column:1/-1; }
 .quote-line label { max-width:100px; }
 .quote-line .text-button { justify-self:start; }
 .hsh-add { padding:8px 6px; font-size:12px; }
}

.hsh-add-controls { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; margin:8px 0; font:400 13px/1.5 Poppins,Arial,sans-serif; text-align:left; }
.hsh-add-controls label { display:flex; flex-direction:row; align-items:center; gap:6px; color:#fff; font:inherit; width:auto; flex:0 0 auto; }
.hsh-add-controls input { box-sizing:border-box; width:64px; min-height:44px; background:#121212; color:#fff; border:1px solid #777; border-radius:3px; padding:8px; font:inherit; }
.hsh-add-controls input:focus-visible { outline:2px solid #7dcbff; outline-offset:3px; }
.hsh-add-controls .hsh-add { margin:0; }
.hire-result { grid-template-columns:75px minmax(0,1fr) 265px; }
@media(max-width:600px) { .hire-result { grid-template-columns:55px minmax(0,1fr); } }

.catalogue-message { width:80%; margin:24px auto; line-height:1.5; }
.extra-categories { width:80%; margin:24px auto; }
.extra-categories a { margin:8px; }
.equipment-description > div { flex:1; min-width:0; }

/* Breadcrumbs on the left; hire search on the right. */
.hire-search { width:calc(100% - 40px); }
.hire-navigation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; }
.hire-navigation .nav-bar { display:flex; align-items:center; flex-wrap:wrap; padding:0; min-width:0; flex:1 1 260px; }
.hire-navigation .nav-bar p { font-size:15px; font-weight:100; line-height:20px; }
.hire-navigation .nav-bar a { text-decoration:none; }
.hire-navigation .hire-toolbar { flex:0 1 600px; margin-left:auto; width:100%; }
.hire-navigation .hire-toolbar label:first-child { flex:2 1 190px; }
.hire-navigation .hire-toolbar label { flex:1 1 120px; }
.hire-search #search-panel { width:100%; }
.hire-item-line { display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; }
.hire-item-line > a { flex:1; min-width:0; overflow-wrap:anywhere; }
.hire-item-line .hsh-add-controls { flex:0 0 auto; margin:4px 0; }
.hsh-add-controls .hsh-add { white-space:nowrap; }
.equipment-rates { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
@media(max-width:800px) {
 .hire-item-line { flex-wrap:wrap; gap:4px 12px; }
 .hire-item-line > a { flex-basis:100%; }
}
@media(max-width:600px) {
 .hire-search { width:calc(100% - 32px); }
 .hire-navigation .hire-toolbar { flex-basis:100%; }
}

/* Quote controls occupy their own far-right column, beyond both prices. */
.hire-catalogue-table { width:calc(100% - 40px); }
.hire-catalogue-table td { vertical-align:middle; overflow-wrap:anywhere; }
.hire-item-actions .hsh-add-controls { justify-content:flex-end; margin:4px 0; }
.equipment-rates .hsh-add-controls { margin-left:auto; }
.hire-result .hsh-add-controls { justify-self:end; }
@media(max-width:600px) {
 .hire-catalogue-table { width:calc(100% - 32px); }
 .hire-catalogue-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .hire-catalogue-table tbody { display:block; }
 .hire-catalogue-table tr { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px 0; border-bottom:1px solid #444; }
 .hire-catalogue-table td:first-child { grid-column:1/-1; }
 .hire-catalogue-table td:nth-child(2)::before { content:'Per day: £'; }
 .hire-catalogue-table td:nth-child(3)::before { content:'Per week: £'; }
 .hire-catalogue-table .hire-item-actions { grid-column:1/-1; }
}

/* Compact quantity input with native increment/decrement arrows. */
.hsh-add-controls input { width:calc(2ch + 32px); padding:8px 4px; text-align:center; appearance:auto; -moz-appearance:auto; }
.hsh-add-controls input::-webkit-inner-spin-button { opacity:1; }

/* Brand-blue quantity arrows, consistent across browsers. */
.hsh-quantity-stepper { display:inline-flex; align-items:stretch; height:44px; }
.hsh-add-controls .hsh-quantity-stepper input { width:calc(2ch + 14px); padding:8px 6px; appearance:textfield; -moz-appearance:textfield; border-radius:3px 0 0 3px; }
.hsh-quantity-stepper input::-webkit-inner-spin-button,.hsh-quantity-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.hsh-quantity-arrows { display:flex; flex-direction:column; width:26px; }
.hsh-quantity-arrow { box-sizing:border-box; flex:1; min-height:0; width:26px; padding:0; border:1px solid #0171bb; background:#0171bb; color:#fff; font:14px/1 Arial,sans-serif; cursor:pointer; }
.hsh-quantity-arrow:first-child { border-radius:0 3px 0 0; border-bottom-color:#5da7d6; }
.hsh-quantity-arrow:last-child { border-radius:0 0 3px 0; }
.hsh-quantity-arrow:hover { background:#005e9d; }
.hsh-quantity-arrow:focus-visible { outline:2px solid #7dcbff; outline-offset:2px; z-index:1; }

/* Compact controls with identical, mirrored arrow shapes. */
.hsh-add-controls { gap:6px; }
.hsh-add-controls .hsh-add { min-height:36px; height:36px; padding:6px 10px; font-size:12px; line-height:22px; }
.hsh-quantity-stepper { height:36px; }
.hsh-add-controls .hsh-quantity-stepper input { min-height:36px; height:36px; padding:6px 5px; width:calc(2ch + 12px); }
.hsh-quantity-arrows { display:grid; grid-template-rows:18px 18px; width:22px; height:36px; }
.hsh-quantity-arrow { display:flex; align-items:center; justify-content:center; flex:none; width:22px; height:18px; min-height:0; padding:0; font-size:0; line-height:0; }
.hsh-quantity-arrow::before { content:''; display:block; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-bottom:4px solid #fff; }
.hsh-quantity-arrow:last-child::before { transform:rotate(180deg); }
