.prm-calendar-stack{display:grid;gap:20px}
.prm-month h4{margin:0 0 8px;color:#dcdce4;text-transform:capitalize}
.prm-public .prm-days [data-date].available{background:#176b3a;color:#fff;cursor:pointer;transition:.15s}
.prm-public .prm-days [data-date].available small{color:#d9fbe7}
.prm-public .prm-days [data-date].available:hover{background:#218c50;outline:2px solid #9ff2bf;outline-offset:-2px}
.prm-public .prm-days [data-date].unavailable{background:#8a2431;color:#fff;cursor:not-allowed;opacity:.9}
.prm-public .prm-days [data-date].unavailable small{color:#ffd7dc}
.prm-public .prm-days [data-date].boundary-start,.prm-public .prm-days [data-date].boundary-end{position:relative;isolation:isolate;overflow:hidden;background:#176b3a}.prm-public .prm-days [data-date].boundary-start:before,.prm-public .prm-days [data-date].boundary-end:after{position:absolute;z-index:-1;inset:0;background:#8a2431;content:""}.prm-public .prm-days [data-date].boundary-start:before{clip-path:polygon(0 0,100% 0,100% 100%)}.prm-public .prm-days [data-date].boundary-end:after{clip-path:polygon(0 0,0 100%,100% 100%)}.prm-public .prm-days [data-date].boundary-start small,.prm-public .prm-days [data-date].boundary-end small{color:#fff;text-shadow:0 1px 3px #000}.prm-public .prm-days [data-date].boundary-start b,.prm-public .prm-days [data-date].boundary-end b{text-shadow:0 1px 3px #000}
.prm-public.prm-choosing-return .prm-days [data-date].boundary-start[data-end-available="1"]{cursor:pointer}.prm-public.prm-choosing-return .prm-days [data-date].boundary-start[data-end-available="1"]:hover{outline:2px solid #c4aaff;outline-offset:-2px}
.prm-public .prm-days [data-date].past{background:#202027;color:#73737e;cursor:not-allowed;opacity:.72}
.prm-public .prm-days [data-date].past small{color:#73737e}
.prm-public .prm-days [data-date].selected{background:#8b5cf6;color:#fff;outline:2px solid #c4aaff;outline-offset:-2px}
.prm-public .prm-days [data-date].in-range{background:#51358a}
.prm-selection-help{margin-top:28px;padding:14px;border-left:3px solid #8b5cf6;background:#8b5cf615;color:#cfc7df;font-size:.84rem}
.prm-price-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.prm-price-info span{padding:13px;border:1px solid #ffffff17;border-radius:11px;background:#09090d}.prm-price-info small,.prm-price-info strong{display:block}.prm-price-info small{color:#8f8f9b;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.prm-price-info strong{margin-top:3px;color:#fff;font-size:1rem}
.prm-price-info>span{position:relative}.prm-price-info small{display:flex;align-items:center;justify-content:space-between;gap:8px}.prm-price-help{position:relative;display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;padding:0;border:1px solid #8b5cf6;border-radius:50%;background:#211637;color:#d9c9ff;font-family:inherit;font-size:.68rem;font-weight:800;line-height:1;cursor:help;text-transform:none}.prm-price-help>span{position:absolute;z-index:20;right:-8px;bottom:calc(100% + 10px);display:block;width:245px;padding:12px 14px;border:1px solid #ffffff26;border-radius:10px;background:#23232d;box-shadow:0 14px 35px #000b;color:#fff;font-size:.75rem;font-weight:600;line-height:1.45;letter-spacing:0;text-align:left;text-transform:none;opacity:0;visibility:hidden;transform:translateY(5px);transition:.16s;pointer-events:none}.prm-price-help>span:after{position:absolute;right:10px;top:100%;border:6px solid transparent;border-top-color:#23232d;content:""}.prm-price-help:hover,.prm-price-help:focus{border-color:#c4aaff;background:#8b5cf6;color:#fff;outline:none}.prm-price-help:hover>span,.prm-price-help:focus>span,.prm-price-help:focus-visible>span{opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:500px){.prm-price-help>span{right:-4px;width:min(230px,75vw)}}
.prm-reservation{margin-top:45px;padding:35px;border:1px solid #ffffff1a;border-radius:22px;background:linear-gradient(145deg,#191920,#101015)}
.prm-reservation>div:first-child>span{color:#b99eff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.prm-reservation h2{margin:8px 0 15px}
.prm-reservation>div:first-child>p{color:#aaaab6}
.prm-reservation-form{display:grid;gap:17px;margin-top:28px}
.prm-reservation-form label{display:grid;gap:6px;color:#d8d8df;font-size:.78rem;font-weight:800}
.prm-reservation-form input,.prm-reservation-form select,.prm-reservation-form textarea{width:100%;padding:13px;border:1px solid #ffffff24;border-radius:10px;background:#09090d;color:#fff;font:inherit}
.prm-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.prm-reservation-form .button{justify-self:start}
.prm-fulfilment-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.prm-reservation-form .prm-installation{display:flex;grid-template-columns:none;align-items:center;gap:10px;min-height:47px;padding:12px 14px;border:1px solid #ffffff24;border-radius:10px;background:#09090d;cursor:pointer}
.prm-reservation-form .prm-installation[hidden]{display:none}
.prm-reservation-form .prm-installation input{width:18px;height:18px;margin:0;accent-color:#8b5cf6}
.prm-reservation-form .prm-hourly-options[hidden]{display:none}.prm-hourly-options small{color:#92929f;font-weight:500}
.prm-addon-options{display:grid;gap:9px;margin:0;padding:14px;border:1px solid #ffffff1f;border-radius:12px}.prm-addon-options legend{padding:0 7px;color:#b99eff;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.prm-reservation-form .prm-addon-options label{display:grid;grid-template-columns:18px 1fr 105px;align-items:center;gap:12px;padding:10px 12px;border:1px solid #ffffff17;border-radius:10px;background:#09090d;cursor:pointer}.prm-addon-options input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#8b5cf6}.prm-addon-options span{display:grid;gap:2px}.prm-addon-options small{color:#92929f;font-size:.68rem;font-weight:500}.prm-addon-options select{padding:9px}@media(max-width:600px){.prm-reservation-form .prm-addon-options label{grid-template-columns:18px 1fr}.prm-addon-options select{grid-column:2}}
.prm-reservation-form .prm-terms{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;color:#d8d8df;font-weight:700;cursor:pointer}.prm-reservation-form .prm-terms input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0;accent-color:#8b5cf6}.prm-reservation-form .prm-terms a{color:#b99eff;text-underline-offset:3px}.prm-reservation-form .prm-terms a:hover{color:#fff}
.prm-terms-dialog{width:min(820px,calc(100% - 28px));max-width:none;height:min(86vh,900px);max-height:none;padding:0;overflow:hidden;border:1px solid #ffffff24;border-radius:18px;background:#111117;color:#f8f8fa;box-shadow:0 30px 90px #000c}.prm-terms-dialog::backdrop{background:#050508d9;backdrop-filter:blur(5px)}.prm-terms-modal{display:flex;height:100%;min-height:0;flex-direction:column}.prm-terms-modal header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:20px;padding:20px 24px;border-bottom:1px solid #ffffff17;background:linear-gradient(110deg,#211637,#15151c)}.prm-terms-modal header small{color:#b99eff;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.prm-terms-modal header h2{margin:4px 0 0;font-size:clamp(1.5rem,4vw,2.25rem);letter-spacing:-.03em}.prm-close-terms{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;padding:0;border:1px solid #ffffff24;border-radius:50%;background:#09090d;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.prm-close-terms:hover,.prm-close-terms:focus{border-color:#8b5cf6;background:#8b5cf6;outline:none}.prm-terms-modal-content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px}.prm-terms-modal-content h2{margin:32px 0 12px;font-size:1.3rem;line-height:1.25;letter-spacing:-.02em}.prm-terms-modal-content h2:first-of-type{margin-top:4px}.prm-terms-modal-content p,.prm-terms-modal-content li{color:#d0d0d8;font-size:.88rem}.prm-terms-modal-content ol,.prm-terms-modal-content ul{padding-left:1.35rem}.prm-terms-modal-content li{margin:.35rem 0}.prm-terms-modal-content strong{color:#fff}@media(max-width:600px){.prm-terms-dialog{height:90vh}.prm-terms-modal header,.prm-terms-modal-content{padding:17px}.prm-terms-modal-content p,.prm-terms-modal-content li{font-size:.82rem}}
.prm-delivery-details{display:grid;gap:12px;margin:12px 0;padding:16px;border:1px solid #8b5cf64d;border-radius:14px;background:#8b5cf60b}.prm-delivery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.prm-delivery-heading strong{color:#fff}.prm-delivery-heading small{color:#b99eff;font-weight:800}.prm-reservation-form .prm-different-delivery{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #ffffff1f;border-radius:10px;background:#09090d;cursor:pointer}.prm-reservation-form .prm-different-delivery input{flex:0 0 auto;width:18px;height:18px;min-height:0;margin:0;accent-color:#8b5cf6}.prm-delivery-address-fields{display:grid;grid-template-columns:1.6fr .65fr .9fr 1.2fr;align-items:end;gap:12px}.prm-delivery-address-fields[hidden],.prm-delivery-details[hidden]{display:none}.prm-delivery-address-fields label{display:grid;width:100%;gap:6px}.prm-delivery-address-fields input{box-sizing:border-box;width:100%;min-height:50px;margin:0}.prm-address-details{display:grid;grid-template-columns:1.6fr .65fr .9fr 1.2fr;gap:14px;margin:0;padding:14px;border:1px solid #ffffff1f;border-radius:12px}.prm-address-details legend{padding:0 7px;color:#b99eff;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.prm-address-details label{display:grid;gap:6px}.prm-address-details input{box-sizing:border-box;width:100%}@media(max-width:800px){.prm-delivery-heading{align-items:flex-start;flex-direction:column}.prm-delivery-address-fields,.prm-address-details{grid-template-columns:1fr 1fr}}@media(max-width:520px){.prm-delivery-address-fields,.prm-address-details{grid-template-columns:1fr}}
.prm-cost-estimate{padding:13px 15px;border:1px solid #8b5cf655;border-radius:11px;background:linear-gradient(145deg,#201733,#121218)}.prm-cost-estimate[hidden]{display:none}.prm-cost-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #ffffff17}.prm-cost-heading span{color:#b99eff;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.prm-cost-heading strong{font-size:.78rem;text-align:right}.prm-cost-estimate ul{display:grid;gap:4px;margin:8px 0;padding:0;list-style:none}.prm-cost-estimate li{display:flex;justify-content:space-between;gap:16px;color:#c7c7d0;font-size:.76rem}.prm-cost-summary{display:grid;grid-template-columns:1fr auto;gap:3px 18px;padding-top:8px;border-top:1px solid #ffffff17;color:#dddde5;font-size:.76rem}.prm-cost-summary small{display:block;color:#8f8f9b;font-size:.58rem}.prm-cost-summary strong{text-align:right}.prm-cost-total-label,.prm-cost-total-value{margin-top:5px;padding-top:7px;border-top:1px solid #8b5cf666;color:#fff;font-size:.9rem}.prm-cost-total-value{color:#c4aaff}.prm-cost-estimate>p{margin:7px 0 0;color:#8f8f9b;font-size:.62rem}
.prm-message{margin:20px 0;padding:14px 17px;border-radius:10px;font-weight:800}
.prm-message.success{background:#193c2b;color:#83efb5}
.prm-message.error{background:#4b1e26;color:#ffb2bf}
.prm-calendar-stack>.prm-month{display:none}
.prm-calendar-stack>.prm-month.active{display:block}
.prm-month-navigation{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:12px}
.prm-month-navigation strong{text-align:center;color:#f7f7fa;text-transform:capitalize}
.prm-month-navigation button{width:44px;height:40px;border:1px solid #ffffff26;border-radius:10px;background:#262630;color:#fff;font-size:1.25rem;cursor:pointer}
.prm-month-navigation button:hover:not(:disabled){border-color:#8b5cf6;background:#8b5cf6}
.prm-month-navigation button:disabled{cursor:not-allowed;opacity:.3}
.prm-month-navigation+.prm-month h4{display:none}
@media(max-width:800px){.prm-form-row,.prm-fulfilment-options{grid-template-columns:1fr}.prm-reservation{padding:22px}}
.prm-addon-options[hidden]{display:none}
.prm-fulfilment-options[hidden]{display:none}
.prm-addon-options .prm-addon-days{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:7px;padding-top:8px;border-top:1px solid #ffffff17}.prm-addon-options .prm-addon-days[hidden]{display:none}.prm-reservation-form .prm-addon-options .prm-addon-days label{display:inline-flex;width:auto;grid-template-columns:none;align-items:center;flex:0 0 auto;gap:6px;padding:7px 9px;border:1px solid #ffffff20;border-radius:8px;background:#15151d;font-size:.7rem}.prm-addon-options .prm-addon-days input[type="checkbox"]{width:15px;height:15px}.prm-addon-options .prm-addon-days label span{display:inline}
.prm-hourly-days{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;padding-top:10px;border-top:1px solid #ffffff17}.prm-reservation-form .prm-hourly-days label{display:flex;grid-template-columns:none;align-items:center;gap:6px;padding:7px 9px;border:1px solid #ffffff20;border-radius:8px;background:#15151d;font-size:.7rem}.prm-hourly-days input[type="checkbox"]{width:15px;height:15px;margin:0;accent-color:#8b5cf6}
.prm-addon-title{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px}.prm-addon-info{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid #8b5cf6;border-radius:50%;background:#241839;color:#c9b5ff;font:800 .68rem/1 inherit;cursor:pointer}.prm-addon-info:hover,.prm-addon-info:focus{background:#8b5cf6;color:#fff;outline:none}.prm-close-dj-info{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;padding:0;border:1px solid #ffffff24;border-radius:50%;background:#09090d;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.prm-close-dj-info:hover,.prm-close-dj-info:focus{border-color:#8b5cf6;background:#8b5cf6;outline:none}.prm-dj-dialog .prm-terms-modal-content h3{margin:24px 0 10px;color:#fff}.prm-dj-dialog .dj-price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none}.prm-dj-dialog .dj-price-list li{margin:0;padding:10px 12px;border:1px solid #ffffff17;border-radius:9px;background:#181820}@media(max-width:550px){.prm-dj-dialog .dj-price-list{grid-template-columns:1fr}}
.prm-coupon-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:13px 15px;border:1px solid #ffffff1f;border-radius:11px;background:#101016}.prm-coupon-box label{display:grid;gap:6px}.prm-coupon-box .button{min-height:43px;margin:0}.prm-coupon-box small{grid-column:1/-1;min-height:1em;color:#a3a3ae;font-weight:600}.prm-coupon-box small.success{color:#83efb5}.prm-coupon-box small.error{color:#ff9daf}.prm-cost-estimate .prm-discount-row{color:#83efb5}.prm-cost-estimate .prm-discount-row strong{color:#83efb5}@media(max-width:600px){.prm-coupon-box{grid-template-columns:1fr}.prm-coupon-box small{grid-column:auto}}
.prm-reservation-form>.prm-booking-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:24px}.prm-booking-main{display:grid;min-width:0;gap:17px}.prm-booking-sidebar{position:sticky;top:92px;display:grid;min-width:0;gap:12px;padding:18px;border:1px solid #8b5cf64d;border-radius:16px;background:linear-gradient(150deg,#1d1730,#111117);box-shadow:0 18px 45px #0003}.prm-booking-sidebar-heading span{color:#b99eff;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.prm-booking-sidebar-heading h3{margin:4px 0 2px;font-size:1.2rem}.prm-booking-sidebar .prm-coupon-box{grid-template-columns:1fr;padding:0 0 14px;border:0;border-bottom:1px solid #ffffff17;border-radius:0;background:none}.prm-booking-sidebar .prm-coupon-box small{grid-column:auto}.prm-booking-sidebar .prm-coupon-box .button{width:100%;justify-content:center}.prm-booking-sidebar .prm-cost-estimate{padding:14px;background:#0e0e14}.prm-booking-sidebar .prm-cost-heading{align-items:flex-start;flex-direction:column}.prm-booking-sidebar .prm-cost-heading strong{text-align:left}.prm-booking-sidebar .prm-cost-estimate li{gap:10px}.prm-booking-sidebar .prm-cost-estimate li strong{white-space:nowrap}@media(max-width:900px){.prm-reservation-form>.prm-booking-layout{grid-template-columns:1fr}.prm-booking-sidebar{position:static;grid-row:auto}}
.prm-product-panel{scroll-margin-top:90px}
