@charset "UTF-8";@import"https://fonts.bunny.net/css?family=outfit:300,400,500,600,700";body.shanghai{--shanghai-bg: #0b0d12;--shanghai-bg-raised: #10131a;--shanghai-surface: #12151c;--shanghai-surface-2: #181c26;--shanghai-rule: rgba(230, 234, 242, .12);--shanghai-rule-strong: rgba(230, 234, 242, .22);--shanghai-fg: #e3e7ee;--shanghai-fg-strong: #f8f9fc;--shanghai-fg-muted: #98a1b0;--shanghai-error: #ff6b6b;--theme-color-dark: var(--shanghai-bg);--theme-color-light: var(--shanghai-fg);--white-color: #ffffff;--bs-border-color: var(--shanghai-rule);--bs-form-invalid-color: var(--shanghai-error);--shanghai-font-display: "Outfit", ui-sans-serif, system-ui, sans-serif;--shanghai-font-ui: "Outfit", ui-sans-serif, system-ui, sans-serif;--shanghai-text-xs: .75rem;--shanghai-text-sm: .875rem;--shanghai-text-base: 1rem;--shanghai-text-lg: 1.25rem;--shanghai-text-xl: 1.75rem;--shanghai-text-2xl: 2.5rem;--shanghai-text-3xl: clamp(2.75rem, 6vw, 4.5rem);--shanghai-space-1: 4px;--shanghai-space-2: 8px;--shanghai-space-3: 16px;--shanghai-space-4: 24px;--shanghai-space-5: 40px;--shanghai-space-6: 64px;--shanghai-radius-sm: 12px;--shanghai-radius-md: 16px;--shanghai-radius-lg: 18px;--shanghai-shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shanghai-shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--shanghai-container-max: 1280px;--shanghai-section-y: clamp(48px, 6vw, 96px);--shanghai-glass-bg: rgba(11, 13, 18, .55);--shanghai-glass-bg-strong: rgba(11, 13, 18, .74);--shanghai-glass-border: rgba(255, 255, 255, .14);--shanghai-blur: blur(20px) saturate(150%);--shanghai-shadow-glass: 0 16px 48px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .06)}body.shanghai{background:var(--shanghai-bg);color:var(--shanghai-fg);font-family:var(--shanghai-font-ui);font-weight:300;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.shanghai h1,body.shanghai h2,body.shanghai h3,body.shanghai h4,body.shanghai h5,body.shanghai h6{font-family:var(--shanghai-font-display);font-weight:700;line-height:1.1;color:var(--shanghai-fg-strong);text-wrap:balance}body.shanghai h1{font-size:var(--shanghai-text-3xl)}body.shanghai h2{font-size:var(--shanghai-text-2xl)}body.shanghai h3{font-size:var(--shanghai-text-xl)}body.shanghai h4{font-size:var(--shanghai-text-lg)}body.shanghai h5,body.shanghai h6{font-size:var(--shanghai-text-base)}body.shanghai p{color:var(--shanghai-fg);font-weight:300}body.shanghai small,body.shanghai .text-muted{color:var(--shanghai-fg-muted)!important}body.shanghai a{color:var(--color-primary)}body.shanghai a:hover{color:var(--color-primary-lighter)}body.shanghai :focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}body.shanghai .shanghai-header__logo img,body.shanghai .shanghai-footer__logo img{max-height:48px;width:auto}body.shanghai img.larger-logo{max-height:76px}body.shanghai .p-button,body.shanghai button[pButton],body.shanghai a[pButton],body.shanghai .btn-theme,body.shanghai .theme-btn{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-on-primary, #fff)!important;border-radius:var(--shanghai-radius-sm)!important;font-family:var(--shanghai-font-ui)!important;font-weight:600!important;letter-spacing:.01em!important;text-decoration:none!important;transition:background .15s ease,border-color .15s ease,transform .15s ease!important}body.shanghai .p-button:hover,body.shanghai button[pButton]:hover,body.shanghai a[pButton]:hover,body.shanghai .btn-theme:hover,body.shanghai .theme-btn:hover{background:var(--color-primary-lighter)!important;border-color:var(--color-primary-lighter)!important;transform:translateY(-1px)}body.shanghai .p-button.p-button-reserve,body.shanghai button[pButton].p-button-reserve,body.shanghai a[pButton].p-button-reserve,body.shanghai .btn-theme.p-button-reserve,body.shanghai .theme-btn.p-button-reserve{background:var(--color-primary-lighter)!important;border-color:var(--color-primary-lighter)!important;color:var(--color-on-primary, #fff)!important}body.shanghai .p-button.p-button-reserve:hover,body.shanghai button[pButton].p-button-reserve:hover,body.shanghai a[pButton].p-button-reserve:hover,body.shanghai .btn-theme.p-button-reserve:hover,body.shanghai .theme-btn.p-button-reserve:hover{background:var(--color-primary)!important;border-color:var(--color-primary)!important}body.shanghai .p-button.p-button-outlined,body.shanghai button[pButton].p-button-outlined,body.shanghai a[pButton].p-button-outlined,body.shanghai .btn-theme.p-button-outlined,body.shanghai .theme-btn.p-button-outlined{background:transparent!important;color:var(--color-primary)!important;border-color:var(--color-primary)!important}body.shanghai .p-button.p-button-outlined:hover,body.shanghai button[pButton].p-button-outlined:hover,body.shanghai a[pButton].p-button-outlined:hover,body.shanghai .btn-theme.p-button-outlined:hover,body.shanghai .theme-btn.p-button-outlined:hover{background:var(--color-primary)!important;color:var(--color-on-primary, #fff)!important}body.shanghai .p-button.p-button-text,body.shanghai button[pButton].p-button-text,body.shanghai a[pButton].p-button-text,body.shanghai .btn-theme.p-button-text,body.shanghai .theme-btn.p-button-text{background:transparent!important;border:1px solid var(--color-primary-lighter)!important;color:var(--shanghai-fg-muted)!important}body.shanghai .p-button.p-button-text:hover,body.shanghai button[pButton].p-button-text:hover,body.shanghai a[pButton].p-button-text:hover,body.shanghai .btn-theme.p-button-text:hover,body.shanghai .theme-btn.p-button-text:hover{background:transparent!important;border-color:var(--color-primary)!important;color:var(--color-primary)!important}body.shanghai .p-button.p-button-secondary,body.shanghai button[pButton].p-button-secondary,body.shanghai a[pButton].p-button-secondary,body.shanghai .btn-theme.p-button-secondary,body.shanghai .theme-btn.p-button-secondary{background:var(--shanghai-glass-bg)!important;backdrop-filter:var(--shanghai-blur);-webkit-backdrop-filter:var(--shanghai-blur);border-color:var(--shanghai-glass-border)!important;color:var(--shanghai-fg)!important}body.shanghai .p-button.p-button-secondary:hover,body.shanghai button[pButton].p-button-secondary:hover,body.shanghai a[pButton].p-button-secondary:hover,body.shanghai .btn-theme.p-button-secondary:hover,body.shanghai .theme-btn.p-button-secondary:hover{background:var(--shanghai-glass-bg-strong)!important;border-color:var(--color-primary)!important}body.shanghai .p-button .p-button-label,body.shanghai button[pButton] .p-button-label,body.shanghai a[pButton] .p-button-label,body.shanghai .btn-theme .p-button-label,body.shanghai .theme-btn .p-button-label{font-weight:600!important}body.shanghai .shanghai-glass{background:var(--shanghai-glass-bg);backdrop-filter:var(--shanghai-blur);-webkit-backdrop-filter:var(--shanghai-blur);border:1px solid var(--shanghai-glass-border);border-radius:var(--shanghai-radius-lg);box-shadow:var(--shanghai-shadow-glass)}body.shanghai .shanghai-scrim{position:absolute;inset:0;pointer-events:none;z-index:1}body.shanghai .shanghai-scrim--left{background:linear-gradient(90deg,#06070ad1,#06070a80 42%,#06070a1f 75%)}body.shanghai .shanghai-scrim--right{background:linear-gradient(270deg,#06070ad1,#06070a80 42%,#06070a1f 75%)}body.shanghai .shanghai-scrim--bottom{background:linear-gradient(0deg,#06070ae0,#06070a73 45%,#06070a0d 80%)}body.shanghai .shanghai-scrim--radial{background:radial-gradient(60% 80% at 50% 55%,#06070ac7,#06070a59 55%,#06070a14)}body.shanghai .shanghai-hero-dim{position:absolute;inset:0;z-index:1;background:#06070a59;pointer-events:none}body.shanghai .shanghai-float-card{background:var(--shanghai-glass-bg);backdrop-filter:var(--shanghai-blur);-webkit-backdrop-filter:var(--shanghai-blur);border:1px solid var(--shanghai-glass-border);border-radius:var(--shanghai-radius-lg);box-shadow:var(--shanghai-shadow-glass);transition:transform .2s ease,border-color .2s ease,background .2s ease}body.shanghai .shanghai-float-card:hover{transform:translateY(-4px);border-color:var(--color-primary);background:var(--shanghai-glass-bg-strong)}body.shanghai .shanghai-glow{position:relative;overflow:hidden;isolation:isolate}body.shanghai .shanghai-glow:before{content:"";position:absolute;inset:-20% 0;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--color-primary) 16%,transparent) 0%,transparent 70%);pointer-events:none}body.shanghai .shanghai-chip{display:inline-flex;align-items:center;gap:var(--shanghai-space-1);padding:var(--shanghai-space-2) var(--shanghai-space-3);background:var(--shanghai-glass-bg);backdrop-filter:var(--shanghai-blur);-webkit-backdrop-filter:var(--shanghai-blur);border:1px solid var(--shanghai-glass-border);border-radius:999px;color:var(--shanghai-fg);font-size:var(--shanghai-text-sm);font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}body.shanghai .shanghai-chip:hover{border-color:var(--color-primary);color:var(--shanghai-fg-strong)}body.shanghai .shanghai-chip.shanghai-chip--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary, #fff)}body.shanghai .shanghai-spec-tag{display:inline-flex;align-items:center;padding:3px var(--shanghai-space-2);background:var(--shanghai-surface-2);border:1px solid var(--shanghai-rule-strong);border-radius:999px;font-size:var(--shanghai-text-xs);font-weight:500;color:var(--shanghai-fg-muted)}body.shanghai .shanghai-price-vat{font-size:var(--shanghai-text-xs);font-weight:500;color:var(--shanghai-fg-muted);margin-left:var(--shanghai-space-1)}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours{background:transparent!important;box-shadow:none!important;padding:0;margin:0;color:var(--shanghai-fg-muted);font-size:var(--shanghai-text-sm)}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours .list-style-none{margin-left:0!important;padding:0}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours .list-style-none li{display:flex;align-items:baseline;gap:12px;line-height:1.6;font-size:var(--shanghai-text-sm);color:var(--shanghai-fg-muted);padding:2px 0}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours .list-text{width:auto!important;flex:0 0 auto;min-width:84px;display:inline-block}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours li>span.me-2{display:none}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours li>i.me-2{margin-right:0!important}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours .text-light-custom{color:var(--shanghai-fg-muted)!important}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours ul li i.color-default{color:var(--shanghai-fg-strong)}body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours-today .list-text,body.shanghai .shanghai-footer app-opening-hours-widget .opening-hours-today .text-light-custom{color:var(--shanghai-fg-strong)!important}body.shanghai app-locations,body.shanghai app-location-detail{--loc-surface: var(--shanghai-surface);--loc-surface-muted: var(--shanghai-surface-2);--loc-fg: var(--shanghai-fg-strong);--loc-muted: var(--shanghai-fg-muted);--loc-border: var(--shanghai-rule);--loc-accent: var(--color-primary);--loc-radius: var(--shanghai-radius-md);--loc-shadow: none;--loc-shadow-hover: var(--shanghai-shadow-md)}body.shanghai app-reviews .p-card,body.shanghai app-home .p-card{background:var(--shanghai-surface);color:var(--shanghai-fg);border:1px solid var(--shanghai-rule);border-radius:var(--shanghai-radius-md);box-shadow:none}body.shanghai app-reviews .p-card-body,body.shanghai app-reviews .p-card-content,body.shanghai app-home .p-card-body,body.shanghai app-home .p-card-content{color:var(--shanghai-fg)}body.shanghai app-reviews .p-card-caption,body.shanghai app-reviews .p-card-header,body.shanghai app-reviews .p-card-title,body.shanghai app-home .p-card-caption,body.shanghai app-home .p-card-header,body.shanghai app-home .p-card-title{color:var(--shanghai-fg-strong);font-family:var(--shanghai-font-display)}body.shanghai app-reviews .p-card .d-block,body.shanghai app-home .p-card .d-block{color:var(--shanghai-fg)}body.shanghai app-reviews .p-card small,body.shanghai app-home .p-card small{color:var(--shanghai-fg-muted)}body.shanghai app-reviews .contact-box,body.shanghai app-reviews .contact-box p{color:var(--shanghai-fg)}body.shanghai .form-control,body.shanghai .form-select,body.shanghai input[type=text],body.shanghai input[type=email],body.shanghai input[type=tel],body.shanghai input[type=number],body.shanghai input[type=date],body.shanghai select,body.shanghai textarea{background-color:var(--shanghai-bg-raised);color:var(--shanghai-fg);border:1px solid var(--shanghai-rule);border-radius:var(--shanghai-radius-sm)}body.shanghai .form-control::placeholder,body.shanghai .form-select::placeholder,body.shanghai input[type=text]::placeholder,body.shanghai input[type=email]::placeholder,body.shanghai input[type=tel]::placeholder,body.shanghai input[type=number]::placeholder,body.shanghai input[type=date]::placeholder,body.shanghai select::placeholder,body.shanghai textarea::placeholder{color:var(--shanghai-fg-muted)}body.shanghai .form-control:focus,body.shanghai .form-select:focus,body.shanghai input[type=text]:focus,body.shanghai input[type=email]:focus,body.shanghai input[type=tel]:focus,body.shanghai input[type=number]:focus,body.shanghai input[type=date]:focus,body.shanghai select:focus,body.shanghai textarea:focus{background-color:var(--shanghai-surface);color:var(--shanghai-fg);border-color:var(--color-primary);outline:none;box-shadow:none}body.shanghai .form-control:disabled,body.shanghai .form-control[readonly],body.shanghai .form-select:disabled,body.shanghai .form-select[readonly],body.shanghai input[type=text]:disabled,body.shanghai input[type=text][readonly],body.shanghai input[type=email]:disabled,body.shanghai input[type=email][readonly],body.shanghai input[type=tel]:disabled,body.shanghai input[type=tel][readonly],body.shanghai input[type=number]:disabled,body.shanghai input[type=number][readonly],body.shanghai input[type=date]:disabled,body.shanghai input[type=date][readonly],body.shanghai select:disabled,body.shanghai select[readonly],body.shanghai textarea:disabled,body.shanghai textarea[readonly]{background-color:var(--shanghai-surface);color:var(--shanghai-fg-muted)}body.shanghai select,body.shanghai .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23f8f9fc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E")}body.shanghai label,body.shanghai .form-label,body.shanghai .form-text{color:var(--shanghai-fg-muted)}body.shanghai .invalid-feedback{color:var(--shanghai-error)}body.shanghai .card.bg-light,body.shanghai .bg-white,body.shanghai .bg-light{background:var(--shanghai-surface)!important;color:var(--shanghai-fg)!important;border:1px solid var(--shanghai-rule);border-radius:var(--shanghai-radius-md)!important;box-shadow:none!important}body.shanghai .card.bg-light h1,body.shanghai .card.bg-light h2,body.shanghai .card.bg-light h3,body.shanghai .card.bg-light h4,body.shanghai .card.bg-light h5,body.shanghai .card.bg-light h6,body.shanghai .bg-white h1,body.shanghai .bg-white h2,body.shanghai .bg-white h3,body.shanghai .bg-white h4,body.shanghai .bg-white h5,body.shanghai .bg-white h6,body.shanghai .bg-light h1,body.shanghai .bg-light h2,body.shanghai .bg-light h3,body.shanghai .bg-light h4,body.shanghai .bg-light h5,body.shanghai .bg-light h6{color:var(--shanghai-fg-strong)!important}body.shanghai .card.bg-light p,body.shanghai .card.bg-light li,body.shanghai .card.bg-light .font-weight-bold,body.shanghai .bg-white p,body.shanghai .bg-white li,body.shanghai .bg-white .font-weight-bold,body.shanghai .bg-light p,body.shanghai .bg-light li,body.shanghai .bg-light .font-weight-bold{color:var(--shanghai-fg)!important}body.shanghai .card.bg-light .text-muted,body.shanghai .card.bg-light small,body.shanghai .bg-white .text-muted,body.shanghai .bg-white small,body.shanghai .bg-light .text-muted,body.shanghai .bg-light small{color:var(--shanghai-fg-muted)!important}body.shanghai .card.bg-light a:not(.btn),body.shanghai .bg-white a:not(.btn),body.shanghai .bg-light a:not(.btn){color:var(--color-primary)!important}body.shanghai .card.bg-light a:not(.btn):hover,body.shanghai .bg-white a:not(.btn):hover,body.shanghai .bg-light a:not(.btn):hover{color:var(--color-primary-lighter, var(--color-primary))!important}body.shanghai .modal-content{background:var(--shanghai-glass-bg-strong);backdrop-filter:var(--shanghai-blur);-webkit-backdrop-filter:var(--shanghai-blur);color:var(--shanghai-fg);border:1px solid var(--shanghai-glass-border);border-radius:var(--shanghai-radius-lg);box-shadow:var(--shanghai-shadow-glass)}body.shanghai .modal-header{border-bottom:1px solid var(--shanghai-rule)}body.shanghai .modal-header .modal-title{font-family:var(--shanghai-font-display);color:var(--shanghai-fg-strong)}body.shanghai .modal-header .btn-close{filter:invert(1) brightness(2);opacity:.7}body.shanghai .modal-header .btn-close:hover{opacity:1}body.shanghai .modal-body{color:var(--shanghai-fg)}body.shanghai .modal-body label,body.shanghai .modal-body .form-label{color:var(--shanghai-fg-muted)}body.shanghai .modal-footer{border-top:1px solid var(--shanghai-rule)}body.shanghai .modal-footer .btn-primary,body.shanghai .modal-footer .btn-success{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary, #fff)}body.shanghai .modal-footer .btn-primary:hover,body.shanghai .modal-footer .btn-primary:focus,body.shanghai .modal-footer .btn-success:hover,body.shanghai .modal-footer .btn-success:focus{background:var(--color-primary-lighter, var(--color-primary));border-color:var(--color-primary-lighter, var(--color-primary));color:var(--color-on-primary, #fff)}body.shanghai .modal-footer .btn-secondary,body.shanghai .modal-footer .btn-outline-secondary,body.shanghai .modal-footer .btn-light,body.shanghai .modal-footer .btn-default{background:transparent;color:var(--shanghai-fg);border:1px solid var(--shanghai-rule-strong)}body.shanghai .modal-footer .btn-secondary:hover,body.shanghai .modal-footer .btn-outline-secondary:hover,body.shanghai .modal-footer .btn-light:hover,body.shanghai .modal-footer .btn-default:hover{background:var(--shanghai-surface-2);color:var(--shanghai-fg-strong)}body.shanghai .modal-backdrop{background:#000000bf}body.shanghai .modal-backdrop.show{opacity:1}body.shanghai .modal-content .nav,body.shanghai .modal-content [ngbnav],body.shanghai .nav-tabs{border-bottom:1px solid var(--shanghai-rule)}body.shanghai .modal-content .nav-link,body.shanghai .nav-tabs .nav-link{color:var(--shanghai-fg-muted);background:transparent;border:1px solid transparent}body.shanghai .modal-content .nav-link:hover,body.shanghai .modal-content .nav-link:focus,body.shanghai .nav-tabs .nav-link:hover,body.shanghai .nav-tabs .nav-link:focus{color:var(--shanghai-fg-strong);border-color:var(--shanghai-rule);isolation:auto}body.shanghai .modal-content .nav-link.active,body.shanghai .nav-tabs .nav-link.active{color:var(--color-on-primary, #fff);background:var(--color-primary);border-color:var(--color-primary)}body.shanghai .modal-content .nav-link.disabled,body.shanghai .nav-tabs .nav-link.disabled{color:var(--shanghai-fg-muted);opacity:.5}body.shanghai .toast-container .ngx-toastr{color:#fff}body.shanghai app-finance-application-form .step-progress .step-circle{background:var(--shanghai-surface-2)!important;color:var(--shanghai-fg-muted)!important}body.shanghai app-finance-application-form .step-progress .step-label{color:var(--shanghai-fg-muted)!important}body.shanghai app-finance-application-form .step-progress .progress{background:var(--shanghai-surface-2)!important}body.shanghai app-finance-application-form .step-progress .step-item.active .step-circle,body.shanghai app-finance-application-form .step-progress .step-item.completed .step-circle{background:var(--color-primary)!important;color:var(--color-on-primary, #fff)!important}body.shanghai app-finance-application-form .step-progress .step-item.completed .step-label{color:var(--color-primary)!important}body.shanghai app-finance-application-form .review-section{background:var(--shanghai-surface)!important;border:1px solid var(--shanghai-rule)!important;border-radius:var(--shanghai-radius-md)!important;box-shadow:none!important}body.shanghai app-finance-application-form .review-header{background:var(--shanghai-surface-2)!important;border-bottom:1px solid var(--shanghai-rule)!important}body.shanghai app-finance-application-form .review-title{color:var(--shanghai-fg-strong)!important}body.shanghai app-finance-application-form .review-label{color:var(--shanghai-fg-muted)!important}body.shanghai app-finance-application-form .review-value{color:var(--shanghai-fg)!important}body.shanghai app-finance-application-form .server-error{color:var(--shanghai-error)!important}
