/* Shared anonymous Legacy layout. */
.bw-legacy {
    --bw-legacy-text: #1e2035;
    --bw-legacy-hover: #ff3558;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    background: #fff;
    color: var(--bw-legacy-text);
    font: 400 20px/1.5 "Satoshi", Arial, Helvetica, sans-serif;
    -webkit-text-size-adjust: 100%;
}

.bw-legacy *,
.bw-legacy *::before,
.bw-legacy *::after {
    box-sizing: border-box;
}

.bw-legacy > * {
    margin-block: 0;
}

.bw-legacy :where(h1, h2, h3, h4, h5, h6) {
    color: inherit;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.5;
}

.bw-legacy h1 { font-size: 2em; margin-block: .67em; }
.bw-legacy h2 { font-size: 1.5em; margin-block: .83em; }
.bw-legacy h3 { font-size: 1.17em; margin-block: 1em; }
.bw-legacy h4 { font-size: 1em; margin-block: 1.33em; }
.bw-legacy h5 { font-size: .83em; margin-block: 1.67em; }
.bw-legacy h6 { font-size: .67em; margin-block: 2.33em; }
.bw-legacy p { margin-block: 1em; }

.bw-legacy a {
    color: #003b5e;
    text-decoration: none;
}

.bw-legacy a:hover,
.bw-legacy summary:hover {
    color: var(--bw-legacy-hover);
}

.bw-legacy :where(a, summary, button, input, select, textarea):focus-visible {
    outline: 2px solid #d81b60;
    outline-offset: 4px;
}

.bw-legacy img,
.bw-legacy video {
    max-width: 100%;
    height: auto;
}

.bw-legacy .bw-legacy-content {
    flex: 1;
    width: 100%;
    max-width: calc(1300px + 4rem);
    margin-inline: auto;
    padding: 2rem;
    overflow-wrap: anywhere;
}

.bw-legacy .wp-block-post-content {
    font: inherit;
}

.bw-legacy .wp-block-post-content :where(ul, ol) {
    margin-block: 1em;
    padding-inline-start: 2em;
}

.bw-legacy :where(table, input, select, textarea, button) {
    font: inherit;
}

.bw-legacy table {
    width: 100%;
    border-collapse: collapse;
}

.bw-legacy :where(th, td) {
    text-align: left;
    padding: 1rem 1rem 1rem 0;
}

.bw-legacy .wp-block-table {
    overflow-x: auto;
}

.bw-legacy :where(input, select, textarea) {
    max-width: 100%;
}

/* Paint the shared header's inset with the existing content palette. */
.bw-legacy:has(> .bw-legacy-content .bw-legacy-corporate),
.bw-legacy:has(> .bw-legacy-content .bw-legacy-legal) {
    background: #1e2035;
}

.bw-legacy:has(> .bw-legacy-content .bw-legacy-legal-information) {
    background: #e2e1e1;
}

/* Legal documents retain the original dark layout and definition tables. */
.bw-legacy .bw-legacy-content:has(.bw-legacy-legal) {
    max-width: none;
    padding: 0;
    background: #1e2035;
    color: #fff;
}

.bw-legacy .bw-legacy-content:has(.bw-legacy-legal) > .wp-block-post-title {
    display: flex;
    align-items: center;
    min-height: 210px;
    margin: 0;
    /* Original wrapper/column spacing plus the heading margins. */
    padding: calc(4rem + .67em) max(2rem, calc((100% - 1300px) / 2));
    font-size: clamp(32px, 5vw, 70px);
    background: url('../images/Blackwall_background-pattern_05.jpg') center / cover no-repeat;
}

.bw-legacy .bw-legacy-legal {
    max-width: calc(1300px + 4rem);
    margin-inline: auto;
    padding: 4rem 2rem 10rem;
}

.bw-legacy .bw-legacy-legal .bw-legacy-section {
    margin-block: 0;
}

.bw-legacy .bw-legacy-legal .wp-block-table {
    margin-inline: 0;
}

.bw-legacy .bw-legacy-legal .wp-block-table td {
    padding: 4px;
    border: 0;
    vertical-align: middle;
}

.bw-legacy .bw-legacy-legal .bw-legacy-definitions td {
    box-sizing: content-box;
    border: 1px solid #99acc2;
    height: 166.578px;
}

