/* ===================================================================
   location.css - 위치/오시는 길 페이지 스타일
   =================================================================== */
.location-map-section {
    margin-top: var(--spacing-12);
    margin-bottom: 0;
}

.map-container {
    width: 100%;
    height: 37.5rem;
    overflow: hidden;
    position: relative;
    background-color: var(--color-warm-grey-30);
}

.naver-map {
    width: 100%;
    height: 100%;
}

.location-info-sections {
    display: flex;
    flex-direction: column;
}

.location-info-row {
    display: flex;
    gap: var(--spacing-6);
    padding: var(--spacing-16) 0;
    border-bottom: var(--spacing-0-5, 0.0625rem) solid var(--color-warm-grey-100);
    overflow: hidden;
}

.location-info-row:last-child {
    border-bottom: none;
}

.location-info-label {
    flex: 1;
    min-width: 0;
}

.location-info-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5);
    word-break: keep-all;
    overflow-wrap: break-word;
}

.location-note {
    color: var(--color-warm-grey-70);
}

.transport-row,
.contact-row {
    display: flex;
    gap: var(--spacing-2);
    align-items: flex-start;
}

.transport-label,
.contact-label {
    flex: 0 0 9.25rem;
    min-width: 9.25rem;
}

.transport-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-1);
}

.transport-details p {
    margin-bottom: 0;
}

.contact-details {
    flex: 1;
}

.contact-details p {
    margin-bottom: 0;
}

.contact-link {
    color: var(--text-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.contact-link:hover {
    color: var(--accent-primary);
    text-decoration: underline;
    text-underline-offset: var(--spacing-0-5, 0.125rem);
}

@media (max-width: 768px) {
    .location-map-section {
        margin-top: var(--spacing-lg);
    }
    
    .map-container {
        height: 24rem;
        touch-action: pan-y;
        overflow: hidden;
    }
    
    .naver-map {
        touch-action: pan-y;
        pointer-events: auto;
    }
    
    .location-info-row {
        flex-direction: column;
        gap: var(--spacing-md);
        padding: var(--spacing-16) 0;
    }
    
    .location-info-label,
    .location-info-content {
        flex: none;
        width: 100%;
    }
    
    .transport-row,
    .contact-row {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .transport-label,
    .contact-label {
        flex: none;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .location-map-section {
        margin-top: var(--spacing-md);
    }
    
    .map-container {
        height: 15rem;
        touch-action: pan-y;
        overflow: hidden;
    }
    
    .naver-map {
        touch-action: pan-y;
        pointer-events: auto;
    }
    
    .location-info-row {
        padding: var(--spacing-16) 0;
        gap: var(--spacing-10);
    }
    
    .transport-row,
    .contact-row {
        gap: var(--spacing-1);
    }
}
