html,body{min-height:100dvh}body{margin:0;color:var(--text);font-family:var(--font-body);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}[hidden],.hidden{display:none!important}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-md);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--heading);letter-spacing:-.01em}p{margin:0 0 var(--space-3)}.muted{color:var(--muted)}.hidden{display:none!important}.container{max-width:1080px;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;padding:var(--space-3) var(--space-3) calc(env(safe-area-inset-bottom) + 92px)}main{flex:1 1 auto}@media(min-width:920px){.container{padding-bottom:var(--space-8)}}.brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2)}.brand-left{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1 1 auto}.brand-logo{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0}.brand-left>div{min-width:0}.logo{margin:0;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--heading);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo span{color:var(--brand)}.brand .muted{font-size:var(--text-sm);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-controls{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.step{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.step strong{color:var(--heading)}.step .dot{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;background:color-mix(in oklab,var(--brand) 12%,var(--card));color:var(--heading);flex-shrink:0}.step .dot.active{background:var(--brand-2);color:#fff}.screen1-title{font-size:var(--text-2xl);margin:0 0 var(--space-1)}#screen1,#screen2,#screen3{margin-top:var(--space-3)}#screen1{max-width:440px;width:100%;margin:0 auto}body:has(#screen1:not(.hidden)) main{display:flex;flex-direction:column;align-items:center;justify-content:center}@media(min-width:920px){#screen3{max-width:560px;margin-left:auto;margin-right:auto}}sl-button::part(base){border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:700;font-size:var(--text-md);min-height:48px;transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--transition),filter var(--transition)}sl-button[variant=primary]::part(base){background:var(--brand-2);border-color:var(--heading);color:#fff;box-shadow:var(--shadow-sm)}sl-button[variant=primary]::part(base):hover{background:var(--brand);border-color:var(--brand)}sl-button[variant=default]::part(base){background:var(--bg-soft);border:1.5px solid var(--line);color:var(--heading)}sl-button[variant=default]::part(base):hover{border-color:var(--brand)}sl-button::part(base):active{transform:scale(.98)}sl-button[loading]::part(base){opacity:.75}.btn-primary,.btn-danger,.svc-btn{font-family:var(--font-body);font-weight:700;font-size:var(--text-md);border:0;border-radius:var(--radius-pill);cursor:pointer;padding:11px 18px;min-height:44px;touch-action:manipulation;transition:transform var(--duration-fast) var(--ease-out-expo),background var(--transition),filter var(--transition)}.btn-primary,.svc-btn{background:var(--brand-2);color:#fff}.btn-primary:hover,.svc-btn:hover{background:var(--brand)}.btn-primary:active,.svc-btn:active,.btn-danger:active{transform:scale(.97)}.svc-btn--quote{background:var(--bg-soft);color:var(--heading);border:1.5px solid color-mix(in oklab,var(--accent) 55%,transparent)}.svc-btn--quote:hover{background:color-mix(in oklab,var(--accent) 12%,var(--card))}.svc-btn--whatsapp{background:#25d366;color:#0a3d20;border:1.5px solid #1da851;font-weight:700}.svc-btn--whatsapp:hover{background:#1ebe5d}.svc-days-label{font-size:12px;color:var(--muted, #666);margin:8px 0 4px}.svc-days{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.svc-day-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid color-mix(in oklab,var(--accent, #1a3140) 35%,transparent);background:var(--bg-soft, #f5f5f5);color:var(--text, #222);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;min-height:36px;transition:background .12s ease,border-color .12s ease,color .12s ease}.svc-day-chip:hover{border-color:var(--accent, #1a3140)}.svc-day-chip.is-selected{background:var(--brand, #1a3140);border-color:var(--brand, #1a3140);color:#fff}.parking-period{margin-bottom:12px}.parking-period-label{font-size:13px;font-weight:600;color:var(--muted, #666);margin-bottom:8px}.parking-day-picker{display:flex;flex-wrap:wrap;gap:6px}.park-day-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid color-mix(in oklab,var(--accent, #1a3140) 35%,transparent);background:var(--bg-soft, #f5f5f5);color:var(--text, #222);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px;transition:background .12s ease,border-color .12s ease,color .12s ease}@media(hover:hover){.park-day-chip:hover{border-color:var(--accent, #1a3140)}}.park-day-chip.is-selected{background:var(--brand, #1a3140);border-color:var(--brand, #1a3140);color:#fff}.park-day-chip.is-selected:before{content:"✓ ";font-weight:800}.parking-period-summary{margin:8px 0 0;font-size:13px;font-weight:600;color:var(--text, #222)}.svc-btn.just-added,.btn-primary.just-added{background:var(--ok)}.btn-danger{background:color-mix(in oklab,var(--danger) 10%,var(--card));color:var(--danger);font-size:var(--text-sm);min-height:0;padding:6px 12px}.btn-danger:hover{background:color-mix(in oklab,var(--danger) 18%,var(--card))}sl-input::part(form-control-label){font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--heading);margin-bottom:var(--space-1)}sl-input::part(base){border-radius:var(--radius-sm)}sl-input::part(input),input,select,textarea{font-size:16px;font-family:var(--font-body)}#screen3{text-align:center;position:relative;overflow:hidden}.success-icon{width:72px;height:72px;margin:var(--space-4) auto;border-radius:50%;background:#ecfdf5;position:relative}.success-icon:after{content:"";position:absolute;left:27px;top:18px;width:14px;height:28px;border-right:4px solid var(--ok);border-bottom:4px solid var(--ok);transform:rotate(45deg);animation:checkPop var(--duration-normal) var(--ease-out-expo) both}@keyframes checkPop{0%{transform:rotate(45deg) scale(0);opacity:0}to{transform:rotate(45deg) scale(1);opacity:1}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:420px){.grid-2{grid-template-columns:1fr}}.confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-16px;left:var(--fall-x, 50%);animation:confettiFall var(--fall-duration, 3s) var(--fall-delay, 0s) ease-in forwards}@keyframes confettiFall{to{transform:translateY(120vh) rotate(720deg);opacity:0}}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);transform:translate(-50%) translateY(20px);z-index:60;max-width:calc(100vw - 32px);padding:var(--space-3) var(--space-5);background:var(--brand-2);color:#fff;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.screen-enter{animation:screenEnter var(--duration-normal) var(--ease-out-expo) both}@keyframes screenEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.orders-shell{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.orders-tabs{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);padding:var(--space-2);background:color-mix(in oklab,var(--card) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}.orders-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:var(--space-2) var(--space-1);border:1.5px solid color-mix(in oklab,var(--tab-color, var(--brand)) 38%,var(--line));border-radius:var(--radius-md, 10px);background:#fff;color:var(--tab-color, var(--brand-2));font-family:var(--font-body);font-size:var(--text-base);font-weight:700;box-shadow:0 2px 6px #16303d14;cursor:pointer;touch-action:manipulation;transition:color var(--transition),background var(--transition),box-shadow var(--transition)}.orders-tab[data-tab=parking]{--tab-color: var(--brand)}.orders-tab[data-tab=services]{--tab-color: #c4744a}.orders-tab[data-tab=cart]{--tab-color: var(--heading)}.orders-tab__icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:17px;line-height:1;background:color-mix(in oklab,var(--tab-color, var(--brand)) 14%,var(--card));transition:background var(--transition)}.orders-tab[aria-selected=true]{color:#fff;background:var(--tab-color, var(--brand));border-color:var(--tab-color, var(--brand));box-shadow:0 8px 20px color-mix(in oklab,var(--tab-color, var(--brand)) 38%,transparent)}.orders-tab[aria-selected=true] .orders-tab__icon{background:#ffffff3d}.orders-tab__badge{position:absolute;top:6px;right:calc(50% - 28px);min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent);color:var(--heading);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.orders-panels{padding:var(--space-5)}.orders-panel{animation:panelIn var(--duration-normal) var(--ease-out-expo) both}.orders-panel[hidden]{display:none}.orders-panel__title{font-size:var(--text-xl);margin:0 0 var(--space-1)}.orders-panel__sub{font-size:var(--text-sm);color:var(--muted);margin:0 0 var(--space-4)}@keyframes panelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.parking-header{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:2px;align-items:center;margin-bottom:var(--space-4)}.parking-icon{grid-row:1 / span 2;font-size:26px;line-height:1}.parking-title{grid-row:1;grid-column:2;margin:0;font-size:var(--text-xl);line-height:1.1}.parking-avail-badge{grid-row:2;grid-column:2;justify-self:start;font-size:var(--text-sm);font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--sage) 22%,var(--card));color:var(--heading)}.parking-avail-badge.low{background:color-mix(in oklab,var(--warn) 18%,var(--card));color:#92400e}.parking-avail-badge.medium{background:color-mix(in oklab,var(--accent) 20%,var(--card));color:var(--heading)}.parking-avail-badge.high{background:#ecfdf5;color:#166534}.parking-dates{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.parking-date-field{min-width:0}.parking-date-field sl-input{width:100%}.parking-period-badge{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--muted)}.parking-period-badge strong{color:var(--heading);font-size:var(--text-md)}.parking-add-btn{width:100%;margin-top:var(--space-4)}.section-anchor{height:0;scroll-margin-top:72px}.services{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width:600px){.services{grid-template-columns:1fr 1fr}}.service{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}@media(hover:hover){.service:hover{border-color:color-mix(in oklab,var(--brand) 30%,transparent);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.svc-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2)}.svc-icon{font-size:24px;line-height:1}.svc-name{font-family:var(--font-heading);font-size:var(--text-md);font-weight:700;color:var(--heading);line-height:1.2}.svc-price{font-family:var(--font-heading);font-weight:700;font-size:var(--text-md);color:var(--brand);white-space:nowrap}.svc-desc{font-size:var(--text-base);color:var(--muted);line-height:1.45}.svc-btn{margin-top:auto;align-self:stretch}.cat-empty{font-size:var(--text-base)}.cat-featured-title{color:color-mix(in oklab,var(--accent) 40%,var(--brand-2))!important;border-left-color:var(--accent)!important}.service--featured{position:relative;border:1.5px solid color-mix(in oklab,var(--accent) 60%,transparent);background:color-mix(in oklab,var(--accent) 9%,var(--card))}.svc-extra-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--heading);background:color-mix(in oklab,var(--accent) 32%,var(--card));border:1px solid color-mix(in oklab,var(--accent) 55%,transparent);border-radius:var(--radius-pill);padding:3px 10px}.req{color:#dc2626}.bsl-checkout-hint{margin:6px 2px 0;font-size:var(--text-sm);text-align:center;color:#92400e;min-height:1.1em}.stay-period{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text);background:color-mix(in oklab,var(--brand, #1a3140) 8%,var(--card));border:1px solid color-mix(in oklab,var(--brand, #1a3140) 18%,transparent);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:14px}.service--unavailable{opacity:.66}.svc-unavailable{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);line-height:1.35;color:#92400e;background:color-mix(in oklab,var(--warn) 14%,var(--card));border:1px solid color-mix(in oklab,var(--warn) 30%,transparent);border-radius:var(--radius-sm);padding:6px 10px}.svc-btn:disabled,.btn-primary:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.svc-btn:disabled:hover,.btn-primary:disabled:hover{background:var(--line);transform:none}.services-skeleton .skeleton{height:116px;border-radius:var(--radius-md);background:linear-gradient(100deg,color-mix(in oklab,var(--line) 40%,white) 30%,color-mix(in oklab,var(--line) 70%,white),color-mix(in oklab,var(--line) 40%,white) 70%);background-size:200% 100%;animation:shimmer 1.3s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.cart-toggle{display:none}.cart-panel{display:flex;flex-direction:column;gap:var(--space-3)}.cart-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--muted)}.cart-empty-icon{font-size:40px;margin-bottom:var(--space-2)}.cart-empty p{margin:0 0 var(--space-1);font-family:var(--font-heading);font-weight:700;color:var(--heading)}.cart-empty small{font-size:var(--text-sm)}.cart-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.cart-item:last-of-type{border-bottom:0}.cart-item strong{font-family:var(--font-heading);color:var(--heading);font-size:var(--text-md)}.totals{margin-top:var(--space-2);padding:var(--space-4);background:color-mix(in oklab,var(--brand) 5%,var(--card));border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.totals .row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-base);color:var(--muted)}.totals .row:last-child{margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--line);font-size:var(--text-lg);color:var(--text)}.totals .row:last-child strong{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--heading)}.totals strong{font-weight:700;color:var(--text)}.updating{animation:pulseVal var(--duration-normal) var(--ease-out-expo)}@keyframes pulseVal{0%{transform:scale(1)}40%{transform:scale(1.08);color:var(--accent)}to{transform:scale(1)}}#status{font-size:var(--text-sm);margin:var(--space-1) 0 0}#status.ok{color:var(--ok)}#status.warn{color:var(--warn)}.order-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-3));background:color-mix(in oklab,var(--card) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px #1a314014;transform:translateY(110%);transition:transform var(--duration-normal) var(--ease-out-expo)}.order-bar.visible{transform:translateY(0)}.order-bar__info{display:flex;flex-direction:column;line-height:1.15;min-width:0}.order-bar__label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.order-bar__total{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:800;color:var(--heading)}.order-bar__cta{margin-left:auto;flex-shrink:0}.order-bar__cta::part(base){white-space:nowrap}.fab-cart,.bottom-nav{display:none!important}@media(min-width:920px){.orders-shell{max-width:720px;margin:0 auto}.order-bar{left:50%;right:auto;width:min(720px,calc(100% - 2 * var(--space-4)));border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translate(-50%) translateY(110%)}.order-bar.visible{transform:translate(-50%) translateY(0)}}[data-theme=dark] .bsl-checkout-hint,[data-theme=dark] .parking-avail-badge.low,[data-theme=dark] .svc-unavailable{color:#fcd34d}[data-theme=dark] .svc-unavailable{background:color-mix(in oklab,var(--warn) 22%,var(--card))}[data-theme=dark] .parking-avail-badge.high{background:color-mix(in oklab,var(--ok) 20%,var(--card));color:#6ee7a8}[data-theme=dark] .parking-type-card__status--ok{background:color-mix(in oklab,var(--ok) 18%,var(--card));color:#6ee7a8}[data-theme=dark] .parking-type-card__status--low{background:color-mix(in oklab,var(--warn) 20%,var(--card));color:#fcd34d}[data-theme=dark] .parking-type-card__status--out{background:color-mix(in oklab,var(--danger) 20%,var(--card));color:#f87171}[data-theme=dark] .btn-danger{color:#f87171}[data-theme=dark] .parking-not-supported{background:color-mix(in oklab,var(--danger) 16%,var(--card));border-color:color-mix(in oklab,var(--danger) 45%,transparent)}[data-theme=dark] .parking-not-supported>summary,[data-theme=dark] .parking-not-supported small{color:#f87171}[data-theme=dark] .parking-not-supported>summary:before,[data-theme=dark] .parking-not-supported li::marker{color:#f87171}[data-theme=dark] .parking-not-supported>summary:after{border-right-color:#f87171;border-bottom-color:#f87171}[data-theme=dark] .parking-not-supported>p,[data-theme=dark] .parking-not-supported>ul{color:#fca5a5}.cat-group{margin:var(--space-6) 0 var(--space-3)}.cat-group:first-child{margin-top:var(--space-2)}.cat-group-title{font-family:var(--font-heading);font-size:clamp(1.7rem,6vw,2.1rem);font-weight:800;color:var(--heading);margin:var(--space-3, 12px) 0 var(--space-2);letter-spacing:-.02em;line-height:1.1;display:flex;align-items:center;gap:var(--space-2)}.cat-group-title:before{content:"";width:8px;height:28px;background:var(--accent);border-radius:var(--radius-pill);display:inline-block;flex:0 0 auto}.cat-group-desc{margin:0 0 var(--space-3);font-size:var(--text-base);line-height:1.45}.svc-tag{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.svc-tag--parceiro{background:color-mix(in oklab,var(--accent) 24%,var(--card));color:var(--heading);border:1px solid color-mix(in oklab,var(--accent) 55%,transparent)}.svc-price--on-request{font-size:var(--text-sm);font-weight:600;background:color-mix(in oklab,var(--accent) 18%,var(--card));color:var(--heading);border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:var(--radius-pill);padding:2px 10px}.svc-cutoff{display:flex;align-items:center;gap:6px;margin:0 0 var(--space-3);padding:6px 10px;background:color-mix(in oklab,var(--sage) 12%,var(--card));border:1px solid color-mix(in oklab,var(--sage) 30%,transparent);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--heading);line-height:1.35}.svc-cutoff-icon{font-size:13px;flex-shrink:0}.service--terceirizado{border-left:4px solid var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--card))}.service--terceirizado .svc-name{color:var(--heading)}.cat-group--terceirizados .cat-group-title{color:color-mix(in oklab,var(--accent) 35%,var(--brand-2))}.cat-group--terceirizados .cat-group-title:before{background:var(--accent)}.cat-subgroup-title--cutoff{--gc: #e07a3f;display:flex;align-items:center;gap:12px;margin:var(--space-5, 24px) 0 var(--space-3, 12px);padding:13px 18px;background:var(--gc);border:none;border-radius:14px;font-family:var(--font-heading);font-size:var(--text-lg, 1.125rem);font-weight:800;color:#fff;letter-spacing:.005em;box-shadow:0 8px 22px color-mix(in oklab,var(--gc) 38%,transparent)}.cat-subgroup-title--cutoff .cutoff-title{line-height:1.15}.cat-subgroup-title--cutoff .cat-icon{font-size:20px;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#ffffff38;display:flex;align-items:center;justify-content:center}.services--cutoff-bucket .svc-cutoff{display:none}.section-anchor{height:0;scroll-margin-top:80px}.bsl-policy-trigger{background:none;border:0;padding:0;font:inherit;color:var(--brand-text);text-decoration:underline;cursor:pointer;font-size:var(--text-sm)}.bsl-policy-trigger:hover{color:var(--accent)}.bsl-policy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,var(--brand-2) 60%,transparent);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--space-4);animation:bslFadeIn .2s ease both}.bsl-policy-overlay[hidden]{display:none}.bsl-policy-modal{background:var(--bg-soft);border-radius:var(--radius-lg);max-width:720px;max-height:88vh;width:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:bslSlideUp .25s var(--ease-out-expo) both}.bsl-policy-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--brand-2);color:#fff}.bsl-policy-header h2{margin:0;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700}.bsl-policy-close{background:#ffffff26;border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.bsl-policy-close:hover{background:#ffffff40}.bsl-policy-body{padding:var(--space-5) var(--space-6) var(--space-6);overflow-y:auto;color:var(--text);line-height:1.55;font-size:var(--text-base)}.bsl-policy-body h3{font-family:var(--font-heading);font-size:var(--text-md);color:var(--heading);margin:var(--space-5) 0 var(--space-2)}.bsl-policy-body h4{font-size:var(--text-base);color:var(--brand-text);margin:var(--space-4) 0 var(--space-1)}.bsl-policy-body p,.bsl-policy-body ul{margin:0 0 var(--space-3)}.bsl-policy-body ul{padding-left:var(--space-5)}.bsl-policy-body .bsl-cutoff{background:color-mix(in oklab,var(--sage) 10%,var(--card));border-left:3px solid var(--sage);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin:var(--space-2) 0 var(--space-4);font-size:var(--text-sm)}.bsl-footer{text-align:center;padding:var(--space-8) var(--space-4);margin-top:var(--space-8);background:color-mix(in oklab,var(--brand) 4%,var(--card));border-top:1px solid color-mix(in oklab,var(--brand) 8%,transparent);color:var(--muted);font-size:var(--text-xs)}.bsl-footer-brand{display:block;font-weight:700;color:var(--heading);letter-spacing:.08em;margin-bottom:var(--space-1);font-family:var(--font-heading);font-size:var(--text-md)}.bsl-footer-tagline{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--muted)}.bsl-footer-links{display:inline-flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;align-items:center}.bsl-footer-link{color:var(--brand-text);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);transition:color var(--transition)}.bsl-footer-link:hover{color:var(--accent)}.parking-types-wrapper{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.parking-types-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-weight:600;color:var(--heading)}.parking-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.parking-type-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;gap:4px var(--space-3);text-align:left;padding:var(--space-4);border:1.5px solid color-mix(in oklab,var(--brand) 15%,transparent);border-radius:var(--radius-md, 14px);background:#fff;cursor:pointer;transition:border-color var(--transition),background var(--transition),transform var(--transition),box-shadow var(--transition);font:inherit;color:var(--text);min-height:76px}.parking-type-card:hover:not(.disabled){border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.parking-type-card:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}.parking-type-card.selected{border-color:var(--brand);background:color-mix(in oklab,var(--brand) 5%,var(--card));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}.parking-type-card.disabled{opacity:.5;cursor:not-allowed}.parking-type-card__icon{grid-column:1;grid-row:1 / span 2;align-self:center;font-size:28px;line-height:1}.parking-type-card__body{grid-column:2;grid-row:1 / span 2;align-self:center;display:flex;flex-direction:column;gap:2px;min-width:0}.parking-type-card__label{font-family:var(--font-heading);font-weight:700;color:var(--heading);font-size:17px;line-height:1.2}.parking-type-card__hint{font-size:13px;color:var(--muted);line-height:1.35}.parking-type-card__price{grid-column:3;grid-row:1;font-family:var(--font-heading);font-weight:700;color:var(--brand-text);font-size:18px;line-height:1.1;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.parking-type-card__price small{font-size:11px;font-weight:600;color:var(--muted)}.parking-type-card__total{font-size:12px!important;font-weight:700!important;color:var(--heading)!important;background:color-mix(in oklab,var(--accent) 22%,var(--card));padding:2px 9px;border-radius:100px}.parking-type-card__status{grid-column:3;grid-row:2;justify-self:end;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:100px}.parking-type-card__status--ok{color:#166534;background:#ecfdf5}.parking-type-card__status--low{color:#92400e;background:#fffbeb}.parking-type-card__status--out{color:#991b1b;background:#fef2f2}@media(max-width:480px){.parking-types{grid-template-columns:1fr!important}}.parking-not-supported{margin:0 0 var(--space-3);border:1px solid #fecaca;border-radius:var(--radius-sm, 8px);background:#fef2f2;overflow:hidden}.parking-not-supported>summary{list-style:none;cursor:pointer;padding:10px 14px;font-family:var(--font-heading);font-size:13px;font-weight:700;color:#991b1b;display:flex;align-items:center;gap:8px}.parking-not-supported>summary::-webkit-details-marker{display:none}.parking-not-supported>summary:before{content:"⚠";color:#b91c1c;font-size:15px;line-height:1}.parking-not-supported>summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid #991b1b;border-bottom:2px solid #991b1b;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--transition)}.parking-not-supported[open]>summary:after{transform:rotate(-135deg) translate(-2px,-2px)}.parking-not-supported>p{margin:0;padding:0 14px 4px;font-size:13px;color:#7f1d1d;line-height:1.45}.parking-not-supported>ul{margin:0;padding:4px 14px 12px 32px;font-size:13px;color:#7f1d1d;line-height:1.55}.parking-not-supported li::marker{color:#b91c1c}.parking-not-supported small{color:#991b1b;opacity:.7;font-size:11px;margin-left:4px}.bsl-checkout-email{margin:var(--space-3) 0 0}.bsl-checkout-email label{display:block;font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--heading);letter-spacing:.01em;margin-bottom:6px}.bsl-checkout-email input{width:100%;box-sizing:border-box;padding:11px 14px;font-family:var(--font-body, "Manrope", system-ui, sans-serif);font-size:15px;color:var(--text);background:#fff;border:1.5px solid color-mix(in oklab,var(--brand) 18%,transparent);border-radius:var(--radius-sm, 8px);transition:border-color var(--transition),box-shadow var(--transition)}.bsl-checkout-email input::placeholder{color:color-mix(in oklab,var(--muted) 80%,transparent)}.bsl-checkout-email input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent)}.bsl-checkout-accept{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;margin:var(--space-3) 0 0;padding:var(--space-3);border:1px dashed color-mix(in oklab,var(--accent) 40%,transparent);border-radius:var(--radius-sm);font-size:var(--text-base);background:color-mix(in oklab,var(--accent) 6%,var(--card))}.bsl-checkout-accept input{width:24px;height:24px;flex-shrink:0;accent-color:var(--brand);cursor:pointer}.bsl-checkout-accept label{flex:1 1 200px;display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--text);line-height:1.45}.bsl-policy-trigger--inline{flex-shrink:0;min-height:44px;padding:0 var(--space-2)}@keyframes bslFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bslSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:540px){.bsl-policy-modal{max-height:100vh;border-radius:0}.bsl-policy-header{padding:var(--space-3) var(--space-4)}.bsl-policy-body{padding:var(--space-4)}}
