/* UPRENTALS seamless sticky header — additive styling, no React bundle edits. */
.site-shell > header:not(.private-admin-header) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  height: 88px !important;
  min-height: 88px !important;
  margin: 0 !important;
  padding: 10px clamp(20px, 3.2vw, 58px) !important;
  display: grid !important;
  grid-template-columns: minmax(110px,1fr) minmax(0,auto) minmax(160px,1fr) !important;
  grid-template-rows: 1fr;
  align-items: center;
  column-gap: clamp(16px,2vw,36px);
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(255,255,255,.97) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 0 !important;
  border-bottom: 1px solid rgba(24,67,40,.09) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: box-shadow .2s ease, background .2s ease;
}
.site-shell > header:not(.private-admin-header).upr-scrolled {
  box-shadow: 0 5px 18px rgba(14,52,31,.07) !important;
}
.site-shell > header:not(.private-admin-header) > .logo {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: center;
  width: 66px !important;
  min-width: 66px !important;
  height: 66px !important;
  margin: 0 !important;
}
.site-shell > header:not(.private-admin-header) > .logo .brand-logo {
  display: block;
  width: 66px !important;
  height: 66px !important;
  object-fit: contain;
}
.site-shell > header:not(.private-admin-header) > .header-contact {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center;
  min-width: 150px !important;
  min-height: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 12px 23px !important;
  font-size: 13px !important;
  font-weight: 750;
  border: 0;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-shadow: 0 4px 0 #c9e5d0 !important;
  white-space: nowrap;
}
.site-shell > header:not(.private-admin-header) > .header-contact svg {
  display: block !important;
  flex: none;
}
/* Hide the original React navigation only after the replacement has mounted. */
.site-shell > header.upr-nav-ready:not(.private-admin-header) > nav:not(.upr-smart-nav),
.site-shell > header.upr-nav-ready:not(.private-admin-header) > .mobile-menu {
  display: none !important;
}
.site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-smart-nav {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  display: flex !important;
  align-items: center;
  gap: clamp(2px,.55vw,11px);
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
}
.upr-smart-nav > a,
.upr-more > summary {
  min-height: 43px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 10px clamp(9px,.8vw,15px);
  color: #17281b;
  border-radius: 22px;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}
