/* Nearby stations and direct links to the operators' live transport services. */
.ac-interior .accontact .ac-directions-heading { margin: 0 0 26px; }
.ac-interior .accontact .ac-directions-heading h2 { margin: 0 0 10px; font-size: clamp(30px,3vw,39px) !important; line-height: 1.15 !important; font-weight: 550; }
.ac-interior .accontact .ac-directions-heading p { max-width: 65ch; margin: 0; color: #61776c; font-size: 17.28px !important; line-height: 1.55 !important; }
.ac-interior .accontact .ac-location-card { display: flex; flex-direction: column; align-items: stretch; }
.ac-interior .accontact .ac-location-card .ac-station-row { display: grid !important; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 3px 10px; }
.ac-existing-metro-walk { margin-left: 67px; }
.ac-interior .accontact .ac-location-card .ac-station-walk { text-decoration: underline; }
.ac-station-row > span:first-child { grid-row: 1 / span 2; align-self: start; }
.ac-interior .accontact .ac-location-card .ac-station-walk { grid-column: 2; display: inline-flex; align-items: center; min-height: 36px; width: fit-content; color: #854552; font-size: 14.04px; font-weight: 500; line-height: 1.4; text-underline-offset: 4px; }
.ac-station-symbol { display: grid; place-items: center; width: 24px; height: 24px; color: #3c6555; background: #e9f0e5; border-radius: 6px; }
.ac-station-symbol svg { width: 19px; height: 19px; }
.ac-station-symbol--metro { background: #e5edf5; color: #345e7b; font-weight: 700; font-size: 15px; }
.ac-interior .accontact .ac-transit { margin-top: auto; padding-top: 25px; }
.ac-interior .accontact .ac-transit h3 { margin: 0 0 15px; padding-top: 20px; border-top: 1px solid #e0e8dd; font-size: 18.36px !important; line-height: 1.4 !important; font-weight: 600; }
.ac-transit-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ac-interior .accontact .ac-transit-actions a { --transit-color:#365f4e; --transit-tint:#e8f0e5; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; min-width: 0; min-height: 135px; padding: 14px 8px; border: 1px solid #d5dfd1; border-radius: 13px; background: linear-gradient(145deg,#fff,#f4f7ef); color: #234b41; text-align: center; text-decoration: none; box-shadow: 0 4px 0 -1px #dbe5d5,0 7px 13px -8px #173f3a33,inset 0 1px 0 #fff; transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.ac-interior .accontact .ac-transit-actions a[data-transit="metro-a"] { --transit-color:#a95236; --transit-tint:#faece1; }
.ac-interior .accontact .ac-transit-actions a[data-transit="metro-b1"] { --transit-color:#345e7b; --transit-tint:#e5edf5; }
.ac-transit-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #ffffffa6; border-radius: 13px; background: var(--transit-tint); color: var(--transit-color); box-shadow: inset 0 1px 0 #fff,0 2px 5px #173f3a09; }
.ac-transit-icon svg { display: block; width: 32px; height: 32px; }
.ac-interior .accontact .ac-transit-actions strong { font-size: 17.28px; line-height: 1.2; font-weight: 650; }
.ac-interior .accontact .ac-transit-actions small { display: block; margin: 0; color: #607466; font-size: 14px; font-weight: 400; line-height: 1.3; letter-spacing: 0; }
.ac-transit-external { position: absolute; top: 7px; right: 9px; color: #7b9080; font-size: 13px; }
.ac-interior .accontact .ac-transit-help { margin: 17px 0 4px; color: #52685b; font-size: 14.04px !important; line-height: 1.65 !important; }
.ac-interior .accontact .ac-transit-route { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; color: #854552; font-size: 15.12px; font-weight: 500; line-height: 1.45; text-underline-offset: 4px; }
.ac-interior .accontact .ac-transit-provider-note { display: block; margin: 24px 0 0; max-width: 95ch; color: #52685b; font-size: 14.04px !important; line-height: 1.6 !important; }
@media(hover:hover) and (pointer:fine) {
 .ac-interior .accontact .ac-transit-actions a:hover { transform: translateY(-4px); border-color: #94af98; box-shadow: 0 7px 0 -2px #d5e0ce,0 15px 20px -12px #173f3a55; }
}
.ac-interior .accontact .ac-transit-actions a:active { transform: translateY(-2px); border-color: #7d9d85; box-shadow: 0 5px 0 -1px #c7d7c1,0 9px 15px -8px #173f3a55; }
.ac-interior .accontact .ac-transit-actions a:focus-visible { outline: 3px solid #854552; outline-offset: 4px; }
@media(max-width:760px) {
 .ac-interior .accontact .ac-directions-heading { margin-bottom: 22px; }
 .ac-interior .accontact .ac-location-card .ac-station-walk { min-height: 40px; }
 .ac-existing-metro-walk { margin-left: 34px; }
 .ac-transit-actions { gap: 8px; }
 .ac-interior .accontact .ac-transit-actions a { min-height: 124px; padding-inline: 5px; }
 .ac-transit-icon { width: 44px; height: 44px; }
 .ac-transit-icon svg { width: 29px; height: 29px; }
 .ac-interior .accontact .ac-transit-actions small { font-size: 14px; }
}
@media(max-width:360px) {
 .ac-interior .accontact .ac-location-card { padding: 20px; }
 .ac-interior .accontact .ac-transit-actions strong { font-size: 16.2px; }
 .ac-transit-icon { width: 40px; height: 40px; }
}
@media(prefers-reduced-motion:reduce) {
 .ac-interior .accontact .ac-transit-actions a { transition: none; }
 .ac-interior .accontact .ac-transit-actions a:is(:hover,:active) { transform: none; }
}