.bw-legacy .bw-legacy-legal .bw-legacy-cookies table {
    border: 1px solid #99acc2;
}

/* GateKeeper and About Us keep their own headings and full-width sections. */
.bw-legacy .bw-legacy-content:has(.bw-legacy-corporate) {
    max-width: none;
    padding: 0;
}

.bw-legacy .bw-legacy-content:has(.bw-legacy-corporate) > .wp-block-post-title {
    display: none;
}

.bw-legacy.bw-legacy-corporate {
    min-height: 0;
    background: #1e2035;
    color: #fff;
}

.bw-legacy.bw-legacy-corporate .wp-block-group,
.bw-legacy.bw-legacy-corporate figure {
    margin: 0;
}

.bw-legacy.bw-legacy-corporate > section {
    display: flex;
    justify-content: center;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-section-inner {
    width: 100%;
    max-width: calc(1300px + 4rem);
    padding: 2rem;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-secondary { background: #313445; }
.bw-legacy.bw-legacy-corporate .bw-legacy-bottom-gap { padding-bottom: 6rem; }
.bw-legacy.bw-legacy-corporate .bw-legacy-center { text-align: center; }
.bw-legacy.bw-legacy-corporate .bw-legacy-uppercase { text-transform: uppercase; }

.bw-legacy.bw-legacy-corporate .bw-legacy-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin: 2rem 0;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-columns > * {
    flex: 1;
    min-width: 0;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-columns > .bw-legacy-basis-55 { flex: 0 0 55%; }
.bw-legacy.bw-legacy-corporate .bw-legacy-columns > .bw-legacy-basis-35 { flex: 0 0 35%; }
.bw-legacy.bw-legacy-corporate .bw-legacy-columns > .bw-legacy-basis-65 { flex: 0 0 65%; }
.bw-legacy.bw-legacy-corporate .bw-legacy-align-center { align-items: center; }
.bw-legacy.bw-legacy-corporate .bw-legacy-align-content { align-content: center; }
.bw-legacy.bw-legacy-corporate .bw-legacy-justify-center { justify-content: center; }
.bw-legacy.bw-legacy-corporate .bw-legacy-nested-columns { margin: 0 0 2rem; }

.bw-legacy.bw-legacy-corporate .bw-legacy-feature {
    box-sizing: content-box;
    padding: 1rem;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-notched {
    clip-path: polygon(0 0, calc(100% - 4rem) 0, 100% 4rem, 100% 100%, 0 100%);
}

.bw-legacy.bw-legacy-corporate .bw-legacy-color-1 { background: #eb2450; }
.bw-legacy.bw-legacy-corporate .bw-legacy-color-5 { background: #900c57; }
.bw-legacy.bw-legacy-corporate .bw-legacy-color-6 { background: #ff3558; }
.bw-legacy.bw-legacy-corporate .bw-legacy-color-7 { background: #923cff; }

/* Match the homepage capability cards without recoloring other corporate Pages. */
.bw-legacy.bw-legacy-gatekeeper .bw-legacy-feature:is(.bw-legacy-color-1, .bw-legacy-color-5, .bw-legacy-color-6, .bw-legacy-color-7) {
    background: #0a0c21;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-columns > .bw-legacy-profile {
    flex: 1 1 150px;
    max-width: 200px;
    background: #262939;
    text-align: center;
    font-size: 16px;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-profile p {
    padding: 0 0 1rem;
}

.bw-legacy.bw-legacy-corporate img {
    max-width: 100%;
    height: auto;
    vertical-align: baseline;
}

/* Keep the original inline logo flow and its left-aligned wrapped rows. */
.bw-legacy.bw-legacy-corporate .bw-legacy-investors {
    max-width: 100%;
    margin: 1em 0;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-investors figure {
    display: inline-block;
    margin-right: 1rem;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-investors img {
    width: auto;
    max-height: 50px;
    margin: 0 1rem 1rem 0;
    object-fit: contain;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-cta {
    margin: 0 1rem 0 0;
    padding-top: 1rem;
}

.bw-legacy.bw-legacy-corporate .bw-legacy-cta .wp-block-button__link {
    padding: .65rem 1rem;
    border: 0;
    border-radius: 0;
    background: #923cff;
    color: #fff;
    font: 400 1rem/1 "Satoshi", Arial, Helvetica, sans-serif;
    text-decoration: none;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
}

.bw-legacy.bw-legacy-corporate .bw-legacy-cta-left .wp-block-button__link {
    background: #ff3558;
}

/* Fill the remaining height beside the deployment card. */
@media (min-width: 541px) {
    .bw-legacy.bw-legacy-gatekeeper .bw-legacy-columns > .bw-legacy-basis-65:has(> .bw-legacy-nested-columns) {
        display: flex;
        flex-direction: column;
    }

    .bw-legacy.bw-legacy-gatekeeper .bw-legacy-basis-65 > .bw-legacy-nested-columns + .bw-legacy-feature:last-child {
        flex-grow: 1;
    }
}

@media (max-width: 540px) {
    .bw-legacy.bw-legacy-corporate .bw-legacy-columns {
        flex-direction: column;
    }

    .bw-legacy.bw-legacy-corporate .bw-legacy-columns > * {
        flex-basis: auto;
        width: 100%;
    }

    .bw-legacy.bw-legacy-corporate .bw-legacy-feature {
        box-sizing: border-box;
    }
}

/* Public booking Pages retain their original background and notched panel. */
.bw-legacy:has(> .bw-legacy-content .bw-legacy-booking) {
    background: url("../images/Blackwall_background-pattern_13.jpg") no-repeat center / cover fixed;
}

.bw-legacy .bw-legacy-content:has(.bw-legacy-booking) {
    max-width: none;
    padding: 0;
}

.bw-legacy .bw-legacy-content:has(.bw-legacy-booking) > .wp-block-post-title {
    display: none;
}

.bw-legacy.bw-legacy-booking {
    min-height: 0;
    background: transparent;
    color: #fff;
}

.bw-legacy.bw-legacy-booking .bw-legacy-booking-heading {
    width: 100%;
    max-width: calc(1300px + 4rem);
    margin: 5rem auto 0;
    padding: 2rem;
    text-align: center;
}

.bw-legacy.bw-legacy-booking .bw-legacy-booking-panel {
    width: 566px;
    max-width: 100%;
    margin: 0 auto;
    padding: 3rem;
    background: #fff;
    box-shadow: 0 8px 16px rgb(0 0 0 / 20%);
    clip-path: polygon(0 0, calc(100% - 4rem) 0, 100% 4rem, 100% 100%, 0 100%);
}

.bw-legacy.bw-legacy-booking .bw-legacy-booking-inner {
    margin: 0;
    padding: 2rem;
}

@media (max-width: 600px) {
    .bw-legacy.bw-legacy-booking .bw-legacy-booking-panel {
        padding: 1rem;
        clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 0 100%);
    }

    .bw-legacy.bw-legacy-booking .bw-legacy-booking-inner {
        padding: 0;
    }
}

/* Public contact form: scanner control styling, scoped to HubSpot's DOM. */
.bw-legacy:has(> .bw-legacy-content .bw-legacy-contact) {
    background: url("../images/Blackwall_background-pattern_13.jpg") no-repeat center / cover fixed;
}

.bw-legacy .bw-legacy-content:has(.bw-legacy-contact) {
    max-width: none;
    padding: 0;
}

.bw-legacy .bw-legacy-content:has(.bw-legacy-contact) > .wp-block-post-title {
    display: none;
}

.bw-legacy.bw-legacy-contact {
    min-height: 0;
    background: transparent;
    color: #fff;
    padding: 0 2rem 4rem;
}

.bw-legacy .bw-legacy-contact-heading {
    margin: 5rem auto 0;
    padding: 2rem 0;
    text-align: center;
}

.bw-legacy .bw-legacy-contact-heading h1 {
    text-transform: uppercase;
}

.bw-legacy .bw-legacy-contact-heading p {
    font-weight: 700;
}

.bw-legacy #blackwall-contact-form {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}

.bw-legacy #blackwall-contact-form fieldset {
    display: flex;
    gap: 1.5rem;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.bw-legacy #blackwall-contact-form fieldset .hs-form-field {
    flex: 1;
    min-width: 0;
    float: none;
    margin-bottom: 1.5rem;
}

.bw-legacy #blackwall-contact-form fieldset > .hs-dependent-field {
    flex: 1;
    min-width: 0;
}

.bw-legacy #blackwall-contact-form .input {
    margin: 0;
}

.bw-legacy #blackwall-contact-form label {
    display: block;
    margin-bottom: .4rem;
    color: #fff;
    font: 500 1rem/1.5 "Satoshi", Arial, Helvetica, sans-serif;
}

.bw-legacy #blackwall-contact-form .hs-form-field > label {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* Keep HubSpot labels available to assistive technology. */
.bw-legacy #blackwall-contact-form .hs-form-field > label.bw-contact-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.bw-legacy #blackwall-contact-form .hs-input::placeholder,
.bw-legacy #blackwall-contact-form select.is-placeholder {
    color: #c4c4cc;
    opacity: 1;
}

.bw-legacy #blackwall-contact-form .hs-input:not([type="checkbox"]):not([type="radio"]) {
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 48px;
    padding: .9rem;
    border: 0;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font: 400 1.25rem/1.15 "Satoshi", Arial, Helvetica, sans-serif;
}

.bw-legacy #blackwall-contact-form .hs-input:not([type="checkbox"]):not([type="radio"]):focus {
    outline: none;
}

.bw-legacy #blackwall-contact-form select option {
    background: #1e2035;
    color: #fff;
}

.bw-legacy #blackwall-contact-form .hs-input.error:not([type="checkbox"]):not([type="radio"]) {
    border-color: #ff3558;
}

.bw-legacy #blackwall-contact-form .hs-error-msgs {
    padding: .5rem .75rem;
    margin: .5rem 0 0;
    list-style: none;
    border-left: 3px solid #ff3558;
    background: #1e2035;
}

.bw-legacy #blackwall-contact-form :is(.hs-form-required, .hs-error-msgs label) {
    color: #fff;
}

.bw-legacy #blackwall-contact-form :is(.hs-richtext, .legal-consent-container, .submitted-message) {
    color: #fff;
}