.upr-smart-nav > a:hover,
.upr-more > summary:hover,
.upr-smart-nav > a:focus-visible,
.upr-more > summary:focus-visible {
  color: #006c37;
  background: #edf7ef;
}
.upr-smart-nav > a[aria-current="page"] {
  background: #006b35;
  color: white;
}
.upr-more { position: relative; }
.upr-more > summary { list-style: none; }
.upr-more > summary::-webkit-details-marker { display: none; }
.upr-more > summary svg { width: 14px; height: 14px; transition: transform .16s ease; }
.upr-more[open] > summary { color: #006b35; background: #edf7ef; }
.upr-more[open] > summary svg { transform: rotate(180deg); }
.upr-more-menu {
  position: absolute;
  top: calc(100% + 13px);
  right: 0;
  z-index: 180;
  display: grid;
  gap: 4px;
  width: 242px;
  padding: 10px;
  background: #fff;
  border: 1px solid #e4ede5;
  border-radius: 15px;
  box-shadow: 0 18px 50px rgba(15,53,30,.14);
}
.upr-more-menu a {
  display: block;
  color: #1b2d20;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  padding: 13px 14px;
  border-radius: 9px;
  text-decoration: none;
}
.upr-more-menu a:hover, .upr-more-menu a:focus-visible { background: #edf7ef; color: #006b35; }
.upr-more-menu a[aria-current="page"] { background: #edf7ef; color: #006b35; }
.upr-mobile-toggle,
.upr-mobile-panel { display: none !important; }
/* The mobile menu activates before the navigation becomes cramped. */
@media (max-width: 1179px) {
  .site-shell > header:not(.private-admin-header) {
    grid-template-columns: auto minmax(0,1fr) auto auto !important;
    gap: 14px !important;
    padding-left: clamp(16px,2.8vw,32px) !important;
    padding-right: clamp(16px,2.8vw,32px) !important;
    height: 78px !important;
    min-height: 78px !important;
  }
  .site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-smart-nav { display: none !important; }
  .site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-mobile-toggle {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 46px;
    height: 46px;
    border: 1px solid #dce9de;
    border-radius: 13px;
    background: #f4faf5;
    color: #006b35;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    padding: 0;
  }
  .upr-mobile-toggle svg { width: 21px; height: 21px; }
  .site-shell > header:not(.private-admin-header) > .header-contact {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }
  .site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-mobile-panel:not([hidden]) {
    box-sizing: border-box;
    position: absolute;
    top: calc(100% + 1px);
    left: clamp(12px,2.8vw,28px);
    right: clamp(12px,2.8vw,28px);
    z-index: 200;
    padding: 18px;
    background: white;
    border: 1px solid #dceade;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 40px rgba(20,64,36,.14);
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 15px;
    max-height: calc(100dvh - 88px);
    overflow: auto;
    display: grid !important;
  }
  .upr-mobile-section { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
  .upr-mobile-section > strong {
    color: #56705d;
    font-size: 10px;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    padding: 7px 12px;
  }
  .upr-mobile-section > a {
    font-size: 13px;
    font-weight: 650;
    line-height: 1.3;
    color: #183624;
    border-radius: 10px;
    padding: 11px 12px;
    text-decoration: none;
  }
  .upr-mobile-section > a:hover,
  .upr-mobile-section > a:focus-visible,
  .upr-mobile-section > a[aria-current="page"] { color: #006b35; background: #eef8f0; }
}
@media (max-width: 600px) {
  .site-shell > header:not(.private-admin-header) {
    height: 70px !important;
    min-height: 70px !important;
    column-gap: 9px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .site-shell > header:not(.private-admin-header) > .logo,
  .site-shell > header:not(.private-admin-header) > .logo .brand-logo {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
  }
  .site-shell > header:not(.private-admin-header) > .header-contact {
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
    gap: 6px;
  }
  .site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-mobile-toggle {
    width: 42px; height: 42px; border-radius: 11px;
  }
  .site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-mobile-panel:not([hidden]) {
    left: 10px; right: 10px; padding: 11px; gap: 4px;
    max-height: calc(100dvh - 78px);
  }
  .upr-mobile-section > a { padding: 11px 9px; font-size: 12px; }
  .upr-mobile-section > strong { padding: 9px; }
}
@media (max-width: 359px) {
  .site-shell > header:not(.private-admin-header) > .header-contact { padding: 9px 10px !important; }
  .site-shell > header.upr-nav-ready:not(.private-admin-header) > .upr-mobile-panel:not([hidden]) { grid-template-columns: 1fr; }
}
.upr-mobile-panel[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .site-shell > header:not(.private-admin-header),
  .upr-smart-nav > a,
  .upr-more > summary { transition: none; }
}
/* Reset inherited FAQ-details styles inside the navigation dropdown. */
.site-shell > header.upr-nav-ready:not(.private-admin-header) .upr-more {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  line-height: normal;
}
.site-shell > header.upr-nav-ready:not(.private-admin-header) .upr-more > summary {
  margin: 0 !important;
  padding: 10px clamp(9px,.8vw,15px) !important;
  font-size: 13px;
}


/* UPRENTALS public UI polish, scoped away from admin routes. */
body:not(:has(.private-admin-header)) { overflow-x: clip; }
.site-shell > header:not(.private-admin-header) { isolation: isolate; }
.site-shell > main .product-card,
.site-shell > main .product-tile { transition: transform .18s ease, box-shadow .18s ease; }
@media (hover:hover) {
 .site-shell > main .product-card:hover,
 .site-shell > main .product-tile:hover { transform: translateY(-2px); box-shadow:0 12px 30px rgba(10,55,25,.09); }
}
.site-shell > main .product-card img { object-fit:contain; max-width:100%; }
.site-shell > main .product-grid { gap:clamp(16px,2vw,28px); }
.site-shell > main .benefits { gap:12px; }
.site-shell > main .benefits > div { min-width:0; }
.site-shell > main :is(a, button):focus-visible { outline:3px solid #17924e; outline-offset:3px; }
.site-shell > main :is(.product-card,.booking,.calendar-panel) { min-width:0; }
.site-shell > main .booking .calendar button { min-height:38px; border-radius:9px; }
.site-shell > main .booking .calendar button:focus-visible { outline:3px solid #006b35; outline-offset:2px; }
.site-shell > main .booking input,
.site-shell > main .booking select,
.site-shell > main .booking textarea { min-height:44px; }
.site-shell > main .booking form::before {
 content:'Booking steps  ·  1. Schedule   →   2. Your details   →   3. Requirements   →   4. Review';
 display:block; max-width:100%; white-space:normal; margin:0 0 18px;
 border-radius:12px; background:#f2f8f2; color:#25543a;
 font-size:12px; font-weight:700; line-height:1.6; padding:13px 16px;
}
.site-shell > main :is(.trust,.process-section) { scroll-margin-top:110px; }
.upr-mobile-action { display:none; }
@media(max-width:700px){
 .site-shell > main .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .site-shell > main .benefits { padding-left:16px; padding-right:16px; }
 .site-shell > main .booking { min-width:0; }
 .site-shell > main .booking form::before { font-size:11px; }
 .upr-mobile-action {display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:14px;right:14px;z-index:95;pointer-events:none;justify-content:center;}
 .upr-mobile-action a { pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:9px;
   min-height:48px;width:min(100%,390px);color:#fff;background:#006b35;border-radius:999px;
   font:700 14px 'DM Sans',Arial,sans-serif;text-decoration:none;box-shadow:0 10px 28px rgba(0,60,27,.28); }
 body.upr-has-mobile-action { padding-bottom:78px; }
}
@media(max-width:430px){
 .site-shell > main .product-grid {grid-template-columns:minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){
 .site-shell > header:not(.private-admin-header),
 .site-shell > main .product-card, .site-shell > main .product-tile {transition:none!important;}
}

.upr-mobile-action[hidden] {display:none!important;}


/* UPRENTALS V5 — dedicated About Us: brand purpose and vision. */
.reading.upr-about-page{max-width:1080px;width:calc(100% - 40px);margin-inline:auto;padding:clamp(28px,5vw,70px) 0 clamp(64px,7vw,96px);min-height:0}
.upr-about-page .upr-about-intro{max-width:720px;margin:18px 0 clamp(26px,3vw,36px);font-size:clamp(15px,1.7vw,18px);line-height:1.8;color:#526b59}
.upr-about-page .upr-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,24px);margin:0 0 clamp(24px,3vw,36px)}
.upr-about-page .upr-purpose-card{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0;min-height:310px;margin:0;padding:clamp(22px,3.5vw,36px);background:linear-gradient(155deg,#f7fbf7 0%,#edf5ef 100%);border:1px solid #d5e5d9;border-radius:22px;box-shadow:0 10px 32px rgba(21,72,39,.04)}
.upr-about-page .upr-purpose-card:nth-child(2){background:linear-gradient(155deg,#fdfefd 0%,#f3f7f4 100%)}
.upr-about-page .upr-purpose-number{font-size:11px;letter-spacing:.14em;font-weight:750;text-transform:uppercase;color:#37744d}
.upr-about-page .upr-purpose-card h2{color:#17462a;font-size:clamp(25px,2.5vw,33px);line-height:1.15;letter-spacing:-.025em;margin:0 0 3px;font-weight:800}
.upr-about-page .upr-purpose-card p{color:#425e4a;font-size:clamp(14px,1.2vw,16px);line-height:1.75;margin:0;overflow-wrap:break-word}
.upr-about-page .upr-about-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:0}
.upr-about-page .upr-about-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none}
@media(max-width:700px){.reading.upr-about-page{width:calc(100% - 32px);padding:26px 0 70px}.upr-about-page .upr-purpose-grid{grid-template-columns:minmax(0,1fr)}.upr-about-page .upr-purpose-card{min-height:auto;padding:24px;gap:14px}.upr-about-page .upr-about-actions{flex-direction:column;align-items:stretch}.upr-about-page .upr-about-actions a{width:100%}}
