.iistdev1_location_map,
.iistdev1_location_map * {
    box-sizing: border-box;
}

.iistdev1_location_map {
    width: 100%;
    padding: var(--iistdev1-location-map-section-padding-top, 80px) var(--iistdev1-location-map-section-padding-horizontal, 24px) var(--iistdev1-location-map-section-padding-bottom, 56px);
    background: radial-gradient(circle at 8% 4%, var(--iistdev1-location-map-section-gradient-color, #dff3d9), transparent 29%), radial-gradient(circle at 92% 18%, var(--iistdev1-location-map-section-gradient-color, #dff3d9), transparent 26%), var(--iistdev1-location-map-section-background-color, #f6fbf5);
    color: var(--iistdev1-location-map-body-text-color, #607463);
    font-family: var(--iistdev1-location-map-font-family, Inter, Arial, Helvetica, sans-serif);
}

.iistdev1_location_map .iistdev1_location_map__section_container { width: min(var(--iistdev1-location-map-content-max-width, 1280px), 100%); margin: 0 auto; }
.iistdev1_location_map .iistdev1_location_map__intro_container { max-width: var(--iistdev1-location-map-intro-max-width, 760px); margin: 0 auto var(--iistdev1-location-map-intro-bottom-spacing, 46px); text-align: center; }
.iistdev1_location_map .iistdev1_location_map__eyebrow_label { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 14px; margin-bottom: 16px; border: 1px solid var(--iistdev1-location-map-eyebrow-border-color, #b9dcb4); border-radius: 999px; background: var(--iistdev1-location-map-eyebrow-background-color, #e5f5e1); color: var(--iistdev1-location-map-eyebrow-text-color, #1f7a34); font-size: var(--iistdev1-location-map-eyebrow-font-size, 12px); font-weight: 800; letter-spacing: .17em; }
.iistdev1_location_map .iistdev1_location_map__main_heading { margin: 0; color: var(--iistdev1-location-map-heading-color, #145826); font-size: clamp(2.25rem, 5.4vw, var(--iistdev1-location-map-title-font-size, 72px)); line-height: .98; letter-spacing: -.055em; overflow-wrap: anywhere; }
.iistdev1_location_map .iistdev1_location_map__intro_description { max-width: 650px; margin: 20px auto 0; color: var(--iistdev1-location-map-body-text-color, #607463); font-size: var(--iistdev1-location-map-description-font-size, 16px); line-height: 1.72; overflow-wrap: anywhere; }
.iistdev1_location_map .iistdev1_location_map__location_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: var(--iistdev1-location-map-container-border-width, 1px) solid var(--iistdev1-location-map-container-border-color, #cce4c8); border-radius: var(--iistdev1-location-map-container-radius, 30px); background: var(--iistdev1-location-map-container-background-color, #fff); }
.iistdev1_location_map.iistdev1_location_map--layout_single_column .iistdev1_location_map__location_grid { grid-template-columns: 1fr; }
.iistdev1_location_map.iistdev1_location_map--shadow_enabled .iistdev1_location_map__location_grid { box-shadow: 0 28px 80px rgba(42, 91, 49, .14); }
.iistdev1_location_map .iistdev1_location_map__location_panel { min-width: 0; background: var(--iistdev1-location-map-container-background-color, #fff); transition: transform 180ms ease, box-shadow 180ms ease; }
.iistdev1_location_map.iistdev1_location_map--hover_effect_enabled .iistdev1_location_map__location_panel:hover { box-shadow: inset 0 0 0 1px rgba(31, 122, 52, .08); }
.iistdev1_location_map .iistdev1_location_map__location_panel + .iistdev1_location_map__location_panel { border-left: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); }
.iistdev1_location_map.iistdev1_location_map--layout_single_column .iistdev1_location_map__location_panel + .iistdev1_location_map__location_panel { border-top: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); border-left: 0; }
.iistdev1_location_map .iistdev1_location_map__location_header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; min-height: 160px; padding: var(--iistdev1-location-map-location-header-padding, 32px); border-bottom: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); background: linear-gradient(145deg, var(--iistdev1-location-map-container-background-color, #fff) 18%, var(--iistdev1-location-map-location-header-background-color, #f1faef) 100%); }
.iistdev1_location_map .iistdev1_location_map__location_heading_group { min-width: 0; }
.iistdev1_location_map .iistdev1_location_map__location_number { display: inline-block; margin-bottom: 11px; color: var(--iistdev1-location-map-location-number-color, #58a866); font-size: .75rem; font-weight: 800; letter-spacing: .16em; }
.iistdev1_location_map .iistdev1_location_map__location_title { margin: 0; color: var(--iistdev1-location-map-location-title-color, #145826); font-size: clamp(1.45rem, 3vw, var(--iistdev1-location-map-location-title-font-size, 34px)); line-height: 1.02; letter-spacing: -.035em; overflow-wrap: anywhere; }
.iistdev1_location_map .iistdev1_location_map__location_subtitle { margin: 9px 0 0; color: var(--iistdev1-location-map-location-subtitle-color, #6e7e70); font-size: var(--iistdev1-location-map-location-subtitle-font-size, 14px); line-height: 1.45; overflow-wrap: anywhere; }
.iistdev1_location_map .iistdev1_location_map__status_badge { flex-shrink: 0; padding: 8px 12px; border: 1px solid var(--iistdev1-location-map-status-border-color, #cae5c5); border-radius: 999px; background: var(--iistdev1-location-map-status-background-color, #e4f5df); color: var(--iistdev1-location-map-status-text-color, #286f36); font-size: .73rem; font-weight: 800; white-space: nowrap; }
.iistdev1_location_map .iistdev1_location_map__map_container { position: relative; min-height: var(--iistdev1-location-map-map-height, 450px); height: var(--iistdev1-location-map-map-height, 450px); overflow: hidden; background: var(--iistdev1-location-map-map-background-color, #dfeedd); }
.iistdev1_location_map .iistdev1_location_map__map_image { display: block; width: 100%; height: 100%; object-fit: cover; }
.iistdev1_location_map .iistdev1_location_map__map_frame { display:block; width:100%; height:100%; border:0; background:var(--iistdev1-location-map-map-background-color, #dfeedd); }
.iistdev1_location_map .iistdev1_location_map__schematic_map { position: absolute; inset: 0; background-image: linear-gradient(30deg, transparent 24%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 25%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 26%, transparent 27%, transparent 74%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 75%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 76%, transparent 77%), linear-gradient(120deg, transparent 24%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 25%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 26%, transparent 27%, transparent 74%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 75%, var(--iistdev1-location-map-map-line-color, #b7d8b4) 76%, transparent 77%); background-size: 74px 74px; opacity: .72; }
.iistdev1_location_map .iistdev1_location_map__schematic_road { position: absolute; display: block; background: var(--iistdev1-location-map-map-road-color, #fff); border: 1px solid var(--iistdev1-location-map-map-line-color, #b7d8b4); border-radius: 999px; box-shadow: 0 0 0 4px rgba(255,255,255,.35); }
.iistdev1_location_map .iistdev1_location_map__schematic_road--primary { width: 135%; height: 22px; top: 48%; left: -16%; transform: rotate(-12deg); }
.iistdev1_location_map .iistdev1_location_map__schematic_road--secondary { width: 96%; height: 14px; top: 30%; left: 16%; transform: rotate(62deg); }
.iistdev1_location_map .iistdev1_location_map__schematic_road--tertiary { width: 75%; height: 10px; bottom: 22%; left: -2%; transform: rotate(28deg); }
.iistdev1_location_map .iistdev1_location_map__map_indicator { position: absolute; z-index: 3; top: 18px; left: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); border-radius: 999px; background: var(--iistdev1-location-map-map-overlay-background-color, #fff); color: var(--iistdev1-location-map-map-overlay-text-color, #456a4a); font-size: .72rem; font-weight: 800; box-shadow: 0 8px 24px rgba(45,88,50,.1); }
.iistdev1_location_map .iistdev1_location_map__map_indicator_dot { width: 8px; height: 8px; border-radius: 50%; background: var(--iistdev1-location-map-map-pin-color, #1f7a34); box-shadow: 0 0 0 4px rgba(56,161,74,.14); }
.iistdev1_location_map .iistdev1_location_map__map_pin_marker { position: absolute; z-index: 2; top: 50%; left: 50%; width: 42px; height: 42px; border-radius: 50% 50% 50% 0; background: var(--iistdev1-location-map-map-pin-color, #1f7a34); transform: translate(-50%, -68%) rotate(-45deg); box-shadow: 0 12px 25px rgba(20,88,38,.24); }
.iistdev1_location_map .iistdev1_location_map__map_pin_marker span { position: absolute; inset: 12px; border-radius: 50%; background: #fff; }
.iistdev1_location_map .iistdev1_location_map__map_location_chip { position: absolute; z-index: 3; left: 50%; bottom: 24px; display: inline-flex; align-items: center; gap: 10px; max-width: calc(100% - 40px); padding: 12px 16px; border: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); border-radius: 16px; background: var(--iistdev1-location-map-map-overlay-background-color, #fff); color: var(--iistdev1-location-map-location-title-color, #145826); font-size: .85rem; font-weight: 800; box-shadow: 0 14px 35px rgba(37,78,42,.15); transform: translateX(-50%); overflow-wrap: anywhere; }
.iistdev1_location_map .iistdev1_location_map__map_location_pin { position: relative; width: 20px; height: 20px; flex: 0 0 20px; border-radius: 50% 50% 50% 0; background: var(--iistdev1-location-map-map-pin-color, #1f7a34); transform: rotate(-45deg); }
.iistdev1_location_map .iistdev1_location_map__map_location_pin::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: #fff; }
.iistdev1_location_map .iistdev1_location_map__location_footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 110px; padding: var(--iistdev1-location-map-location-footer-padding, 30px); border-top: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); background: var(--iistdev1-location-map-footer-background-color, #fff); }
.iistdev1_location_map .iistdev1_location_map__address_group { display: grid; gap: 5px; min-width: 0; color: var(--iistdev1-location-map-address-text-color, #455d49); font-size: var(--iistdev1-location-map-address-font-size, 14px); line-height: 1.4; }
.iistdev1_location_map .iistdev1_location_map__address_label { color: var(--iistdev1-location-map-address-label-color, #2d7a3a); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.iistdev1_location_map .iistdev1_location_map__address_text { overflow-wrap: anywhere; }
.iistdev1_location_map .iistdev1_location_map__coordinate_text { color: var(--iistdev1-location-map-body-text-color, #607463); font-size: .72rem; font-variant-numeric: tabular-nums; }
.iistdev1_location_map .iistdev1_location_map__directions_button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex-shrink: 0; min-height: 46px; padding: 12px 16px; border-radius: var(--iistdev1-location-map-button-radius, 13px); background: var(--iistdev1-location-map-button-background-color, #1f7a34); color: var(--iistdev1-location-map-button-text-color, #fff); font-size: .8rem; font-weight: 800; line-height: 1.2; text-decoration: none; transition: transform 170ms ease, background-color 170ms ease, box-shadow 170ms ease; }
.iistdev1_location_map .iistdev1_location_map__directions_button:hover,
.iistdev1_location_map .iistdev1_location_map__directions_button:focus-visible { background: var(--iistdev1-location-map-button-hover-background-color, #145826); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(20,88,38,.18); outline: 3px solid rgba(31,122,52,.2); outline-offset: 3px; }
.iistdev1_location_map .iistdev1_location_map__map_credit { margin: 16px 4px 0; color: var(--iistdev1-location-map-credit-text-color, #7a8b7c); font-size: .72rem; text-align: center; }

.iistdev1_location_map__admin_panel { display: grid; gap: 20px; font-family: Arial, sans-serif; }
.iistdev1_location_map__admin_panel * { box-sizing: border-box; }
.iistdev1_location_map__admin_section { padding: 20px; border: 1px solid #d9e2dc; border-radius: 14px; background: #fff; }
.iistdev1_location_map__admin_section h3 { margin: 0 0 14px; color: #173126; }
.iistdev1_location_map__admin_preview_image { display: block; width: min(100%, 900px); height: auto; border: 1px solid #d9e2dc; border-radius: 12px; }
.iistdev1_location_map__admin_help_text { margin: 4px 0 14px; color: #68766e; font-size: 13px; line-height: 1.5; }
.iistdev1_location_map__admin_field_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.iistdev1_location_map__admin_field--full { grid-column: 1 / -1; }
.iistdev1_location_map__admin_field { display: grid; gap: 6px; color: #263b2e; font-size: 13px; font-weight: 700; }
.iistdev1_location_map__admin_field input,
.iistdev1_location_map__admin_field textarea,
.iistdev1_location_map__admin_field select { width: 100%; padding: 10px 11px; border: 1px solid #cfd9d2; border-radius: 8px; background: #fff; color: #14251a; font: inherit; font-weight: 400; }
.iistdev1_location_map__admin_checkbox_grid { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 16px; color: #31483a; font-size: 13px; }
.iistdev1_location_map__admin_location_editor { margin: 16px 0 0; padding: 18px; border: 1px solid #d9e2dc; border-radius: 12px; }
.iistdev1_location_map__admin_location_editor legend { padding: 0 8px; color: #145826; font-weight: 800; }
.iistdev1_location_map__admin_section_heading_row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.iistdev1_location_map__admin_repeater_controls,
.iistdev1_location_map__admin_actions { display: flex; flex-wrap: wrap; gap: 10px; }
.iistdev1_location_map__admin_secondary_button,
.iistdev1_location_map__admin_reset_button,
.iistdev1_location_map__admin_save_button { min-height: 40px; padding: 9px 15px; border: 1px solid #b9c9be; border-radius: 8px; cursor: pointer; font-weight: 700; }
.iistdev1_location_map__admin_secondary_button,
.iistdev1_location_map__admin_reset_button { background: #fff; color: #21452b; }
.iistdev1_location_map__admin_save_button { margin-left: auto; border-color: #145826; background: #145826; color: #fff; }
.iistdev1_location_map__admin_color_grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.iistdev1_location_map__admin_color_field { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid #e0e7e2; border-radius: 8px; color: #31483a; font-size: 12px; }
.iistdev1_location_map__admin_color_field input { width: 48px; height: 32px; padding: 2px; border: 0; background: transparent; }
.iistdev1_location_map__admin_notice { padding: 12px 14px; border: 1px solid #d3e8cc; border-radius: 9px; background: #f2faef; color: #2a6537; font-size: 13px; }

@media (max-width: 980px) {
    .iistdev1_location_map { padding-right: min(var(--iistdev1-location-map-section-padding-horizontal, 24px), 18px); padding-left: min(var(--iistdev1-location-map-section-padding-horizontal, 24px), 18px); }
    .iistdev1_location_map .iistdev1_location_map__location_grid { grid-template-columns: 1fr; }
    .iistdev1_location_map .iistdev1_location_map__location_panel + .iistdev1_location_map__location_panel { border-top: 1px solid var(--iistdev1-location-map-container-border-color, #cce4c8); border-left: 0; }
    .iistdev1_location_map__admin_color_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .iistdev1_location_map { padding-top: min(var(--iistdev1-location-map-section-padding-top, 80px), 44px); padding-right: 13px; padding-bottom: min(var(--iistdev1-location-map-section-padding-bottom, 56px), 34px); padding-left: 13px; }
    .iistdev1_location_map .iistdev1_location_map__intro_container { margin-bottom: min(var(--iistdev1-location-map-intro-bottom-spacing, 46px), 30px); }
    .iistdev1_location_map .iistdev1_location_map__main_heading { font-size: clamp(2rem, 11vw, 3.2rem); }
    .iistdev1_location_map .iistdev1_location_map__location_header { min-height: 0; padding: min(var(--iistdev1-location-map-location-header-padding, 32px), 22px); }
    .iistdev1_location_map .iistdev1_location_map__status_badge { max-width: 42%; white-space: normal; text-align: center; }
    .iistdev1_location_map .iistdev1_location_map__map_container { height: min(var(--iistdev1-location-map-map-height, 450px), 340px); min-height: 280px; }
    .iistdev1_location_map .iistdev1_location_map__location_footer { align-items: stretch; flex-direction: column; padding: min(var(--iistdev1-location-map-location-footer-padding, 30px), 22px); }
    .iistdev1_location_map .iistdev1_location_map__directions_button { width: 100%; }
    .iistdev1_location_map__admin_field_grid,
    .iistdev1_location_map__admin_color_grid { grid-template-columns: 1fr; }
    .iistdev1_location_map__admin_section_heading_row { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .iistdev1_location_map .iistdev1_location_map__location_panel,
    .iistdev1_location_map .iistdev1_location_map__directions_button { transition: none; }
}
