body:has(.arxis-contacts) { padding: 0; background: var(--arxis-bg); color: var(--arxis-text); }
.arxis-contacts { margin: 0 !important; font-family: Arial,Helvetica,sans-serif; }
.arxis-contacts *, .arxis-contacts *::before, .arxis-contacts *::after { box-sizing: border-box; }
.arxis-contacts .wp-block-post-content > * { margin-block: 0; }
.arxis-contacts-map { position: relative; isolation: isolate; min-height: 640px; background: var(--arxis-bg-alt); padding: 40px clamp(20px,5vw,88px); }
.arxis-contacts-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: -1; }
.arxis-map-interaction { display: none; }
.arxis-contacts-map.is-map-touch:not(.is-map-active) iframe { pointer-events: none; }
.arxis-contacts-map.is-map-touch .arxis-map-interaction { display: block; position: absolute; top: 16px; left: 50%; transform: translateX(-50%); z-index: 2; max-width: calc(100% - 100px); padding: 10px 14px; border: 1px solid #ffffff30; border-radius: 6px; background: #101114ed; color: white; font: 12px/1.4 Arial,Helvetica,sans-serif; cursor: pointer; }
.arxis-map-interaction:focus-visible { outline: 2px solid var(--arxis-accent); outline-offset: 3px; }
.arxis-contacts-map::after { content: ''; position: absolute; inset: auto 0 0; height: 160px; background: linear-gradient(transparent,var(--arxis-bg)); pointer-events: none; z-index: 0; }
.arxis-contacts-overlay { position: relative; z-index: 1; }
.arxis-contacts-scroll { position: fixed; bottom: max(22px,env(safe-area-inset-bottom)); left: 50%; z-index: 50; display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 10px 18px; border: 0; border-radius: 8px; background: #101114d9; color: #e8e8ea; font: 12px/1.3 Arial,Helvetica,sans-serif; letter-spacing: .04em; cursor: pointer; transform: translateX(-50%); transition: opacity .3s ease,transform .3s ease,background .25s ease,visibility .3s; }
.arxis-contacts-scroll svg { color: var(--arxis-accent); }
.arxis-contacts-scroll:hover { background: #101114f5; }
.arxis-contacts-scroll:focus-visible { outline: 2px solid var(--arxis-accent); outline-offset: 4px; }
.arxis-contacts-scroll.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,12px); }
.arxis-contacts-container > .wp-block-group:first-child { scroll-margin-top: calc(var(--arxis-header-height,100px) + var(--arxis-admin-offset,0px) + 24px); }
.arxis-contacts-overlay { width: min(360px,100%); padding: 28px; background: #101114ed; border: 1px solid #ffffff20; color: white; box-shadow: 0 12px 32px #0003; }
.arxis-contacts .arxis-contacts-index { color: var(--arxis-accent); font-size: 11px; font-weight: 700; letter-spacing: .13em; margin: 0 0 16px; }
.arxis-contacts h1 { font-size: clamp(38px,4vw,56px); line-height: 1.05; margin: 0 0 28px; letter-spacing: -.035em; }
.arxis-contacts h2 { font-size: clamp(28px,3.3vw,46px); line-height: 1.1; margin: 0 0 24px; letter-spacing: -.025em; }
.arxis-contacts h3 { font-size: 14px; font-weight: 600; color: var(--arxis-accent); margin: 0 0 12px; }
.arxis-contacts p { font-size: 17px; color: #bfc1c7; line-height: 1.7; }
.arxis-contact-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.arxis-contact-fields > .wp-block-group { min-width: 0; padding-top: 24px; margin: 0 !important; border-top: 1px solid #ffffff20; }
.arxis-contact-fields p { margin: 0; overflow-wrap: anywhere; }
.arxis-contacts-overlay .arxis-contact-fields { grid-template-columns: minmax(0,1fr); gap: 16px; }
.arxis-contacts-overlay .arxis-contact-fields > .wp-block-group { padding-top: 16px; }
.arxis-contacts-overlay .arxis-contact-fields p { font-size: 15px; }
.arxis-contacts a { color: var(--arxis-accent); text-decoration: none; transition: color .25s ease; }
.arxis-contacts a:hover { color: white; }
.arxis-contacts a:focus-visible { outline: 2px solid var(--arxis-accent); outline-offset: 4px; }
.arxis-contacts-overlay .arxis-map-link { display: inline-flex; gap: 16px; align-items: center; min-height: 44px; margin-top: 20px; }
.arxis-contacts-container { max-width: 1616px; margin-inline: auto; padding: clamp(40px,6vw,80px) clamp(20px,5vw,88px); }
.arxis-contacts-container > .wp-block-group { padding-block: 36px; border-bottom: 1px solid #ffffff18; margin: 0 !important; }
.arxis-contacts-container > .wp-block-group:last-child { border-bottom: 0; }
.arxis-contacts-container > .wp-block-group > p { max-width: 800px; }
.arxis-contacts .arxis-contact-placeholder { padding: 20px 24px; background: var(--arxis-bg-alt); border-left: 2px solid var(--arxis-accent); }
@media(max-width:1000px) { .arxis-contact-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .arxis-contacts { position: relative; }
 .arxis-contacts-scroll { position: absolute; top: 242px; bottom: auto; }
 .arxis-contacts-map { padding: 0; min-height: 0; }
 .arxis-contacts-map iframe { position: relative; display: block; height: 320px; z-index: 0; }
 .arxis-contacts-map::after { top: 230px; bottom: auto; height: 90px; }
 .arxis-contacts-map > .wp-block-html { margin: 0; }
 .arxis-contacts-overlay { width: auto; margin: 0 !important; padding: 28px 20px; border: 0; box-shadow: none; background: var(--arxis-bg); }
 .arxis-contacts .arxis-map-link span { display: none; }
}
@media(max-width:480px) { .arxis-contact-fields { grid-template-columns: minmax(0,1fr); gap: 20px; } }
@media(prefers-reduced-motion:reduce) { .arxis-contacts a, .arxis-contacts-scroll { transition: none; } }
