/* Existing contact information in the shared Lego visual system. */
.lg-contacts { --lg-contacts-error: oklch(.47 .14 28); --lg-contacts-success: oklch(.43 .075 158); }
.lg-contacts [hidden] { display: none !important; }
.lg-contacts :is(h1,h2,h3) { text-wrap: balance; overflow-wrap: anywhere; }
.lg-contacts :is(a,button):focus-visible { outline: 2px solid var(--lg-action); outline-offset: 3px; }
.lg-contacts a { text-underline-offset: .2em; }
.lg-contacts-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; margin-bottom: 1.5rem; color: var(--lg-muted); font-size: .75rem; line-height: 1.8; }
.lg-contacts-breadcrumb a { color: inherit; }
.lg-contacts-title { margin: 0 0 2rem; font-size: clamp(1.75rem,1.5rem + .5vw,2.125rem); font-weight: 750; line-height: 1.3; letter-spacing: -.025em; }
.lg-contacts h2 { margin: 0 0 1rem; font-size: 1.375rem; font-weight: 750; line-height: 1.4; letter-spacing: -.015em; }
.lg-contacts-visit { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); align-items: start; gap: clamp(2rem,4vw,4rem); }
.lg-contacts-location,.lg-contacts-map,.lg-contacts-sales,.lg-contacts-form,.lg-contacts-legal__content { min-width: 0; }
.lg-contacts-location h2 { margin-bottom: .5rem; font-size: 1rem; font-weight: 650; letter-spacing: 0; }
.lg-contacts-address__text { max-width: 32rem; margin: 0; font-size: clamp(1.125rem,1rem + .4vw,1.375rem); font-weight: 650; line-height: 1.65; white-space: pre-line; text-wrap: pretty; overflow-wrap: anywhere; }
.lg-contacts-copy-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1rem; margin-top: .5rem; }
.lg-contacts-copy { display: inline-flex; align-items: center; justify-content: center; min-height: var(--lg-control-size); max-width: 100%; padding: .625rem 0; border: 0; border-radius: .375rem; background: transparent; color: var(--lg-action); font: inherit; font-size: .75rem; font-weight: 600; line-height: 1.5; text-align: start; cursor: pointer; overflow-wrap: anywhere; transition: color 120ms ease-out; }
.lg-contacts-copy-status { margin: 0; color: var(--lg-muted); font-size: .75rem; font-weight: 500; line-height: 1.65; overflow-wrap: anywhere; }
.lg-contacts-copy-status:empty { display: none; }
.lg-contacts-copy-status[data-lg-copy-state="busy"]::before { content: ''; display: inline-block; width: .75rem; height: .75rem; margin-inline-end: .5rem; border: 1px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; vertical-align: -.0625rem; animation: lg-contacts-copy-wait 800ms linear infinite; }
@keyframes lg-contacts-copy-wait { to { rotate: 360deg; } }
.lg-contacts-copy-status[data-lg-copy-state="success"] { color: var(--lg-contacts-success); }
.lg-contacts-copy-status[data-lg-copy-state="error"] { color: var(--lg-contacts-error); }
.lg-contacts-showroom { margin-top: 1.75rem; }
.lg-contacts-phone-list,.lg-contacts-email-list { display: grid; gap: .125rem; margin: 0; padding: 0; list-style: none; }
.lg-contacts-phone-list li,.lg-contacts-email-list li { min-width: 0; }
.lg-contacts-contact { display: inline-flex; align-items: center; gap: .75rem; min-height: var(--lg-control-size); max-width: 100%; padding: .5rem 0; border-radius: .375rem; color: var(--lg-action); font-size: .875rem; font-weight: 550; line-height: 1.6; text-decoration: none; transition: color 120ms ease-out; }
.lg-contacts-contact > span:not(.lg-press-hit) { min-width: 0; overflow-wrap: anywhere; }
.lg-contacts-contact > .lg-icon { flex: none; width: 1.125rem; height: 1.125rem; }
.lg-contacts-contact--phone { color: var(--lg-ink); font-size: 1.0625rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.lg-contacts-contact--phone > .lg-icon { color: var(--lg-action); }
.lg-contacts-schedule { display: grid; gap: 1.5rem; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--lg-line); }
.lg-contacts-hours { display: grid; gap: .375rem; margin: 0; color: var(--lg-muted); font-size: .8125rem; line-height: 1.6; }
.lg-contacts-hours strong { color: var(--lg-ink); font-size: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.lg-contacts-breaks { display: grid; gap: .375rem; margin: 0; font-size: .8125rem; line-height: 1.7; }
.lg-contacts-breaks > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .5rem 1rem; }
.lg-contacts-breaks dt { color: var(--lg-muted); overflow-wrap: anywhere; }
.lg-contacts-breaks dd { margin: 0; color: var(--lg-ink); font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.lg-contacts-map { display: grid; }
.lg-contacts-map__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .375rem 1.25rem; margin-bottom: .875rem; }
.lg-contacts-map__heading h2 { margin: 0; font-size: 1rem; font-weight: 650; letter-spacing: 0; }
.lg-contacts-map__link { display: inline-flex; align-items: center; gap: .5rem; min-height: var(--lg-control-size); max-width: 100%; padding: .5rem 0; border-radius: .375rem; color: var(--lg-action); font-size: .75rem; font-weight: 600; line-height: 1.6; text-decoration: none; }
.lg-contacts-map__link > span:not(.lg-press-hit) { min-width: 0; overflow-wrap: anywhere; }
.lg-contacts-map__link > .lg-icon { flex: none; width: 1.125rem; height: 1.125rem; }
.lg-contacts-map__frame { position: relative; isolation: isolate; z-index: 0; min-width: 0; height: 32.5rem; border-radius: .75rem; overflow: hidden; background: var(--lg-soft); outline: 1px solid oklch(0 0 0 / .1); outline-offset: -1px; }
.lg-contacts-map__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.lg-store-map,.lg-store-map__canvas { width: 100%; height: 100%; }
.lg-store-map { container-type: inline-size; }
.lg-store-map noscript iframe { position: absolute; inset: 0; z-index: 2; }
.lg-store-map__feedback { position: absolute; z-index: 1100; inset: auto .875rem 2.5rem; display: grid; justify-items: start; gap: .5rem; pointer-events: none; }
.lg-store-map__feedback:has([data-lg-map-status]:not([hidden])) { padding: .875rem 1rem; border-radius: .5rem; background: var(--lg-paper); box-shadow: 0 0 0 1px oklch(0 0 0 / .08),0 .25rem 1rem oklch(0 0 0 / .08); }
.lg-store-map__feedback p { margin: 0; font-size: .8125rem; line-height: 1.6; }
.lg-store-map__retry { pointer-events: auto; min-height: var(--lg-control-size); padding: .5rem .75rem; border: 1px solid var(--lg-line); border-radius: .375rem; background: var(--lg-paper); color: var(--lg-action); font: inherit; font-size: .8125rem; cursor: pointer; }
.lg-store-map__retry[aria-disabled="true"] { cursor: wait; opacity: .65; }
.lg-store-map .leaflet-container { background: var(--lg-soft); font-family: inherit; }
.lg-store-map .leaflet-control-zoom { border: 0; border-radius: .5rem; box-shadow: 0 0 0 1px oklch(0 0 0 / .1),0 .25rem .75rem oklch(0 0 0 / .08); overflow: hidden; }
.lg-store-map .leaflet-control-zoom a { display: grid; place-items: center; width: var(--lg-control-size); height: var(--lg-control-size); line-height: 1; color: var(--lg-ink); background: var(--lg-paper); font-family: inherit; font-weight: 500; font-size: 1.5rem; text-decoration: none; }
.lg-store-map .leaflet-control-zoom a:focus-visible { outline-offset: -3px; }
.lg-store-map .leaflet-control-attribution { max-width: 100%; padding: .25rem .5rem; background: var(--lg-paper); color: var(--lg-muted); font-family: inherit; font-size: .625rem; line-height: 1.5; overflow-wrap: anywhere; }
.lg-store-map .leaflet-control-attribution a { color: var(--lg-action); }
.lg-store-map-marker { width: 0; height: 0; border: 0; background: transparent; }
.lg-store-map__pin { position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center; gap: .375rem; width: max-content; max-width: min(12rem,calc(100cqi - 2rem)); color: var(--lg-action); transform: translate(-50%,-100%); text-align: center; font-family: Montserrat,Arial,sans-serif; }
.lg-store-map__pin strong { position: relative; max-width: 100%; padding: .4375rem .75rem; border-radius: .375rem; background: var(--lg-paper); box-shadow: 0 0 0 1px oklch(0 0 0 / .08),0 .125rem .5rem oklch(0 0 0 / .12); font-size: .875rem; line-height: 1.3; font-weight: 750; letter-spacing: -.015em; }
.lg-store-map__pin strong::after { content: ''; position: absolute; left: 50%; bottom: -.1875rem; width: .375rem; height: .375rem; background: var(--lg-paper); transform: translateX(-50%) rotate(45deg); }
.lg-store-map__pin-icon { display: block; flex: none; width: 2.25rem; height: 2.7rem; overflow: visible; filter: drop-shadow(0 .125rem .1875rem oklch(0 0 0 / .2)); }
.lg-contacts-map__store { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; padding: 1.125rem 0 0; }
.lg-contacts-map__store-copy { flex: 1 1 14rem; min-width: 0; }
.lg-contacts-map__store h3 { margin: 0 0 .25rem; font-size: 1rem; line-height: 1.5; font-weight: 700; }
.lg-contacts-map__store p { margin: 0; font-size: .75rem; color: var(--lg-muted); line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.lg-contacts-map .lg-contacts-map__route { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; max-width: 100%; font-size: .8125rem; font-weight: 650; line-height: 1.5; text-align: center; transition: background-color 120ms ease-out; }
.lg-contacts-map__route > .lg-icon { flex: none; width: 1.125rem; height: 1.125rem; }
.lg-contacts-map__route > span:not(.lg-press-hit) { min-width: min-content; overflow-wrap: normal; }
.lg-contacts-section { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--lg-line); }
.lg-contacts-communication { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); align-items: start; gap: clamp(2rem,4vw,4rem); }
.lg-contacts-email-list { margin-top: 1rem; }
.lg-contacts-sales__extra { margin-top: 1.75rem; }
.lg-contacts-sales__extra h2 { margin-bottom: .25rem; font-size: 1rem; font-weight: 650; letter-spacing: 0; }
.lg-contacts-social { display: inline-flex; align-items: center; gap: .5rem; min-height: var(--lg-control-size); max-width: 100%; padding: .5rem 0; border-radius: .375rem; color: var(--lg-action); font-size: .875rem; font-weight: 550; text-decoration: none; overflow-wrap: anywhere; }
.lg-contacts-social > span:not(.lg-press-hit) { flex: none; }
.lg-contacts-form { padding: 1.5rem; border-radius: .75rem; background: var(--lg-soft); container: lg-contacts-form / inline-size; }
.lg-contacts-form__intro { margin: 0 0 1.25rem; color: var(--lg-muted); font-size: .8125rem; line-height: 1.8; white-space: pre-line; text-wrap: pretty; overflow-wrap: anywhere; }
.lg-contacts-form__notice { margin: 0 0 1.5rem; padding: .75rem .875rem; border-inline-start: 3px solid var(--lg-action); background: var(--lg-paper); color: var(--lg-ink); font-size: .75rem; line-height: 1.7; text-wrap: pretty; }
.lg-contacts-form :is(form,fieldset) { min-width: 0; margin: 0; padding: 0; border: 0; }
.lg-contacts-form .contact-form-footer > .row { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; margin-bottom: 1rem; }
.lg-contacts-form .contact-form-footer :is(.columns,.row) { min-width: 0; max-width: 100%; }
.lg-contacts-form .contact-form-footer p { margin: 0; }
.lg-contacts-form label { display: block; font-size: .8125rem; font-weight: 550; line-height: 1.6; overflow-wrap: anywhere; }
.lg-contacts-form .wpcf7-form-control-wrap { display: block; margin-top: .5rem; }
.lg-contacts-form :is(input[type="text"],input[type="email"],textarea) { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: var(--lg-control-size); margin: 0; padding: .675rem .875rem; border: 1px solid oklch(.65 .014 247); border-radius: .375rem; background: var(--lg-paper); color: var(--lg-ink); font: inherit; font-size: 1rem; line-height: 1.5; transition: border-color 120ms ease-out,background-color 120ms ease-out; }
.lg-contacts-form textarea { min-height: 10rem; height: 10rem; resize: vertical; }
.lg-contacts-form :is(input[type="text"],input[type="email"],textarea):disabled { background: var(--lg-paper); color: var(--lg-muted); cursor: not-allowed; opacity: 1; }
.lg-contacts-form :is(input,textarea)::placeholder { color: var(--lg-muted); opacity: 1; }
.lg-contacts-form :is(input[type="submit"],button[type="submit"]) { display: inline-flex; align-items: center; justify-content: center; min-height: var(--lg-control-size); max-width: 100%; margin-top: .25rem; padding: .75rem 1.5rem; border: 0; border-radius: .375rem; background: var(--lg-action); color: var(--lg-on-action); font: inherit; font-size: .875rem; font-weight: 650; line-height: 1.5; white-space: normal; }
.lg-contacts-form :is(input[type="submit"],button[type="submit"]):disabled { background: var(--lg-muted); cursor: not-allowed; opacity: 1; }
.lg-contacts-form .wpcf7-spinner { display: none; }
.lg-contacts-form .wpcf7-not-valid-tip { display: block; margin-top: .375rem; color: var(--lg-contacts-error); font-size: .75rem; line-height: 1.65; }
.lg-contacts-form .wpcf7-response-output { margin: 1rem 0 0; padding: .75rem; font-size: .8125rem; line-height: 1.7; overflow-wrap: anywhere; }
.lg-contacts-form__unavailable { margin: 0; color: var(--lg-muted); font-size: .875rem; line-height: 1.8; text-wrap: pretty; }
.lg-contacts-legal { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,9fr); gap: 2rem; }
.lg-contacts-legal__heading { min-width: 0; }
.lg-contacts-legal__heading h2 { margin-bottom: .5rem; }
.lg-contacts-legal__heading .lg-contacts-copy-status { max-width: 19rem; }
.lg-contacts-legal__company { max-width: 48rem; margin: 0 0 1.5rem; font-size: 1rem; font-weight: 650; line-height: 1.7; text-wrap: pretty; overflow-wrap: anywhere; }
.lg-contacts-legal__list { margin: 0; font-size: .8125rem; line-height: 1.8; }
.lg-contacts-legal__list > div { display: grid; grid-template-columns: minmax(0,13rem) minmax(0,1fr); gap: .375rem 1.5rem; padding: .875rem 0; border-top: 1px solid var(--lg-line); }
.lg-contacts-legal__list dt { min-width: 0; color: var(--lg-muted); overflow-wrap: anywhere; }
.lg-contacts-legal__list dd { min-width: 0; margin: 0; color: var(--lg-ink); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
@media (hover: hover) and (pointer: fine) {
    .lg-contacts :is(.lg-contacts-copy,.lg-contacts-contact,.lg-contacts-social,.lg-contacts-map__link):hover { color: var(--lg-action-hover); text-decoration: underline; }
    .lg-contacts-form :is(input[type="text"],input[type="email"],textarea):not(:disabled):hover { border-color: var(--lg-action); }
}
@container lg-contacts-form (min-width: 32rem) {
    .lg-contacts-form .contact-form-footer > .row:first-child { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 76rem) {
    .lg-contacts-phone-list--sales { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .125rem .75rem; }
}
@media (max-width: 60rem) {
    .lg-contacts-visit { grid-template-columns: minmax(0,1fr); gap: 2rem; }
    .lg-contacts-location { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 1.25rem 2rem; }
    .lg-contacts-showroom { margin-top: 0; }
    .lg-contacts-schedule { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: .25rem; gap: 2rem; }
    .lg-contacts-map__frame { height: 25rem; }
    .lg-contacts-communication { gap: 2rem; }
    .lg-contacts-legal { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
    .lg-contacts-legal__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; }
    .lg-contacts-legal__heading h2 { margin: 0; }
    .lg-contacts-legal__heading .lg-contacts-copy-status { flex-basis: 100%; max-width: none; }
}
@media (max-width: 48rem) {
    .lg-contacts-breadcrumb { margin-bottom: 1rem; }
    .lg-contacts-title { margin-bottom: 1.5rem; }
    .lg-contacts-communication { grid-template-columns: minmax(0,1fr); }
    .lg-contacts-phone-list--sales { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .125rem 1rem; }
    .lg-contacts-section { margin-top: 2.5rem; padding-top: 2rem; }
    .lg-contacts-form { padding: 1.25rem; }
    .lg-contacts-legal__list > div { grid-template-columns: minmax(0,10rem) minmax(0,1fr); gap: .375rem 1rem; }
}
@media (max-width: 36rem) {
    .lg-contacts-location { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
    .lg-contacts-schedule { grid-template-columns: minmax(0,1fr); margin-top: 0; gap: 1.5rem; }
    .lg-contacts-map__heading { align-items: flex-start; }
    .lg-contacts-map__frame { height: 22rem; }
    .lg-contacts-map__route { width: 100%; }
    .lg-contacts-phone-list--sales { grid-template-columns: minmax(0,1fr); }
    .lg-contacts-form { padding: 1rem; }
    .lg-contacts-legal__list > div { grid-template-columns: minmax(0,1fr); gap: .25rem; }
    .lg-contacts-legal__list dd { font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
    .lg-contacts :is(a,button,input,textarea) { transition: none; }
    .lg-contacts-copy-status[data-lg-copy-state="busy"]::before { animation: none; }
}
/* Owned preview form retains this page's inline layout and native controls. */
.lg-contacts-form .lg-owned-form{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0}
.lg-contacts-form .lg-owned-form>*{min-width:0;grid-column:1/-1}
.lg-contacts-form .lg-form-field{display:grid;gap:.5rem;margin:0}
.lg-contacts-form .lg-owned-form :is(input,textarea,select,button):focus-visible{outline:2px solid var(--lg-action);outline-offset:2px;border-color:var(--lg-action)}
.lg-contacts-form .lg-form-submit{justify-self:start;cursor:pointer;transition:background-color 120ms ease-out}
.lg-contacts-form .lg-form-submit[aria-disabled="true"]{cursor:wait}
.lg-contacts-form .lg-form-field-error{display:block;margin-top:.375rem;color:var(--lg-contacts-error);font-size:.8125rem;line-height:1.6;overflow-wrap:anywhere}
.lg-contacts-form .lg-owned-form [aria-invalid="true"]{border-color:var(--lg-contacts-error)}
.lg-contacts-form .lg-owned-form [data-lego-form-status]{padding:.75rem .875rem;border-inline-start:3px solid var(--lg-action);background:var(--lg-paper);color:var(--lg-ink);font-size:.8125rem;line-height:1.7;overflow-wrap:anywhere}
.lg-contacts-form .lg-owned-form [data-lego-form-status][data-state="error"]{border-color:var(--lg-contacts-error)}
.lg-contacts-form .lg-owned-form [data-lego-form-status][data-state="pending"]::before{content:"";display:inline-block;width:1rem;height:1rem;margin-inline-end:.5rem;vertical-align:-.125rem;border:2px solid var(--lg-line);border-top-color:var(--lg-action);border-radius:50%;animation:lg-form-checking 1s linear infinite}
.lg-contacts-form .lg-owned-form [hidden]{display:none}
.lg-contacts-form .lg-owned-form noscript{font-size:.8125rem;line-height:1.6}
@keyframes lg-form-checking{to{transform:rotate(360deg)}}
@container lg-contacts-form (min-width:32rem){.lg-contacts-form .lg-owned-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lg-contacts-form .lg-form-field:has([name="your-name"]){grid-column:1}.lg-contacts-form .lg-form-field:has([name="your-email"]){grid-column:2}}
@media(hover:hover) and (pointer:fine){.lg-contacts-form .lg-form-submit:not(:disabled,[aria-disabled="true"]):hover{background:var(--lg-action-hover)}}
@media(prefers-reduced-motion:reduce){.lg-contacts-form .lg-owned-form [data-lego-form-status][data-state="pending"]::before{animation:none}.lg-contacts-form .lg-form-submit{transition:none}}