.bw-legacy #blackwall-contact-form a {
    color: #fff;
    text-decoration: underline;
}

.bw-legacy #blackwall-contact-form .actions {
    text-align: center;
}

.bw-legacy #blackwall-contact-form .hs-button {
    max-width: 100%;
    padding: 1rem 6rem;
    border: 0;
    border-radius: 0;
    background: #d81b60;
    color: #fff;
    font: 400 2rem/1 "Satoshi", Arial, Helvetica, sans-serif;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
    cursor: pointer;
}

.bw-legacy #blackwall-contact-form .hs-button:hover {
    transition: box-shadow .15s ease-out;
    box-shadow: inset 0 0 100px 100px rgb(255 255 255 / 10%);
}

.bw-legacy #blackwall-contact-form .hs-button:focus-visible {
    /* Keep the focus ring inside the scanner button's clipped outline. */
    outline: 3px solid #fff;
    outline-offset: -5px;
}

@media (max-width: 600px) {
    .bw-legacy.bw-legacy-contact {
        padding-inline: 1rem;
    }

    .bw-legacy #blackwall-contact-form fieldset {
        flex-direction: column;
        gap: 0;
    }

    .bw-legacy #blackwall-contact-form fieldset .hs-form-field {
        width: 100%;
    }
}

/* Public scanner; processing and results remain on the dashboard. */
.bw-legacy .bw-legacy-scanner .bw-legacy-center h2 {
    font-size: 2em;
    margin-block: .67em;
}
.bw-legacy .bw-legacy-scanner .bw-legacy-columns > .bw-legacy-scan-card {
    flex: 1 1 200px;
    box-sizing: content-box;
    max-width: 240px;
    min-height: 250px;
    padding: 2rem;
    box-shadow: 0 8px 16px rgb(0 0 0 / 20%);
    clip-path: polygon(0 0, calc(100% - 2rem) 0, 100% 2rem, 100% 100%, 0 100%);
}

