/* V10.4 spacing/accessibility only. Existing UPRENTALS theme and page structure retained. */
:root{--upr-control-gap:12px;--upr-block-gap:20px;--upr-focus:#16834a}
:is(.site-shell,.admin-desk,.admin-card,.booking,.calendar-panel,.panel,.top,.section-head,.section-title,.toolbar){min-width:0}
:is(button,.button,.outline,a.action,a.secondary){box-sizing:border-box;line-height:1.4;letter-spacing:normal;white-space:normal;overflow-wrap:break-word;min-height:44px}
:is(button,.button,.outline,a.action,a.secondary):not(.calendar button):not(.calendar-head button):not(.gallery-thumbs button):not(.mobile-menu):not(#calendar-grid button){padding:11px 17px}
:is(button,.button,.outline,a.action,a.secondary):focus-visible{outline:3px solid var(--upr-focus);outline-offset:3px}
:is(.button,.outline,.action,.secondary){gap:9px}
:is(.button,.outline) svg{flex:0 0 auto}
:is(.button,.outline)+:is(p,small){display:block;margin-top:14px;line-height:1.65}
:is(p,small)+:is(.button,.outline){margin-top:12px}
:is(.form-grid,.admin-columns,.metrics,.editor-grid,.backup-grid,.card-grid){gap:18px}
:is(.form-grid)>*{min-width:0}
:is(.booking,.admin-desk,.panel,.admin-card) :is(label){line-height:1.55;overflow-wrap:break-word}
:is(.booking,.admin-desk,.panel,.admin-card) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){box-sizing:border-box;max-width:100%;min-width:0;line-height:1.5}
:is(.booking,.admin-desk,.panel,.admin-card) :is(input[type=date],input[type=time],input[type=datetime-local],input[type=text],input[type=email],input[type=tel],select){min-height:46px}
:is(.check){gap:9px;line-height:1.65;margin-block:14px}
:is(.check) :is(input[type=checkbox],input[type=radio]){width:18px;min-width:18px;height:18px;flex:0 0 18px;vertical-align:middle;margin-right:7px}
:is(.check) a{margin-inline:3px;text-underline-offset:3px}
:is(.summary)>div{column-gap:20px;row-gap:7px;padding-block:9px;align-items:start}
:is(.summary)>div>*{min-width:0;overflow-wrap:break-word}
:is(.summary)>div>:last-child{text-align:right}
:is(.title-row,.section-head,.section-title,.toolbar,.inline-actions,.top-actions,.quick-links,.requirements-actions,.admin-filters){gap:14px;flex-wrap:wrap}
:is(.section-head,.section-title)>div{flex:1 1 280px;min-width:0}
:is(.section-head,.section-title)>:is(a,button){flex:0 1 auto;align-self:flex-start;margin:0}
:is(.toolbar,.inline-actions,.top-actions){align-items:center}
:is(.toolbar) label{min-width:min(100%,180px)}
:is(.admin-card) :is(h3,h4){margin-top:18px;margin-bottom:12px;line-height:1.3}
:is(.admin-card)>:is(h3,h4):first-child{margin-top:0}
:is(.admin-card,.requirements-review) :is(form,details)+:is(form,details){margin-top:22px}
:is(.admin-tabs){gap:8px}
:is(.admin-tabs) button{line-height:1.45;padding:11px 14px;text-align:left}
:is(table) :is(th,td){vertical-align:top;line-height:1.6}
:is(td)>small{display:block;margin-top:6px;line-height:1.5}
:is(td) :is(button,a.action)+:is(button,a.action){margin-left:8px}
:is(.table-wrap,.scroll){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
:is(.private-admin-header){width:100%;max-width:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding-inline:clamp(16px,4vw,56px)}
:is(.private-admin-header) :is(.admin-header-actions,.admin-toolbar){display:flex;align-items:center;gap:10px;margin-left:auto}
:is(.compact-footer){padding-block:30px 22px}
:is(.compact-footer) :is(.footer-brand,.footer-explore,.footer-good,.footer-connect){min-width:0;row-gap:10px}
:is(.compact-footer) :is(p,small,a){line-height:1.6;overflow-wrap:anywhere}
:is(.footer-bottom){display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:18px}
:is(.footer-copyright){display:block;line-height:1.6}
:is(.registration-footer-link){display:inline-block;margin:0!important;line-height:1.6}
.upr-request-complete{margin:20px 0;padding:18px;border:1px solid #c6ddcc;border-radius:12px;background:#f1f8f0;line-height:1.65}
.upr-request-complete p{margin:0 0 14px}.upr-request-complete a{display:inline-flex;align-items:center;justify-content:center}
.upr-result-focus:focus{outline:2px solid var(--upr-focus);outline-offset:5px}
:is(.top) :is(nav,.top-actions){column-gap:16px;row-gap:12px;align-items:center}
@media(max-width:700px){
 :is(.form-grid,.admin-filters){grid-template-columns:minmax(0,1fr)}
 :is(.form-grid) .wide{grid-column:auto}
 :is(.booking,.admin-desk,.panel,.admin-card) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){width:100%;font-size:16px}
 :is(.section-head,.section-title){align-items:flex-start}
 :is(.section-head,.section-title)>div{flex-basis:100%}
 :is(.section-head,.section-title)>:is(a,button){flex:1 1 130px;justify-content:center;text-align:center}
 :is(.toolbar){align-items:stretch}
 :is(.toolbar)>label{flex:1 1 100%;width:100%}
 :is(.toolbar)>button{flex:1 1 140px}
 :is(.private-admin-header){gap:12px;padding:12px 16px;flex-wrap:wrap}
 :is(.private-admin-header) .brand-logo{max-width:58px;max-height:58px}
 :is(.compact-footer){padding:26px 18px 22px;column-gap:18px;row-gap:24px}
 :is(.compact-footer) .footer-brand{gap:12px}
 :is(.compact-footer) :is(.footer-explore,.footer-good){gap:10px}
 :is(.compact-footer) .footer-connect{gap:12px}
 :is(.compact-footer) h4{margin-bottom:12px}
 :is(.footer-bottom){flex-direction:column;align-items:flex-start;gap:10px}
 :is(.footer-copyright){text-align:left;white-space:normal}
 :is(.inline-actions,.top-actions){gap:10px}
 :is(.inline-actions) button{flex:1 1 150px}
 .upr-request-complete a{width:100%;min-height:46px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.private-admin-header button[aria-label]{width:44px;height:44px;min-width:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center}

.upr-current-policy{background:#fff;border:1px solid #dfe8df;border-radius:14px;padding:clamp(20px,4vw,36px);margin:16px auto 24px;max-width:950px;line-height:1.75}.upr-current-policy h1{font-size:clamp(28px,5vw,42px);line-height:1.2;margin:0 0 16px}.upr-current-policy h2{font-size:20px;line-height:1.4;margin:24px 0 12px}.upr-current-policy p,.upr-current-policy li{overflow-wrap:anywhere}.upr-current-policy li+li{margin-top:12px}.upr-policy-reference{max-width:950px;margin:auto}.upr-policy-reference summary{padding:16px;border:1px solid #dfe8df;border-radius:10px;background:#fff;cursor:pointer;line-height:1.5}.upr-policy-reference-note{margin-top:24px;color:#526b59;font-size:13px}

/* V10.6.1: compact independent rate boxes and readable calendar labels. */
.site-shell .booking .range-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;padding:0;background:transparent}
.site-shell .booking .range-guide-step{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-width:0;min-height:0;padding:12px;border:1px solid #d7e5db;border-radius:10px;box-sizing:border-box;line-height:1.5}
.site-shell .booking .range-guide-step small{display:block;font-size:10px;line-height:1.5;letter-spacing:.025em;margin:0}
.site-shell .booking .range-guide-step strong{display:block;font-size:14px;line-height:1.5;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.site-shell .booking .calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.site-shell .booking .calendar button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:6px 0!important;box-sizing:border-box;line-height:1.2;overflow-wrap:normal}
.site-shell .booking .calendar .date-number{display:block;line-height:1.2;font-size:14px}
.site-shell .booking .calendar .date-role{display:block!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:7px!important;line-height:1.3!important;letter-spacing:0!important}
.site-shell .booking .legend{display:flex;flex-wrap:wrap;gap:10px 14px;line-height:1.7;margin-top:18px}
.site-shell .booking .calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:20px 16px}
.site-shell .booking .calendar-head button{display:grid;place-items:center;width:40px;min-width:40px;height:44px;min-height:44px;padding:0!important;color:#17633c;font-size:20px}
/* Existing JSX nests tier three inside tier two. Grid flattens that wrapper visually,
   preserving React-owned nodes, handlers and current database prices. */
.site-shell .showcase .hero-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;column-gap:10px;row-gap:0;width:100%;max-width:430px;align-items:stretch;margin-block:14px 18px}
.site-shell .showcase .hero-rates>div:first-child,.site-shell .showcase .hero-rates>div:nth-child(2)>.best-rate{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;padding:12px;min-width:0;box-sizing:border-box;border:1px solid #cbdcca;border-radius:11px;background:#fff;grid-row:1/3;margin:0;min-height:0}
.site-shell .showcase .hero-rates>div:first-child{grid-column:1}
.site-shell .showcase .hero-rates>div:nth-child(2){display:contents}
.site-shell .showcase .hero-rates>div:nth-child(2)>.best-rate{grid-column:3;background:#e8f4e3}
.site-shell .showcase .hero-rates>div:nth-child(2)>span{grid-column:2;grid-row:1;padding:12px 12px 0;border:1px solid #cbdcca;border-bottom:0;border-radius:11px 11px 0 0;background:#e8f4e3;box-sizing:border-box}
.site-shell .showcase .hero-rates>div:nth-child(2)>strong{grid-column:2;grid-row:2;padding:7px 12px 12px;border:1px solid #cbdcca;border-top:0;border-radius:0 0 11px 11px;background:#e8f4e3;box-sizing:border-box;align-content:start}
.site-shell .showcase .hero-rates span{display:block;font-size:11px;line-height:1.5;white-space:normal;margin:0;min-width:0;color:#586b5d}
.site-shell .showcase .hero-rates strong{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 4px;font-size:22px;line-height:1.3;margin:0;min-width:0;white-space:normal}
.site-shell .showcase .hero-rates strong small{font-size:10px;line-height:1.4;margin:0;white-space:nowrap}
@media(max-width:600px){.site-shell .showcase .hero-rates{gap:0 8px;max-width:360px}.site-shell .showcase .hero-rates>div:first-child,.site-shell .showcase .hero-rates>div:nth-child(2)>.best-rate{padding:10px 8px}.site-shell .showcase .hero-rates>div:nth-child(2)>span{padding:10px 8px 0}.site-shell .showcase .hero-rates>div:nth-child(2)>strong{padding:7px 8px 10px}.site-shell .showcase .hero-rates strong{font-size:18px}.site-shell .showcase .hero-rates span{font-size:10px}.site-shell .booking .range-guide{gap:10px}.site-shell .booking .calendar button{min-height:54px}.site-shell .booking .calendar .date-number{font-size:13px}}
@media(max-width:359px){.site-shell .showcase .hero-rates strong{font-size:16px}.site-shell .showcase .hero-rates strong small{flex-basis:100%;font-size:9px}.site-shell .booking .range-guide-step{padding:10px 8px}.site-shell .booking .range-guide-step strong{font-size:12px}.site-shell .booking .range-guide-step small{font-size:9px}.site-shell .booking .calendar{gap:5px}}
