/* Product page and presentation layer for the existing booking form. */
.sv-product-page{padding:122px 0 64px;background:#f7f8fa}
.sv-product-page .product-detail-top{--bs-gutter-x:3rem;--bs-gutter-y:2rem}
.sv-product-page .sv-product-copy h1{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.045em;line-height:1.08;margin:.65rem 0 .85rem}
.sv-product-page .sv-product-copy h1 em{background:none;color:var(--ink)}
.sv-product-copy>p{font-size:.93rem;line-height:1.65;margin-bottom:1.3rem;max-width:490px}
.sv-product-page .detail-media.detail-photo{background:#fff;border:1px solid #e3e7ed;border-radius:16px;min-height:0;padding:1.25rem}
.sv-product-page .detail-media.detail-photo:after{display:none}
.sv-product-page .detail-media.detail-photo>img{height:340px;max-width:100%;width:100%}
.sv-product-page .product-gallery-thumbs{margin-top:.65rem;gap:.6rem}
.sv-product-page .product-gallery-thumb{height:64px;width:64px;border-radius:9px}
.sv-product-page .product-gallery-thumb img{height:100%;width:100%;object-fit:contain}
.sv-product-features{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.45rem}
.sv-product-features>span{align-items:center;background:#fff;border:1px solid #e3e7ed;border-radius:8px;display:inline-flex;font-size:.76rem;gap:.4rem;line-height:1.35;padding:.5rem .65rem}
.sv-product-features i{color:var(--orange)}
.sv-product-included h2{font-family:Inter,sans-serif;font-size:1rem;letter-spacing:0;line-height:1.4}
.sv-product-included .included{font-size:.84rem;color:var(--muted);margin-bottom:1.4rem}
.sv-product-included .included li{margin:.45rem 0}
.sv-product-advice{align-items:center;background:#fff;border:1px solid #e3e7ed;border-radius:12px;color:var(--ink);display:flex;gap:.8rem;padding:1rem;text-decoration:none}
.sv-product-advice>i:first-child{color:#17664d;font-size:1.4rem}
.sv-product-advice>i:last-child{color:var(--orange);margin-left:auto}
.sv-product-advice b,.sv-product-advice small{display:block;font-size:.8rem}
.sv-product-advice small{color:var(--muted);font-size:.74rem;margin-top:.2rem}
.sv-product-advice:hover{border-color:var(--orange);color:var(--ink)}
.sv-product-form-column{min-width:0}
.sv-product-booking .sv-booking-enhanced{background:#fff;border:1px solid #e3e7ed;border-radius:18px;box-shadow:0 10px 35px rgba(23,34,56,.055);padding:1.6rem}
.sv-booking-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}
.sv-booking-heading h2{font-family:Inter,sans-serif;font-size:1.2rem;font-weight:800;letter-spacing:-.025em;line-height:1.25;margin:0}
.sv-booking-heading p{font-size:.75rem;line-height:1.5;margin:.35rem 0 0}
.sv-booking-day-price{color:var(--ink);font-size:1.75rem;font-weight:800;line-height:1.15;text-align:right;white-space:nowrap}
.sv-booking-day-price small{color:var(--muted);display:block;font-size:.68rem;font-weight:500;margin-top:.35rem}
.sv-booking-day-price del{color:var(--muted);display:block;font-size:.8rem}
.sv-booking-day-price ins{text-decoration:none}
.sv-booking-step{margin:1.25rem 0 0}
.sv-booking-step>h3{align-items:center;display:flex;font-family:Inter,sans-serif;font-size:.86rem;font-weight:800;gap:.5rem;letter-spacing:0;line-height:1.4;margin:0 0 .7rem}
.sv-booking-step>h3>span{align-items:center;background:#fff1e8;border-radius:50%;color:var(--orange);display:inline-flex;flex:0 0 24px;font-size:.7rem;height:24px;justify-content:center}
.sv-booking-date-picker>summary{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;cursor:pointer}
.sv-booking-date-picker>summary::-webkit-details-marker{display:none}
.sv-booking-date-picker>summary>span{background:#fff;border:1px solid #e3e7ed;border-radius:8px;display:grid;gap:.25rem .5rem;grid-template-columns:minmax(0,1fr) auto;min-height:65px;padding:.65rem .75rem}
.sv-booking-date-picker>summary small{color:var(--muted);font-size:.68rem;grid-column:1/-1}
.sv-booking-date-picker>summary b{font-size:.8rem;font-weight:600;overflow-wrap:anywhere}
.sv-booking-date-picker>summary i{color:var(--orange);font-size:.85rem}
.sv-booking-date-picker[open]>summary{margin-bottom:.7rem}
.sv-booking-date-picker[open]>summary>span{border-color:var(--orange)}
.sv-product-booking .sv-calendar-intro{font-size:.73rem;line-height:1.5;margin:0 0 .6rem}
.sv-product-booking .sv-rental-calendar{border-color:#e3e7ed;border-radius:10px;margin-bottom:0}
.sv-product-booking .sv-calendar-header{background:#f5f6f8;color:var(--ink);padding:.4rem .5rem}
.sv-product-booking .sv-calendar-header strong{font-size:.82rem}
.sv-product-booking .sv-calendar-header button{background:#fff;border:1px solid #e3e7ed;color:var(--ink);height:32px}
.sv-product-booking .sv-calendar-header button:hover:not(:disabled){background:#fff1e8;color:var(--orange)}
.sv-product-booking .sv-calendar-weekdays{background:#fff;border-color:#edf0f3;padding:.45rem .5rem .3rem}
.sv-product-booking .sv-calendar-days{gap:3px;padding:.4rem .55rem}
.sv-product-booking .sv-calendar-days button,.sv-product-booking .sv-calendar-empty{aspect-ratio:auto;min-height:34px}
.sv-product-booking .sv-calendar-days button{border-radius:7px;font-size:.76rem}
.sv-product-booking .sv-calendar-days button.is-selected{box-shadow:none}
.sv-product-booking .sv-calendar-selection{font-size:.72rem;padding:.6rem .75rem}
.sv-product-booking .sv-booking-original-duration{display:none}
.sv-booking-discount{color:var(--muted);font-size:.68rem;line-height:1.5;margin:.45rem 0 0}
.sv-product-booking .sv-extra-choice{background:#fff;border:1px solid #e3e7ed;border-radius:9px;display:grid;gap:.2rem .65rem;grid-template-columns:18px minmax(0,1fr);margin:.5rem 0;padding:.75rem;position:relative}
.sv-product-booking .sv-extra-choice:has(input:checked){background:#fff6ee;border-color:var(--orange)}
.sv-product-booking .sv-extra-choice .form-check-input{align-self:start;float:none;grid-column:1;grid-row:1;margin:.2rem 0 0;height:16px;width:16px}
.sv-product-booking .form-check-input:checked{background-color:var(--orange);border-color:var(--orange)}
.sv-product-booking .sv-extra-choice .form-check-label{align-items:baseline;display:grid;font-size:.76rem;gap:.15rem .6rem;grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr) auto;min-width:0}
.sv-product-booking .sv-extra-choice .form-check-label b{font-weight:700}
.sv-booking-extra-price{color:var(--ink);font-size:.75rem;font-weight:700;white-space:nowrap}
.sv-product-booking .sv-extra-choice .form-check-label small{color:var(--muted);font-size:.68rem;grid-column:1/-1;line-height:1.5}
.sv-product-booking .sv-extra-info-button{font-size:.68rem;grid-column:2;grid-row:2;justify-self:start;min-height:26px;padding:.1rem 0}
.sv-booking-transport{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.sv-booking-transport>label{align-items:center;background:#fff;border:1px solid #e3e7ed;border-radius:9px;cursor:pointer;display:flex;font-size:.77rem;gap:.5rem;min-height:54px;padding:.65rem}
.sv-booking-transport>label:has(input:checked){background:#fff6ee;border-color:var(--orange)}
.sv-booking-transport input{accent-color:var(--orange);flex:0 0 15px;height:15px;margin:0;width:15px}
.sv-booking-transport small{color:var(--muted);display:block;font-size:.67rem;line-height:1.4;margin-top:.15rem}
.sv-booking-region{display:block;margin-top:.6rem}
.sv-booking-region>span{color:var(--muted);display:block;font-size:.68rem;margin-bottom:.3rem}
.sv-product-booking .sv-booking-region select{border-color:#e3e7ed;border-radius:8px;font-size:.76rem;min-height:42px}
.sv-booking-delivery-note{color:var(--muted);font-size:.68rem;line-height:1.5;margin:.4rem 0 0}
.sv-booking-planning{background:#edf7f2;border-radius:8px;color:#17664d;display:grid;font-size:.69rem;gap:.75rem;grid-template-columns:1fr 1fr;margin:.65rem 0 0;padding:.65rem .8rem}
.sv-booking-planning b{display:block;margin-top:.15rem}
.sv-booking-service-note{color:var(--muted);font-size:.68rem;line-height:1.5;margin:.5rem 0 0}
.sv-booking-service-note i{margin-right:.2rem}
.sv-booking-summary{border-top:1px solid #e3e7ed;margin-top:1.15rem;padding-top:.6rem}
.sv-booking-cost{align-items:baseline;color:var(--muted);display:flex;font-size:.75rem;gap:.75rem;justify-content:space-between;margin:.4rem 0}
.sv-booking-cost b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}
.sv-booking-subtotal{color:var(--ink);font-weight:700}
.sv-booking-subtotal b{font-weight:700}
.sv-booking-borg{border-top:1px dashed #e3e7ed;margin-top:.65rem;padding-top:.6rem}
.sv-booking-borg-note{color:#17664d;font-size:.67rem;line-height:1.5;margin:0}
.sv-booking-estimate{align-items:center;border-top:1px solid #e3e7ed;display:flex;font-size:.86rem;font-weight:700;gap:.7rem;justify-content:space-between;margin-top:.8rem;padding-top:.75rem}
.sv-booking-estimate strong{font-size:1.55rem;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.sv-product-booking .sv-availability{font-size:.71rem;line-height:1.5;margin:.7rem 0 .65rem}
.sv-product-booking [data-book-button]{border-radius:9px;font-size:.9rem;min-height:48px;padding:.8rem 1rem}
.sv-product-booking .sv-checkout-note{color:var(--muted);display:block;font-size:.66rem;line-height:1.5;margin-top:.5rem;text-align:center}
.sv-product-booking [hidden]{display:none!important}
@media(min-width:992px){.sv-product-page .product-detail-media-sticky{top:105px}}
@media(max-width:991px){.sv-product-page{padding-top:108px}.sv-product-page .product-detail-top{--bs-gutter-y:1.5rem}.sv-product-copy>p{max-width:none}.sv-product-page .detail-media.detail-photo>img{height:300px}.sv-product-advice{display:none}}
@media(max-width:575px){.sv-product-page{padding:97px 0 36px}.sv-product-page .product-detail-top{--bs-gutter-x:1.5rem}.sv-product-page .sv-product-copy h1{font-size:2rem}.sv-product-copy>p{font-size:.85rem}.sv-product-page .detail-media.detail-photo{padding:.75rem}.sv-product-page .detail-media.detail-photo>img{height:260px}.sv-product-features{gap:.4rem;margin-bottom:1rem}.sv-product-features>span{font-size:.68rem;padding:.4rem .5rem}.sv-product-included{display:none}.sv-product-booking .sv-booking-enhanced{border-radius:14px;padding:1rem}.sv-booking-heading{gap:.7rem}.sv-booking-heading h2{font-size:1.08rem}.sv-booking-day-price{font-size:1.5rem}.sv-booking-heading p{font-size:.71rem}.sv-product-booking .sv-calendar-days button,.sv-product-booking .sv-calendar-empty{min-height:36px}.sv-product-booking .sv-extra-info-button{min-height:36px}.sv-product-booking .sv-booking-region select{font-size:1rem;min-height:46px}.sv-booking-estimate strong{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.sv-product-booking *{scroll-behavior:auto}}