.bw-legacy .bw-legacy-scanner .bw-legacy-scan-card h3 {
    margin-top: 0;
    /* Preserve the source heading margin and two intervening line breaks. */
    margin-bottom: calc(1em + 5rem);
    text-transform: uppercase;
}

.bw-legacy .bw-legacy-scan-color-1 { background: #eb2450; }
.bw-legacy .bw-legacy-scan-color-2 { background: #cf116f; }
.bw-legacy .bw-legacy-scan-color-3 { background: #992ceb; }
.bw-legacy .bw-legacy-scan-color-5 { background: #900c57; }

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) label {
    display: block;
    color: #eb2450;
    font-weight: 700;
    text-transform: uppercase;
}

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) input:not([type="hidden"]) {
    display: block;
    margin-bottom: 1rem;
    box-sizing: border-box;
    width: 100%;
    padding: .9rem;
    border: 0;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font: 400 1.25rem/1.15 "Satoshi", Arial, Helvetica, sans-serif;
}

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) input:focus {
    outline: none;
}

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) input:user-invalid {
    border-bottom-color: #ff3558;
}

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) button {
    max-width: 100%;
    margin-top: 1rem;
    padding: 1rem 6rem;
    border: 0;
    border-radius: 0;
    background: #d81b60;
    color: #fff;
    font: 400 2rem/1 "Satoshi", Arial, Helvetica, sans-serif;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
    cursor: pointer;
}

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) button:hover {
    box-shadow: inset 0 0 100px 100px rgb(255 255 255 / 10%);
}

