/**
 * ITF Korea — 도장/클럽 둘러보기
 * Figma 6043:8848 PC
 */

.itf-site .dojang-club-sect {
    position: relative;
    padding: var(--subContM) 0;
    background: var(--primaryBg, #f7f7f7);
    overflow: hidden;
}

.itf-site .dojang-club-sect > .in {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    z-index: 1;
    pointer-events: none;
}

.itf-site .dojang-club-sect__tit,
.itf-site .dojang-club-sect__filters,
.itf-site .dojang-club-sect__cards,
.itf-site .dojang-club-sect__empty {
    pointer-events: auto;
}

.itf-site .dojang-club-sect__tit {
    margin: 0;
    font-size: var(--mainH2);
    font-weight: 700;
    line-height: var(--titLine);
    color: #000;
}

/* Figma Frame 42 — 좌측 콘텐츠 541px */
.itf-site .dojang-club-sect__body {
    display: flex;
    flex-direction: column;
    gap: 56px;
    width: 100%;
    max-width: 54.1rem;
}

.itf-site .dojang-club-sect__filters {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.itf-site .dojang-club-sect__regions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    max-width: 100%;
    padding: 6px;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}

.itf-site .dojang-club-sect__region {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 12px 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--primary, #162038);
    font-size: var(--midTxt);
    font-weight: 700;
    line-height: var(--txtLine);
    white-space: nowrap;
    cursor: pointer;
}

.itf-site .dojang-club-sect__region.is-active {
    background: var(--primary, #162038);
    color: #fff;
}

.itf-site .dojang-club-sect__region-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    padding: 0 6px;
    border-radius: 100px;
    background: var(--primaryBg, #f0f0f0);
    color: var(--primary, #162038);
    font-size: var(--tinyTxt);
    font-weight: 700;
    line-height: 1.4;
}

.itf-site .dojang-club-sect__region.is-active .dojang-club-sect__region-badge {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.itf-site .dojang-club-sect__subs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.itf-site .dojang-club-sect__sub {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: 8px;
    background: #fff;
    color: #000;
    font-size: var(--txt);
    font-weight: 500;
    line-height: var(--txtLine);
    cursor: pointer;
}

.itf-site .dojang-club-sect__sub-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    padding: 0 6px;
    border-radius: 100px;
    background: var(--primaryBg, #f0f0f0);
    color: var(--primary, #162038);
    font-size: var(--tinyTxt);
    font-weight: 700;
    line-height: 1.4;
}

.itf-site .dojang-club-sect__sub.is-active {
    background: #000;
    color: #fff;
    border-color: #000;
}

.itf-site .dojang-club-sect__sub.is-active .dojang-club-sect__sub-badge {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.itf-site .dojang-club-sect__cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.itf-site .dojang-club-sect__pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
    pointer-events: auto;
}

.itf-site .dojang-club-sect__pager[hidden] {
    display: none !important;
}

.itf-site .dojang-club-sect__pager-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: 8px;
    background: #fff;
    color: #000;
    cursor: pointer;
}

@media (hover: hover) {
    .itf-site .dojang-club-sect__pager-btn:hover:not(:disabled) {
        background: #f6f7f7;
    }
}

.itf-site .dojang-club-sect__pager-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

.itf-site .dojang-club-sect__pager-btn svg {
    display: block;
    width: 20px;
    height: 20px;
}

.itf-site .dojang-club-sect__pager-status {
    margin: 0;
    min-width: 4.5em;
    text-align: center;
    font-size: var(--txt);
    font-weight: 600;
    line-height: var(--txtLine);
    color: #000;
    font-variant-numeric: tabular-nums;
}

.itf-site .dojang-club-sect__entry[hidden] {
    display: none !important;
}

.itf-site .dojang-club-sect__entry-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    grid-column: 1 / -1;
    margin: 0;
}

.itf-site .dojang-club-sect__entry-tit {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--lgTxt);
    font-weight: 700;
    line-height: var(--txtLine);
    color: #000;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.itf-site .dojang-club-sect__detail-btn {
    flex-shrink: 0;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 8px;
    background: #000;
    color: #fff;
    font-size: var(--tinyTxt);
    font-weight: 600;
    line-height: var(--txtLine);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease;
}

.itf-site .dojang-club-sect__detail-btn.is-disabled {
    background: #c8c8c8;
    color: #fff;
    cursor: not-allowed;
    pointer-events: none;
}

@media (hover: hover) {
    .itf-site .dojang-club-sect__detail-btn:hover {
        background: #333;
        color: #fff;
    }

    .itf-site .dojang-club-sect__detail-btn.is-disabled:hover {
        background: #c8c8c8;
        color: #fff;
    }
}

.itf-site .dojang-club-sect__card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px 32px;
    align-items: start;
    width: 100%;
    padding: 20px 28px 20px 20px;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: var(--radius);
    background: #fff;
    box-sizing: border-box;
}

.itf-site .dojang-club-sect__profile {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
    width: 140px;
}

.itf-site .dojang-club-sect__photo {
    width: 100%;
    height: 180px;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: 8px;
    overflow: hidden;
    background: #f0f0f0;
}

.itf-site .dojang-club-sect__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.itf-site .dojang-club-sect__photo.is-placeholder {
    background-color: #f0f0f0;
    background-image:
        radial-gradient(circle 28px at 50% 40%, #c8cdd6 98%, transparent 100%),
        radial-gradient(ellipse 48px 42px at 50% 92%, #c8cdd6 98%, transparent 100%);
    background-repeat: no-repeat;
}

.itf-site .dojang-club-sect__instructor {
    margin: 0;
    width: 100%;
    font-size: var(--txt);
    font-weight: 700;
    line-height: var(--txtLine);
    color: #000;
    text-align: center;
    overflow-wrap: anywhere;
    word-break: keep-all;
}

.itf-site .dojang-club-sect__info {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1 1 auto;
    min-width: 0;
}

.itf-site .dojang-club-sect__info-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: var(--txt);
    font-weight: 400;
    line-height: var(--txtLine);
    color: #000;
}

.itf-site .dojang-club-sect__info-row a {
    color: inherit;
    text-decoration: none;
}

.itf-site .dojang-club-sect__info-row > .dojang-club-sect__icon.icon-box {
    flex: 0 0 24px;
    align-self: flex-start;
    width: 24px;
    height: 24px;
    max-height: 24px;
    margin-top: 0.1em;
    background: transparent !important;
    border: 0;
    box-shadow: none;
    color: var(--txtGray1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.itf-site .dojang-club-sect__info-row > span:not(.icon-box) {
    flex: 1 1 auto;
    min-width: 0;
}

.itf-site .dojang-club-sect__icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.itf-site .dojang-club-sect__sns {
    gap: 12px;
}

.itf-site .dojang-club-sect__sns-link {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

.itf-site .dojang-club-sect__sns-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 목록 지도 — 일러스트 + 위·경도 핀 · 시·도 전환 시 확대 (팬/드래그 없음 · 핀 클릭만) */
.itf-site .dojang-club-sect__map {
    position: absolute;
    left: calc(50% + 4.9rem);
    top: -7.8rem;
    width: 72.6rem;
    max-width: none;
    aspect-ratio: 726 / 1058;
    overflow: visible;
    pointer-events: auto;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-drag: none;
    z-index: 0;
}

.itf-site .dojang-club-sect__map-stage {
    position: relative;
    width: 100%;
    height: 100%;
    transform-origin: 0 0;
    --map-zoom: 1;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
    pointer-events: none;
}

.itf-site .dojang-club-sect__map-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
}

.itf-site .dojang-club-sect__pins {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.itf-site .dojang-club-sect__pin {
    position: absolute;
    width: 14px;
    height: 14px;
    margin: 0;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--primaryLight, #264283);
    box-shadow: 0 2px 6px rgba(22, 32, 56, 0.28);
    transform: translate(-50%, -50%) scale(calc(1 / var(--map-zoom, 1)));
    transform-origin: center center;
    cursor: pointer;
    pointer-events: auto;
}

.itf-site .dojang-club-sect__pin.is-active {
    background: var(--primary, #162038);
    width: 18px;
    height: 18px;
    z-index: 2;
}

.itf-site .dojang-club-sect__empty {
    margin: 0;
    color: var(--txtGray1);
    font-size: var(--txt);
    line-height: var(--txtLine);
}

.itf-site .page-sub--dojang-club .page-sub__body,
.itf-site .page-sub--dojang-club-single .page-sub__body {
    padding: 0;
    max-width: none;
}

/* Single — Figma 6063:9040 */
.itf-site .dojang-club-single {
    display: flex;
    flex-direction: column;
    gap: 120px;
    padding: var(--subContM, 90px) 0 0;
    background: var(--primaryBg, #f7f7f7);
}

.itf-site .dojang-club-single > .in2 {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
}

.itf-site .dojang-club-single__tit {
    margin: 0;
    font-size: var(--mainH2);
    font-weight: 700;
    line-height: var(--titLine);
    color: #000;
    text-align: left;
    align-self: flex-start;
    width: 100%;
}

.itf-site .dojang-club-single__hero {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 40px;
    width: 100%;
}

.itf-site .dojang-club-single__aside {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    min-width: 0;
}

.itf-site .dojang-club-single__card {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: fit-content;
    max-width: 100%;
    padding: 32px;
    background: #fff;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: var(--radius);
    box-sizing: border-box;
}

.itf-site .dojang-club-single__profile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 20px;
    width: fit-content;
    max-width: 100%;
}

.itf-site .dojang-club-single__photo {
    width: 230px;
    max-width: 100%;
    aspect-ratio: 140 / 180;
    height: auto;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--primaryBg, #f7f7f7);
}

.itf-site .dojang-club-single__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.itf-site .dojang-club-single__photo.is-placeholder {
    background-color: #f0f0f0;
    background-image:
        radial-gradient(circle 36px at 50% 40%, #c8cdd6 98%, transparent 100%),
        radial-gradient(ellipse 62px 54px at 50% 92%, #c8cdd6 98%, transparent 100%);
    background-repeat: no-repeat;
}

.itf-site .dojang-club-single__name-row {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.itf-site .dojang-club-single__name {
    margin: 0;
    font-size: var(--mainH3);
    font-weight: 700;
    line-height: 1;
    color: #000;
}

.itf-site .dojang-club-single__rank {
    margin: 0;
    font-size: var(--txt);
    font-weight: 700;
    line-height: 1;
    color: #000;
}

.itf-site .dojang-club-single__contact {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: fit-content;
    max-width: 100%;
}

.itf-site .dojang-club-single__contact-line {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    font-size: var(--midTxt);
    font-weight: 600;
    line-height: var(--txtLine);
    color: var(--txtGray1);
}

.itf-site .dojang-club-single__contact-icon.icon-box {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: transparent !important;
    border: 0;
    box-shadow: none;
    color: var(--txtBlack1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.itf-site .dojang-club-single__contact-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.itf-site .dojang-club-single__contact-line a {
    color: inherit;
    text-decoration: none;
    word-break: break-word;
}

.itf-site .dojang-club-single__sns {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    width: auto;
    margin-top: 8px;
}

.itf-site .dojang-club-single__sns-link {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

.itf-site .dojang-club-single__sns-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.itf-site .dojang-club-single__map {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    align-self: stretch;
}

.itf-site .dojang-club-single__map-shell {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
}

.itf-site .dojang-club-single__map-shell .kakao-map-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    height: 100%;
}

.itf-site .dojang-club-single__map-shell .kakao-map__canvas-wrap {
    min-height: 499px;
    height: 100%;
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--lightBg);
}

.itf-site .dojang-club-single__map-shell .kakao-map__canvas-wrap--rich {
    border-radius: var(--radius);
}

.itf-site .dojang-club-single__map-shell .kakao-map__stage,
.itf-site .dojang-club-single__map-shell .kakao-map__canvas,
.itf-site .dojang-club-single__map-shell .kakao-map__placeholder {
    min-height: 499px;
    height: 100%;
}

.itf-site .dojang-club-single__map-address {
    position: absolute;
    right: 19px;
    bottom: 19px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 20px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    max-width: calc(100% - 38px);
    pointer-events: auto;
}

.itf-site .dojang-club-single__map-address-feedback {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    margin: 0;
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.92);
    color: #fff;
    font-size: var(--smTxt);
    font-weight: 600;
    line-height: var(--txtLine);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.itf-site .dojang-club-single__map-address-feedback.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.itf-site .dojang-club-single__map-address-feedback[hidden] {
    display: none !important;
}

.itf-site .dojang-club-single__map-address-text {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--lgTxt);
    font-weight: 700;
    line-height: var(--txtLine);
}

.itf-site .dojang-club-single__map-address-copy {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
}

@media (hover: hover) {
    .itf-site .dojang-club-single__map-address-copy:hover {
        background: rgba(255, 255, 255, 0.2);
    }
}

.itf-site .dojang-club-single__map-address-copy svg {
    display: block;
    width: 18px;
    height: 18px;
}

.itf-site .dojang-club-single__map-address-copy.is-copied {
    background: rgba(255, 255, 255, 0.24);
}

.itf-site .dojang-club-single__facility {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    width: 100%;
}

.itf-site .dojang-club-single__facility-tit {
    margin: 0 auto;
    font-size: var(--mainH2);
    font-weight: 700;
    line-height: var(--titLine);
    color: #000;
    text-align: left;
    width: var(--in2);
    max-width: 100%;
    padding: 0 var(--inPd);
    box-sizing: border-box;
}

.itf-site .dojang-club-single__facility-gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.itf-site .dojang-club-single__facility-slide-wrap {
    width: 100%;
    overflow: hidden;
}

.itf-site .dojang-club-single__facility-swiper {
    overflow: visible;
    padding-left: var(--inPd);
    padding-right: var(--inPd);
}

.itf-site .dojang-club-single__facility-swiper.is-static .swiper-wrapper {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 32px;
    width: 100%;
    box-sizing: border-box;
    transform: none !important;
}

.itf-site .dojang-club-single__facility--static .dojang-club-single__facility-progress-wrap {
    display: none;
}

.itf-site .dojang-club-single__facility--static[data-facility-count='1'] .dojang-club-single__facility-slide {
    width: min(57.8rem, 88vw);
}

.itf-site .dojang-club-single__facility--static[data-facility-count='2'] .dojang-club-single__facility-slide {
    width: min(57.8rem, calc((100% - 32px) / 2));
}

.itf-site .dojang-club-single__facility--static[data-facility-count='3'] .dojang-club-single__facility-slide {
    width: min(57.8rem, calc((100% - 64px) / 3));
}

.itf-site .dojang-club-single__facility-slide {
    width: min(57.8rem, 88vw);
    height: auto;
}

.itf-site .dojang-club-single__facility-img {
    border: 1px solid var(--borderColor1, #e6e6e6);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--primaryBg, #f7f7f7);
}

.itf-site .dojang-club-single__facility-img img {
    display: block;
    width: 100%;
    aspect-ratio: 578 / 347;
    object-fit: cover;
}

.itf-site .dojang-club-single__facility-progress-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 var(--inPd);
    box-sizing: border-box;
}

.itf-site .dojang-club-single__facility-progress-wrap .dojang-club-single__facility-progress {
    position: relative;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 35rem;
    max-width: 100%;
    height: 4px;
    margin: 0;
    background: #fff;
    border-radius: 100px;
    overflow: hidden;
}

.itf-site .dojang-club-single__facility-progress .swiper-pagination-progressbar-fill {
    background: #000;
    border-radius: 100px;
}

.itf-site .dojang-club-single__directory {
    width: 100%;
}

.itf-site .dojang-club-single__directory .dojang-club-sect {
    padding-bottom: var(--subContM);
}

.itf-site .dojang-club-sect--title-left .dojang-club-sect__tit {
    text-align: left;
    align-self: flex-start;
}

/* 태블릿(769–1024): 왼쪽 넓게 · 지도 absolute(겹침 OK) · 섹션 밖으로 안 넘침 */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .itf-site .dojang-club-sect {
        /* 서브비주얼·푸터 침범 방지 — 지도는 섹션 안에서만 */
        overflow: hidden;
        isolation: isolate;
    }

    .itf-site .dojang-club-sect > .in {
        /* 전체 .in에 z를 올리면 지도가 가려지므로 콘텐츠 블록만 올림 */
        z-index: auto;
    }

    .itf-site .dojang-club-sect__tit {
        position: relative;
        z-index: 2;
    }

    .itf-site .dojang-club-sect__body {
        /* PC 541px 캡 제거 — 태블릿에서 넓게 */
        max-width: 68%;
        position: relative;
        z-index: 2;
    }

    .itf-site .dojang-club-sect__filters,
    .itf-site .dojang-club-sect__cards,
    .itf-site .dojang-club-sect__pager,
    .itf-site .dojang-club-sect__empty {
        position: relative;
        z-index: 2;
    }

    .itf-site .dojang-club-sect__map {
        position: absolute;
        left: calc(38% + 0.5rem);
        /* 음수 top을 줄여 서브비주얼 쪽으로 덜 삐져나오게 */
        top: 0;
        width: min(64rem, 64vw);
        max-width: none;
        overflow: visible;
        z-index: 1;
        pointer-events: none;
    }

    .itf-site .dojang-club-sect__pin {
        pointer-events: none;
        cursor: default;
    }

    /* 상세 히어로: PC 좌우 유지 · 간격만 20 */
    .itf-site .dojang-club-single__hero {
        flex-direction: row;
        align-items: stretch;
        gap: 20px;
    }

    .itf-site .dojang-club-single__aside {
        flex: 0 0 auto;
        width: auto;
        max-width: 42%;
    }

    .itf-site .dojang-club-single__map {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
    }

    /* 시설 이미지: 좌우 피크 (태블릿 only · 모바일 미적용) */
    .itf-site .dojang-club-single__facility-swiper:not(.is-static) {
        padding-left: var(--inPd);
        padding-right: var(--inPd);
        box-sizing: border-box;
    }

    .itf-site .dojang-club-single__facility-swiper:not(.is-static) .dojang-club-single__facility-slide {
        width: min(57.8rem, calc(100% - 80px));
    }

    .itf-site .dojang-club-single__facility-progress-wrap .dojang-club-single__facility-progress {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .itf-site .dojang-club-sect {
        overflow: hidden;
        isolation: isolate;
    }

    .itf-site .dojang-club-sect > .in {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        gap: 28px;
        z-index: auto;
    }

    .itf-site .dojang-club-sect__tit {
        position: relative;
        z-index: 2;
    }

    .itf-site .dojang-club-sect__body {
        width: 100%;
        max-width: 100%;
        gap: 28px;
        position: relative;
        z-index: 2;
    }

    /* 모바일: 지도 배경 숨김 */
    .itf-site .dojang-club-sect__map {
        display: none;
    }

    .itf-site .dojang-club-sect__filters {
        position: relative;
        z-index: 2;
        width: 100%;
        gap: 14px;
    }

    .itf-site .dojang-club-sect__cards,
    .itf-site .dojang-club-sect__pager,
    .itf-site .dojang-club-sect__empty {
        position: relative;
        z-index: 2;
        width: 100%;
    }

    .itf-site .dojang-club-sect__regions {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        padding: 4px;
        width: 100%;
        box-sizing: border-box;
    }

    .itf-site .dojang-club-sect__region {
        flex-direction: row;
        justify-content: space-between;
        gap: 4px;
        padding: 12px;
        font-size: var(--smTxt, var(--txt));
        min-width: 0;
    }

    .itf-site .dojang-club-sect__region-label {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .itf-site .dojang-club-sect__region-badge {
        flex-shrink: 0;
        margin-left: auto;
        min-width: 1.2em;
        padding: 0 5px;
    }

    .itf-site .dojang-club-sect__subs {
        gap: 6px;
    }

    .itf-site .dojang-club-sect__sub {
        padding: 7px 12px;
        font-size: var(--smTxt, var(--txt));
    }

    /* 카드: 사진|정보 좌우 유지 (px — 모바일 html rem 축소 보상) */
    .itf-site .dojang-club-sect__card {
        grid-template-columns: 100px 1fr;
        gap: 12px 14px;
        padding: 14px;
    }

    .itf-site .dojang-club-sect__entry-head {
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    .itf-site .dojang-club-sect__entry-tit {
        font-size: var(--midTxt, var(--txt));
    }

    .itf-site .dojang-club-sect__detail-btn {
        padding: 8px 12px;
        font-size: var(--tinyTxt);
    }

    .itf-site .dojang-club-sect__profile {
        width: 100px;
    }

    .itf-site .dojang-club-sect__photo {
        height: 128px;
    }

    .itf-site .dojang-club-sect__instructor {
        font-size: var(--smTxt, var(--txt));
    }

    .itf-site .dojang-club-sect__info {
        gap: 12px;
    }

    .itf-site .dojang-club-sect__info-row {
        gap: 8px;
        font-size: var(--smTxt, var(--txt));
    }

    .itf-site .dojang-club-sect__pager {
        gap: 12px;
    }

    .itf-site .dojang-club-single__hero {
        flex-direction: column;
        align-items: stretch;
    }

    .itf-site .dojang-club-single {
        gap: 60px;
    }

    .itf-site .dojang-club-single__aside {
        flex: 1 1 auto;
        width: 100%;
    }

    /* 상세 프로필 카드: 사진만 좌 · 이름/연락/SNS 우 (모바일 only) */
    .itf-site .dojang-club-single__card {
        display: grid;
        grid-template-columns: 120px minmax(0, 1fr);
        grid-template-rows: auto auto;
        grid-template-areas:
            "photo name"
            "photo contact";
        align-items: start;
        column-gap: 14px;
        row-gap: 10px;
        padding: 14px;
        width: 100%;
        max-width: 100%;
    }

    .itf-site .dojang-club-single__profile {
        display: contents;
    }

    .itf-site .dojang-club-single__photo {
        grid-area: photo;
        width: 120px;
        max-width: 100%;
        aspect-ratio: 140 / 180;
        height: auto;
        align-self: stretch;
    }

    .itf-site .dojang-club-single__name-row {
        grid-area: name;
        align-self: end;
        min-width: 0;
    }

    .itf-site .dojang-club-single__name {
        font-size: var(--midTxt, var(--txt));
    }

    .itf-site .dojang-club-single__rank {
        font-size: var(--smTxt, var(--txt));
    }

    .itf-site .dojang-club-single__contact {
        grid-area: contact;
        width: auto;
        min-width: 0;
        max-width: 100%;
        gap: 10px;
        justify-content: flex-start;
    }

    .itf-site .dojang-club-single__contact-line {
        font-size: var(--smTxt, var(--txt));
        gap: 8px;
    }

    .itf-site .dojang-club-single__sns {
        gap: 8px;
        margin-top: 4px;
    }

    .itf-site .dojang-club-single__sns-link {
        width: 28px;
        height: 28px;
        border-radius: 6px;
    }

    .itf-site .dojang-club-single__map {
        flex: 1 1 auto;
        width: 100%;
    }

    .itf-site .dojang-club-single__map-shell .kakao-map__canvas-wrap,
    .itf-site .dojang-club-single__map-shell .kakao-map__stage,
    .itf-site .dojang-club-single__map-shell .kakao-map__canvas,
    .itf-site .dojang-club-single__map-shell .kakao-map__placeholder {
        min-height: 360px;
        height: 360px;
    }

    /* 지도 주소바 — 모바일 only (PC/태블릿 19·20 유지) */
    .itf-site .dojang-club-single__map-address {
        right: 10px;
        bottom: 10px;
        padding: 14px;
        max-width: calc(100% - 20px);
    }

    /* 시설: 좌우 피크 (320~390 모두) — 88vw는 좁은폭에서 다음 장 안 보임 */
    .itf-site .dojang-club-single__facility-swiper:not(.is-static) {
        padding-left: var(--inPd);
        padding-right: var(--inPd);
        box-sizing: border-box;
    }

    .itf-site .dojang-club-single__facility-swiper:not(.is-static) .dojang-club-single__facility-slide {
        width: calc(100% - 40px);
    }

    .itf-site .dojang-club-single__facility-progress-wrap .dojang-club-single__facility-progress {
        width: 100%;
    }

    .itf-site .dojang-club-single__facility-swiper.is-static .swiper-wrapper {
        gap: 16px;
    }

    .itf-site .dojang-club-single__facility--static[data-facility-count='1'] .dojang-club-single__facility-slide {
        width: 100%;
    }

    .itf-site .dojang-club-single__facility--static[data-facility-count='2'] .dojang-club-single__facility-slide,
    .itf-site .dojang-club-single__facility--static[data-facility-count='3'] .dojang-club-single__facility-slide {
        width: calc(100% - 40px);
    }
}
