/* Native contact copy and route buttons remain editable independently of the map. */
.huamao-contact-map-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 36px; align-items: start; margin-block: 32px; }
.huamao-contact-map-layout > .wp-block-group { min-width: 0; margin-block: 0 !important; }
.huamao-map-contact-info > :first-child { margin-top: 0; }
.huamao-map-contact-info p { overflow-wrap: anywhere; }
.huamao-campus-map { padding: 26px; border: 1px solid var(--wp--preset--color--rule,#ded7cb); background: var(--wp--preset--color--ivory,#f8f5ed); }
.huamao-campus-map h3 { margin: 0 0 13px; color: var(--wp--preset--color--deep-red,#8e2521); font: 400 28px/1.25 var(--wp--preset--font-family--serif,Georgia,serif); }
.huamao-campus-map .huamao-map-introduction { margin: 0 0 20px; color: var(--wp--preset--color--muted,#736d66); font-size: 13px; line-height: 1.8; }
.huamao-map-load { padding: 12px 16px; max-width: 100%; border: 1px solid var(--wp--preset--color--muted-gold,#b5a269); border-radius: 0; background: var(--wp--preset--color--warm-white,#fffefa); color: var(--wp--preset--color--deep-red,#8e2521); font: 500 12px/1.6 var(--wp--preset--font-family--sans,Arial,sans-serif); cursor: pointer; }
.huamao-map-load:hover { border-color: var(--wp--preset--color--huamao-red,#cf2925); }
.huamao-map-load:focus-visible,.huamao-map-routes a:focus-visible { outline: 3px solid var(--wp--preset--color--muted-gold,#b5a269); outline-offset: 5px; }
.huamao-map-view { margin-top: 20px; background: var(--wp--preset--color--warm-white,#fffefa); }
.huamao-map-view[hidden] { display: none; }
.huamao-map-view iframe { display: block; width: 100%; min-width: 0; height: 360px; border: 0; }
.huamao-campus-map .huamao-map-status { margin: 14px 0 20px; color: var(--wp--preset--color--muted,#736d66); font-size: 12px; line-height: 1.7; }
.huamao-map-routes { gap: 12px 20px; margin: 20px 0 0; }
.huamao-map-routes .wp-block-button__link { padding: 0 0 7px; border: 0; border-bottom: 1px solid var(--wp--preset--color--muted-gold,#b5a269); border-radius: 0; background: transparent; color: var(--wp--preset--color--huamao-red,#cf2925); font-size: 12px; line-height: 1.6; text-decoration: none; }
@media(max-width:1100px) { .huamao-contact-map-layout { grid-template-columns: 1fr; gap: 28px; } }
@media(max-width:620px) { .huamao-campus-map { padding: 20px; } .huamao-map-view iframe { height: 340px; } }