.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
}

@media (max-width: 540px) {
    .bw-legacy .bw-legacy-scanner .bw-legacy-columns > .bw-legacy-scan-card {
        flex-basis: auto;
        box-sizing: border-box;
        max-width: 304px;
    }

    .bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) button {
        padding-inline: 3rem;
    }
}

/* Clip the browser's autofill background instead of covering page artwork. */
.bw-legacy #blackwall-contact-form .hs-input:not([type="checkbox"]):not([type="radio"]):-webkit-autofill,
.bw-legacy :is(#blackwall-scanner-form, #blackwall-kiosk-form) input:-webkit-autofill {
    /* Keep Chromium's spelling-error text light as well as the text fill. */
    color-scheme: dark;
    -webkit-background-clip: text;
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
}

/* Kiosk presentation; controls share the scanner rules above. */
body.page-template-kiosk { margin: 0; }
.bw-legacy.bw-legacy-kiosk {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    overflow: clip;
    padding: clamp(3rem, 6.7vw, 6rem) 2rem clamp(4rem, 12vw, 12rem);
    background: #000;
    text-align: center;
    font-family: "Satoshi", Arial, Helvetica, sans-serif;
}

.bw-legacy.bw-legacy-kiosk::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 20%;
    width: 4011.815px;
    height: 2358.427px;
    opacity: .4;
    background: url("../images/Blackwall_background-pattern_13.jpg") center / cover no-repeat;
    transform: translate(-50%, -50%) rotate(30deg);
}

.bw-legacy .bw-legacy-kiosk-logo img {
    width: auto;
    height: clamp(3rem, 6.4vw, 5.75rem);
    max-width: 100%;
    object-fit: contain;
}

.bw-legacy.bw-legacy-kiosk h1 {
    margin: clamp(3rem, 8.34vw, 7.5rem) 0 1rem;
    font: 500 clamp(2.5rem, 5.56vw, 5rem)/1.2 "Satoshi", Arial, Helvetica, sans-serif;
    letter-spacing: -.02em;
}

.bw-legacy.bw-legacy-kiosk > p {
    margin: 0 0 clamp(3rem, 8.34vw, 7.5rem);
    color: #a8a9b0;
    font-size: clamp(1.25rem, 2.23vw, 2rem);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -.02em;
}

.bw-legacy #blackwall-kiosk-form {
    width: 100%;
    max-width: 840px;
    margin-inline: auto;
}

/* Legal Information: original public company and legal-document cards. */
.bw-legacy.bw-legacy-legal-information {
    background: #fff;
    color: #1e2035;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-intro {
    background: #e2e1e1;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #eee;
    padding: 2rem;
    overflow-wrap: break-word;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-card-body {
    flex: 1;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-company-image img {
    display: inline-block;
    width: 100%;
    height: 192px;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-stars {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ed9e4b;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-stars img {
    width: 26px;
    height: 26px;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-contact-icon {
    display: inline-block;
    width: auto;
    height: 1em;
    vertical-align: -.125em;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-card-footer p {
    margin: 0;
}

.bw-legacy.bw-legacy-legal-information .bw-legal-card-footer a {
    display: inline-block;
    padding: .5rem 0;
    color: #f08000;
    font-size: 1rem;
    line-height: 1;
}
