.seikyokushin-contact-map{width:100%;max-width:1200px;;;;;;;font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0!important;margin:0 auto!important;color:#202328;overflow:visible;}
.seikyokushin-contact-map *{box-sizing:border-box}
.seikyokushin-contact-map .rd-map-header{display:flex;align-items:center;gap:22px;padding:0 0 24px;}
.seikyokushin-contact-map .rd-map-logo{display:block;height:96px;width:auto;flex-shrink:0;object-fit:contain}
.seikyokushin-contact-map .rd-map-heading{margin:0 0 10px;;font-size:clamp(16px,2vw,22px);font-weight:700;line-height:1.4;letter-spacing:.035em;text-transform:uppercase;color:#202328;}
.seikyokushin-contact-map .rd-map-address{margin:0;;font-size:15px;line-height:1.6;font-style:normal;color:#52555b;}
.seikyokushin-contact-map .rd-map-frame{display:block;width:100%;height:440px;border:0;background:#e9e9e9}
.seikyokushin-contact-map .rd-map-footer{;display:flex;justify-content:flex-end;padding:18px 0 0;}
.seikyokushin-contact-map .rd-map-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border:1px solid #858b94;border-radius:7px;text-decoration:none;background:transparent;;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.04em;transition:background .2s;color:#4f284b;border-color:#4f284b;}
.seikyokushin-contact-map .rd-map-link:hover{;;background:#4f284b;color:#fff;}
.seikyokushin-contact-map .rd-map-link:focus-visible{;outline-offset:4px;outline:3px solid #4f284b;}
@media(max-width:600px){.seikyokushin-contact-map .rd-map-header{;gap:16px;padding:0 0 24px;}.seikyokushin-contact-map .rd-map-logo{height:90px}.seikyokushin-contact-map .rd-map-heading{font-size:16px;letter-spacing:.015em;color:#202328;}.seikyokushin-contact-map .rd-map-address{font-size:13px;color:#52555b;}.seikyokushin-contact-map .rd-map-frame{height:360px}.seikyokushin-contact-map .rd-map-footer{;padding:18px 0 0;}.seikyokushin-contact-map .rd-map-link{width:100%;color:#4f284b;border-color:#4f284b;}}
.seikyokushin-contact-map .rd-map-club{display:block;white-space:nowrap;text-transform:none;font-size:clamp(14.95px,3.887vw,32.89px);letter-spacing:0;line-height:1.4}
.seikyokushin-contact-map .rd-map-dojo{display:block;font-weight:900!important;color:#4f284b!important;margin-top:0;margin-bottom:6px;line-height:1.2;font-size:clamp(28px,4.2vw,42px)!important;font-family:"Arial Black",Arial,Helvetica,sans-serif!important;-webkit-text-stroke:.35px currentColor}

.seikyokushin-contact-map .rd-map-header>div{min-width:0;flex:1}
.seikyokushin-contact-map .rd-map-club{font-weight:700;max-width:100%;}

/* Consistent spacing between independent plugin sections. */
.seikyokushin-contact-map{margin:32px auto!important}

.seikyokushin-contact-map .rd-map-header{background:linear-gradient(115deg,#4f284b 0%,#632c5f 48%,#441f41 76%,#251124 100%);padding:24px;border-radius:12px;margin-bottom:32px;gap:20px;color:#fff}
.seikyokushin-contact-map .rd-map-heading,.seikyokushin-contact-map .rd-map-dojo,.seikyokushin-contact-map .rd-map-club,.seikyokushin-contact-map .rd-map-address{color:#fff!important;-webkit-text-fill-color:#fff!important}
.seikyokushin-contact-map .rd-map-logo{filter:none}
.seikyokushin-contact-map .rd-map-footer{padding-top:24px}
@media(max-width:600px){.seikyokushin-contact-map .rd-map-header{padding:20px 16px;gap:14px}.seikyokushin-contact-map .rd-map-logo{height:76px}}


/* Independent card with a visible gap and soft shadow. */
.seikyokushin-contact-map {
 display:flow-root!important;box-sizing:border-box;
 background:#fff!important;border:1px solid #ece7e9!important;
 border-radius:16px!important;box-shadow:0 10px 26px rgba(0,0,0,.16),0 3px 8px rgba(0,0,0,.08)!important;
 padding:24px!important;margin:16px auto!important;
}
@media(max-width:600px){.seikyokushin-contact-map{padding:20px!important}}

/* The map is a section, with only top and bottom shadow separators. */
.seikyokushin-contact-map {
 position:relative!important;background:transparent!important;border:0!important;
 border-radius:0!important;box-shadow:none!important;padding:16px 0!important;margin:12px auto!important;
}
.seikyokushin-contact-map::before,.seikyokushin-contact-map::after {
 content:"";position:absolute;left:0;right:0;height:1px;pointer-events:none;
 background:rgba(0,0,0,.05);
}
.seikyokushin-contact-map::before {top:0;box-shadow:0 -3px 10px rgba(0,0,0,.16);}
.seikyokushin-contact-map::after {bottom:0;box-shadow:0 3px 10px rgba(0,0,0,.16);}
.seikyokushin-contact-map .rd-map-header {margin-bottom:20px;}
/* Compact only the contacts that precede this map in the same content area. */
.entry-content .sei_rdc-contacts:has(~ .seikyokushin-contact-map){margin-bottom:12px!important;}
.entry-content .wp-block-shortcode:has(.seikyokushin-contact-map),
.entry-content .wp-block-shortcode:has(.sei_rdc-contacts){margin-block:0!important;padding-block:0!important;}

.seikyokushin-contact-map .rd-map-dojo,
.seikyokushin-contact-map .rd-map-club {
  white-space:nowrap!important;
  letter-spacing:0!important;
}

.seikyokushin-contact-map .rd-map-club{text-transform:uppercase!important;}

@media(min-width:768px) {
 .seikyokushin-contact-map .rd-map-header {
  justify-content:center;
  gap:28px;
  padding:32px;
 }
 .seikyokushin-contact-map .rd-map-header > div {
  flex:0 1 560px;
 }
 .seikyokushin-contact-map .rd-map-logo {height:136px;}
 .seikyokushin-contact-map .rd-map-address {font-size:17px;line-height:1.65;}
 .seikyokushin-contact-map .rd-map-heading {margin-bottom:14px;}
 .seikyokushin-contact-map .rd-map-frame {height:460px;}
}

/* Preserve the federation emblem; do not flatten it into a white silhouette. */
.seikyokushin-contact-map .rd-map-logo{filter:none!important;opacity:1!important;object-fit:contain!important}
